SDP AWS DevOps Competency Technical Controls Calibration Guide
SDP AWS DevOps Competency Technical Controls Calibration Guide
1
Unacceptable/Insufficient Information ................................................................................................... 13
2
How can you implement this? .................................................................................................................... 21
Good Example Response .............................................................................................................................. 21
Unacceptable/Insufficient Information ................................................................................................... 22
Resources .................................................................................................................................... 25
Notices ......................................................................................................................................... 25
3
Introduction
This calibration guide is intended for AWS services path partners who have applied or
are interested in the Amazon Web Services (AWS) DevOps Competency program. This
guide only covers controls under the section of “AWS DevOps Specific Requirements”
and the “Common Customer Example Requirements” are addressed in a separate
guide.
The calibration guide has case study qualification, case study examples, and deep-dive
for each technical control. It provides clarity on the expected level of details for
requested evidence. It helps partner improve application quality and reduce cycle
time during the technical validation process. Additionally, partners can use the best
practices in this technical guide to improve their DevOps service offerings.
4
DevOps Case Study Qualification
Partners need to provide 4 qualified DevOps case studies as part of the Competency
application. Use cases focus on just delivering CI/CD projects to customers do not
qualify. Instead, we are looking for case studies which transform customer’s DevOps
practice/approach to AWS Cloud-based infrastructure as code. These projects involve
business transformation and technical process transformation. Partners need to
demonstrate established DevOps consulting best practice and process documents for
customer engagement. Specifically,
• Case study leverages the AWS DevOps Reference Architecture for the 4 stages
of the deployment pipeline – source, build, test, prod
• Case study leverages AWS compute, storage, or network services and essential
cloud management toolsets such as AWS CloudWatch for resource monitoring
and AWS CloudTrail for logging in conjunction
• Case study uses key AWS services AWS CodePipeline, AWS CodeBuild, AWS
CodeDeploy, AWS CodeStar, AWS CodeCommit, Amazon Elastic Container
Service, AWS Lambda, AWS CloudFormation, AWSOpsWorks, AWS Config,
Amazon EC2 Systems Manager, AWS Elastic Beanstalk, AWS X-Ray
• Case study can leverage 3rd party tools for components of development cycle
including Configuration Management, Container Services, and CI/CD
The application does not handle spikes in user traffic and leads to 3-4 outages every
month. This resulted in poor customer experience and loss in revenue. Standardize and
automate infrastructure creation with infrastructure as code using Terraform. All
infrastructure changes go through a CI/CD pipeline that applies quality, security and
policy checks on any infrastructure changes. Automated the AMI creation for all the 30
applications that make up the website. We were then able to implement auto scaling
using the "Golden AMIs". Auto-scaling was configured with a dynamic scaling policy
that uses the Amazon CloudWatch CPUUtilization metric to add capacity when the
instance exceeds 90 percent utilization for a specified length of time. On an average
there were 2-3 issues with every release related to configuration differences between
prod and non-prod. All the non-prod and prod environments were standardized by
IaC. This led to zero production issues related to misconfigurations. Implemented auto-
scaling with a dynamic scaling policy that uses the Amazon CloudWatch CPUUtilization
metric to add capacity when the instance exceeds 90 percent utilization for a specified
5
length of time. The auto-scaling capabilities of the infrastructure led to a reduction of
cloud spend by 200K per month as compute is dynamically allocated based on
customer demand.
Customer is unable to meet the business demand to deliver features faster. Current
development and delivery process follow waterfall approach where quality and security
checks are executed as a final check before changes are deployed to production. Any
issues caught at this time are expensive to fix and some changes are pushed accepting
the risk. About 80% of the production issues were preventable. AnyCompany
implemented a DevOps pipeline using AWS CodePipeline. The pipeline has integrated
quality (unit, functional, API, UI, performance) and security (software composition
analysis, Static code analysis, Dynamic security testing at runtime) checks. These tests
are triggered at every stage in the pipeline DEV, QA, Staging and Production. Few
checks like passwords/access key scans and few security checks happen early at the
developer IDE. Implemented parallel test execution against ephemeral environments
on AWS. Zero development related issues in production Release cycles significantly
improved from quarterly to weekly. Improved developer productivity as they don’t
have to spend time debugging unnecessary issues. Build ran 10 times faster; improved
from 60 mins to 6 mins as tests were executed in parallel 60% reduction on non-prod
environment cost as we implemented ephemeral environments.
6
PROC-001 - Customer Assessment of Internal
Organization
Requirement
• Align your assessment approach with DevOps principles and define criteria such
as collaboration and communication, agility and empowerment, automation and
tooling, CI/CD capabilities, and cross-functional integration.
• Conduct assessment on customer organization’s current structure, processes,
and culture. Consider workshops, interviews, surveys with various placeholders
to identify any gaps where DevOps practices can be approved.
• Analyze the assessment results for common challenges or pain points, as well as
any strength or existing DevOps practice.
• Develop actionable recommendations for improving organizational structure
and prioritize recommendations based on their potential impact and feasibility.
7
teams to present future state (to-be) with the principal objective of change the way
that the company develop, test, protect and deploy its software. This assessment
classified organizations in maturity categories (reactive-proactive-predictive) and levels
(baseline - repeatable - consistent - managed - optimized) based on 3 aspects: Culture,
process and tech. This way can define and action plan with specific roadmap for
working hand by hand with them.
Internally we also have a structure for approaching different kind of sizes and
complexity and based on this define for small teams a focal DevOps role in a pod, for
organizations with more teams we define a specific DevOps Pod centralizing all the
need of other pods/teams, for complex and bigger organizations we define a DevOps
chapter and communities with the objective to synchronize technologies and ideas in a
common way.
Unacceptable/Insufficient Information
8
and compliance checks help customers meet their regulatory or governance
obligations.
• Develop a roadmap that outlines the steps and initiatives required for the
DevOps transformation. Consider any potential challenges/resistance to
change and develop strategies to address them.
• Communicate the roadmap vision of the DevOps transformation to all
stakeholders by explaining the benefits, rationale and expected outcomes.
• Provide trainings and resources (workshops, seminars, hands-on sessions) on
relevant tools, processes, and best practices.
• Implement changes incrementally, starting with pilot or less complex projects.
Use KPIs aligned with DevOps goals such as deployment frequency, lead time,
and customer satisfaction, etc to identify success and/or areas of improvement
when scaling up the change implementation.
Additionally, we work with customer to build with the client a Change management
process during the development life cycle based on assessment of customer’s internal
organization. This helps to identify the scope of a change initiative, and a single
threaded owner to align cross-functional resources and champions of the change
objective. Ultimately, it led to organization efficiency with DevOps projects. (partner
attached one customer example detail)
Unacceptable/Insufficient Information
9
Developers and systems administrators should have an easy way to create and manage
a collection of related AWS resources, provisioning and updating them in an orderly
and predictable fashion.
AWS Partner has methodologies leveraging templated infrastructure provisioning for
repeatable deployments. This can include using AWS CloudFormation or leveraging a
Technology Partner solution to provision, secure, connect, and run solution
infrastructure.
10
Unacceptable/Insufficient Information
AWS Partner has process to automatically collect software inventory, apply OS patches,
create system images, and configure Windows and Linux operating systems. If EC2
Systems manager is not leveraged, Partner can show documented processes and
provide technical demonstration for how configurations and infrastructure updates are
managed, and the methods used to automate these functions.
11
examples X, Y. We use AWS Systems Manager to collect software inventory data, apply
OS Patches and run maintenance tasks using SSM Automation Documents. The basic
configuration of the Systems Manager is deployed via Landing Zone / Control Tower.
It deploys CloudFormation Templates which sets up the resource data sync to a central
account / bucket, maintenance windows for automated Instance patching via Instance
Tags. The attached document is what we provide to the client about best practices and
AWS tooling for guiding how to manage configurations and infrastructure updates in
our Configuration Management Practices.
Unacceptable/Insufficient Information
With policy as a code, customers can continuously monitor and enforce compliance
throughout software delivery lifecycles. Any policy violations can be identified early,
enabling prompt remediation and reducing compliance risks without relying solely on
manual checks.
12
• Choose Policy as code tools such as AWS Config Rules, CloudFormation Guard,
and other tools can be used to manage policies.
• Define, validate, and deploy policy rules to enforce access control, resource
configurations, and compliance requirements with conditions and actions for
the specifics resources.
• Set up automated policy evaluation and remediation actions. Configure AWS
Config to stream configuration changes and notifications to an Amazon SNS
topic.
AnyCompany has mature process for policy as a code where we use AWS Config to set
up and monitor the compliance status of AWS resources. Specifically, we set up AWS
Config rules for automatic remediations for violations like unencrypted S3 Buckets or
unrestricted Remote Access in place. We send the configuration snapshots to a central
log archive account which it can be further analyzed. The account owner takes further
steps to review and fix the found config violations if needed. Additionally, we use
Landing Zone / Control Tower to rollout things like Config and CloudTrail to all account
and use SCPs to ensure that those settings can’t be altered or disabled.
We share the best practices on how to set up and use AWS Config with our clients. See
attached document and screenshots on how AWS Config is implemented. (Partner
attached documents).
Unacceptable/Insufficient Information
AWS Partner has processes to build, test, and deploy code every time there is a code
change, based on pre-defined release process models. AWS Partner may leverage AWS
CodePipeline or equivalent.
13
release models. must be in the form of process documentation describing software
release process and examples of how AWS Partner teaches customer how to build
software release models.
• Decide on the deployment strategy that suites the application such as blue-
green deployments, canary deployments, or rolling deployments by considering
downtime tolerance, scalability, and risk mitigation.
• Determine the structure of your release pipeline. Leverage tools such as AWS
CodePipeline to connect the stages of your release workflow.
• Map out the flow of the pipeline including code repositories (AWS CodeCommit,
GitHub, etc), build and test stages (AWS CodeBuild), and deployment targets
(AWS CodeDeploy).
Unacceptable/Insufficient Information
14
AWS Partner has processes to compile source code, run tests, and produce software
packages that are ready to deploy. As part of this process, AWS Partner has processes
that support provisioning, managing, and scaling servers according to needs. AWS
Partners may leverage AWS CodeBuild or equivalent.
Having a process to build and test code enables early bug detection, ensures code
quality and supports continuous integration and improvement.
15
Unacceptable/Insufficient Information
A simple description on how partners build and test code without process documents
or how it is used in customer example is not acceptable.
AWS Partner has expertise in implementing source control as part of DevOps practice.
Source control systems provide version control capabilities, allow developers to work
on different features concurrently, and maintain a clear history of all modifications.
16
• Monitor and review code changes. Set up notifications or integrations with
tools like AWS SNS or AWS Lambda about code changes, commits or pull
requests.
Unacceptable/Insufficient Information
AWS Partner has evaluated and has methodologies to build and deploy microservices
architectures leveraging containers or serverless computing.
17
How can you implement this?
18
AWS Partner has methodologies leveraging essential cloud and network monitoring
services such as Amazon CloudWatch.
Evidence must be in the form of established monitoring, customer metrics, logs, alarms,
and dashboards with description for how/why these items are recommended to
customers transforming to DevOps approaches.
Implementing cloud and network monitoring into DevOps practice helps customers
with infrastructure visibility and identify issues to drive ongoing improvement.
Unacceptable/Insufficient Information
19
PRMLO-002 - Distributed Tracing
Requirement
AWS Partner has methodologies leveraging AWS X-Ray to Analyze and debug
production, distributed applications.
Evidence must be in the form of detailed description of use with at least one customer
example. If AWS X-Ray is not leveraged, AWS Partner can describe appropriate use
cases and alternative ways this is accomplished
Distributed tracing provides customer end-to-end visibility into the request flow
across complex applications. It also enables root cause analysis during incident
management and debugging process.
• Instrument your application by installing AWS X-Ray SDK or use an AWS X-Ray
compatible library in your application’s code.
• Enable X-Ray tracing and ensure the trace context is propagated across different
AWS services. For example, AWS Lambda and Amazon API Gateway can be
automatically instrumented with AWS X-ray.
• Analyze the traced data to understand the behaviours and identify performance
issues within customer’s application, Utilize the X-ray visualization such as
service maps and timelines, to pinpoint areas that require optimization.
We leverage AWS X-Ray to analyze and debug the production applications across
microservices such as Lambda Functions and Step functions via AWS CDK. Additionally,
we work with customers to incorporate distributed tracing to their preferred tools such
as Splunk, Dynatrace if needed. See attached a customer example where we used a
combination of both. (Partner attached snapshots of specific customer example).
Unacceptable/Insufficient Information
20
A simple description on monitoring without dashboard or snapshots of how it’s used
for customer examples is not acceptable.
AWS Partner has methodologies for API and Activity usage tracking via AWS CloudTrail
to record AWS API calls and deliver log files.
Evidence must be in the form of two (2) of four (4) customer examples with description
for how/why these items are recommended to customers transforming to DevOps
approaches.
You can help customer make data-driven decisions for capacity planning and
billing/cost optimization by leveraging insights and analytics for usage trend/
patterns from API tracking.
• Enable AWS CloudTrail for your AWS account or specific regions where
customers application is deployed.
• Configure CloudTrail setting to captures API activity of specific AWS services
including S3 bucket where CloudTrail logs will be stored, log file encryption, and
CloudWatch logs integration.
• Extract relevant data from CloudTrail logs using AWS CLI, AWS SDKs to gain
insights of API activity and track usage patterns. Leverage AWS CloudTrail
Insights or 3rd party log analysis tool to analyze API calls, source IP addresses,
timestamps, etc.
Any Company has a mature methodology and practices for tracking and monitoring
applications/APIs. We deploy CloudTrail in every AWS Account we manage via Landing
Zone or Control Tower to monitor API Activity for Multi-Tenant services. All Logs are
stored in a central AWS Account where it can be analyzed with QuickSight. The
CloudTrail Logs are also replicated into a CloudWatch log group and all activities are
21
integrated into GuardDuty and Amazon Inspector. Findings are push to our centralized
event management tool, allowing notification and elevation notices to customer
stakeholder teams. We provided some details/snapshops of CloudTrail events and API
requests related with two customer examples (partners attached snapshots).
Unacceptable/Insufficient Information
AWS Partner has deep understanding of and leverages AWS Elastic Beanstalk as an
orchestration platform to handle deployments from capacity provisioning, load
balancing, auto-scaling to application health monitoring. If an alternate such as Heroku
is leveraged, AWS Partner to describe reasons for leveraging alternative(s).
Evidence must be in the form of demonstration and description of PaaS as part of AWS
Partner’s DevOps strategy.
By leveraging orchestration tools, you can automate and streamline the deployment
of customer web applications.
Identify the orchestration platform to run and manage web apps based on scalability,
customizability, integration with other AWS services, and complexity of the web
applications. To leverage AWS Elastic Beanstalk,
22
depending on the platform and technology you are using. Refer to tutorial and
samples.
• Create an Elastic Beanstalk environment and configure environment variables,
database connections, caching options and logging settings.
• Monitor web application metrics, events, and environment status with Elastic
Beanstalk console, APIs, or Elastic Beanstalk CLI after deployment. Leverage
the built-in auto scaling and load balancing capabilities to ensure performance
health and cost optimization.
AnyCompany understands the benefits of PaaS like AWS Elastic Beanstalk where we
can orchestrate Web application deployment with just a few clicks. This can free
developers from deployment-oriented tasks, such as provisioning servers, setting up
load balancing, or managing scaling, especially for customers who don’t have lots of
Cloud Computing expertise.
We choose AWS Elastic Beanstalk for all PoC work and also for production workloads
if it supports the application platform and environment variables required for the
customer application. See customer example A for more details. For scenarios where
AWS Elastic Beanstalk is not suited for the customer business and/or complex
architecture requirements, we use CDK to build templates/platforms for more
customized controls on application deployment or server configurations. See customer
example A for more details.
AWS Partner ensures customers understand AWS security processes and technologies
as outlined here.
23
best practices early in development and as an ongoing part of the development and
operations process.
DevSecOps best practices help customers reduce the risk of security flaws being
introduced to the software and minimizes the effort required to remediate them later.
We incorporate security frameworks with a shift left approach, adding activities along
the software development lifecycle and through automation for seamless integration
of security with the business. From the AWS perspective we implement all kinds of
approaches to protect information and mitigate possible damage, from strong identity
foundation, enabling traceability, applying security to all layers, automating security
and protecting data in transit and at rest with AWS services and best practices
configuration. From the consulting perspective we have also developed AWS Well
Architected framework review where we cover the security pillar as guidelines and best
practices on the cloud adoption journey. We mainly help organizations to adopt
security practices by:
a. Build secure software using industry-recognized best practices.
b. Design secure applications by integrating security into the architecture
and infrastructure design.
c. Reduce software development costs with security by design, resulting in
fewer defects, vulnerabilities, and code fixes during production.
Additionally, in our Quality Engineering Studio, shift left is one of our testing
capabilities improving quality as early as possible seeking benefits as: reduce costs,
improve quality, improve efficiency and competitive advantage. (partner attached links
for documents)
Unacceptable/Insufficient Information
24
Resources
Visit AWS Specialization Program Guide to get overview of the competency program.
Explore AWS Specialization Program Benefits to understand partner benefits.
Visit How to build a microsite to understand on building a Practice/solution page
Check out How to build an architecture diagram to build an architecture diagrams.
Learn about Well Architected Framework on Well Architected Website
Notices
Partners are responsible for making their own independent assessment of the
information in this document. This document: (a) is for informational purposes only,
(b) represents current AWS product offerings and practices, which are subject to
change without notice, and (c) does not create any commitments or assurances from
AWS and its affiliates, suppliers or licensors. AWS products or services are provided
“as is” without warranties, representations, or conditions of any kind, whether express
or implied. The responsibilities and liabilities of AWS to its customers and partners are
controlled by AWS agreements, and this document is not part of, nor does it modify,
any agreement between AWS and its customers/partners.
25