REL08-BP05 Deploy changes with automation
Deployments and patching are automated to eliminate negative impact.
Making changes to production systems is one of the largest risk areas for many organizations. We consider deployments a first-class problem to be solved alongside the business problems that the software addresses. Today, this means the use of automation wherever practical in operations, including testing and deploying changes, adding or removing capacity, and migrating data. AWS CodePipeline lets you manage the steps required to release your workload. This includes a deployment state using AWS CodeDeploy to automate deployment of application code to Amazon EC2 instances, on-premises instances, serverless Lambda functions, or Amazon ECS services.
Recommendation
Although conventional wisdom suggests that you keep humans in the loop for the most difficult operational procedures, we suggest that you automate the most difficult procedures for that very reason.
Common anti-patterns:
-
Manually performing changes.
-
Skipping steps in your automation through emergency work flows.
-
Not following your plans.
Benefits of establishing this best practice: Using automation to deploy all changes removes the potential for introduction of human error and provides the ability to test before changing production to ensure that your plans are complete.
Level of risk exposed if this best practice is not established: Medium
Implementation guidance
Automate your deployment pipeline. Deployment pipelines allow you to invoke automated testing and detection of anomalies, and either halt the pipeline at a certain step before production deployment, or automatically roll back a change.
-
The Amazon Builders' Library: Ensuring rollback safety during deployments
-
The Amazon Builders' Library: Going faster with continuous delivery
-
Use AWS CodePipeline (or a trusted third-party product) to define and run your pipelines.
-
Configure the pipeline to start when a change is committed to your code repository.
-
Use Amazon Simple Notification Service (Amazon SNS) and Amazon Simple Email Service (Amazon SES) to send notifications about problems in the pipeline or integrate with a team chat tool, like Amazon Chime.
-
-
-
Resources
Related documents:
Related videos: