OPS 6: 您如何缓解部署风险?
采用提供快速质量反馈,并且若更改没有达到目标成效,则支持快速恢复的方法。使用这些实践可以减轻因部署更改而产生的问题的影响。
资源
Deep Dive on Advanced Continuous Delivery Techniques Using AWS
AWS Developer Tools
AWS CodeDeploy User Guide
Try a Sample Blue/Green Deployment in AWS CodeDeploy
最佳实践:
-
针对不成功的更改制定计划: 制定计划,以便在变更没有达到目标成效时在生产环境中恢复到已知良好状态,或者进行修复。做好充分的准备,以备快速响应,最大限度缩短回滚时间。
-
测试并验证变更: 在所有生命周期阶段测试更改并验证结果,以便确认新功能并尽可能减少部署失败的风险和影响。
-
使用部署管理系统: 使用部署管理系统来跟踪并实施更改。这可以减少手动过程引起的错误,并减少部署更改的工作量。
-
使用有限部署进行测试: 在全面部署之前使用现有系统和灰度发布进行测试,以便确认所需成果。例如使用 Canary 部署测试或一体化部署。
-
使用并行环境进行部署: 在并行环境中实施变更,然后过渡到新环境。保留之前的环境,直到确认部署成功为止。这样可以支持回滚到以前的环境,从而尽可能缩短恢复时间。
-
部署频繁、小规模、可逆的更改: 频繁进行可逆的小规模更改可以缩小变更的范围。这样可以简化故障排除工作、加快修复速度,并支持回滚更改。
-
完全自动化集成和部署: 实现自动构建、部署和测试工作负载。这可以减少手动过程引起的错误,并减少部署更改的工作量。
-
自动测试和回滚: 自动测试部署的环境以便确认目标效果。在没有达到预期时自动回滚到之前的已知良好状态,尽可能缩短恢复时间,并减少手动过程引起的错误。
改进计划
针对不成功的更改制定计划
测试并验证变更
AWS Cloud9
What is AWS Cloud9?
How to test and debug AWS CodeDeploy locally before you ship your code
使用部署管理系统
Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
What is AWS CodeDeploy?
What is AWS Elastic Beanstalk?
What is Amazon API Gateway?
使用有限部署进行测试
Working with deployment configurations in AWS CodeDeploy
Blue/Green deployments with AWS Elastic Beanstalk
Set up an API Gateway canary release deployment
使用并行环境进行部署
Working with deployment configurations in AWS CodeDeploy
Blue/Green deployments with AWS Elastic Beanstalk
Set up an API Gateway canary release deployment
部署频繁、小规模、可逆的更改
完全自动化集成和部署
What is AWS CodeBuild?
Continuous integration best practices for software development
Slalom: CI/CD for serverless applications on AWS
Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
What is AWS CodeDeploy?
自动测试和回滚
Redeploy and roll back a deployment with AWS CodeDeploy