REL 8: Comment implémenter les modifications ?

Des modifications contrôlées sont nécessaires pour au moins deux raisons : déployer de nouvelles fonctionnalités et s'assurer que les charges de travail et l'environnement d'exploitation fonctionnent avec des logiciels connus et peuvent être corrigés ou remplacés de manière prévisible. Si les modifications ne sont pas contrôlées, il est difficile de prédire leur effet ou de résoudre les problèmes qui en découlent.

Ressources

AWS Summit 2019: CI/CD on AWS
What Is AWS CodePipeline?
What Is CodeDeploy?
Overview of a Blue/Green Deployment
Deploying Serverless Applications Gradually
The Amazon Builders' Library: Ensuring rollback safety during deployments
The Amazon Builders' Library: Going faster with continuous delivery
Well-Architected lab: Level 300: Testing for Resiliency of EC2 RDS and S3
CanaryRelease
AWS Marketplace: products that can be used to automate your deployments
APN Partner: partners that can help you create automated deployment solutions

Bonnes pratiques:

Plan d'amélioration

Utiliser des runbooks pour les activités standard telles que le déploiement

  • Obtenez des réponses cohérentes et rapides à des événements bien compris en documentant les procédures dans des runbooks.
    AWS Well-Architected Framework: Concepts: Runbook
  • Utiliser le principe de l'infrastructure-code pour définir votre infrastructure: En utilisant AWS CloudFormation ou un tiers de confiance pour définir votre infrastructure, vous pouvez utiliser le logiciel de contrôle de version pour suivre les modifications apportées à la version du logiciel.
  • Intégrer les tests fonctionnels dans le cadre de votre déploiement

  • Intégrer les tests fonctionnels dans le cadre de votre déploiement: Les tests fonctionnels sont exécutés dans le cadre du déploiement automatisé. Si les critères de réussite ne sont pas respectés, le pipeline est arrêté ou annulé.
  • Intégrer les tests de résilience dans le cadre de votre déploiement

  • Intégrer les tests de résilience dans le cadre de votre déploiement: Utilisez l'ingénierie du chaos qui est la discipline d'expérimentation d'une charge de travail afin d'améliorer votre confiance en la capacité de la charge de travail de supporter des conditions instables dans la production.
  • Déploiement à l'aide d'une infrastructure immuable

  • Déploiement à l'aide d'une infrastructure immuable: Déploiement à l'aide d'une approche d'infrastructure immuable telle que le déploiement bleu/vert ou Canary
    Overview of a Blue/Green Deployment
    Deploying Serverless Applications Gradually
    CanaryRelease
  • Déployer les modifications avec à l'automatisation

  • Automatiser votre pipeline de déploiement: Le déploiement des pipelines vous permet d'une part d'invoquer des tests automatisés et la détection des anomalies et, d'autre part, d'arrêter le pipeline à une certaine étape avant le déploiement en production ou de restaurer automatiquement l'environnement d'avant la modification.
    The Amazon Builders' Library: Ensuring rollback safety during deployments
    The Amazon Builders' Library: Going faster with continuous delivery