OPS05-BP04 Utiliser des systèmes de gestion du développement et du déploiement - AWS Well-Architected Framework

OPS05-BP04 Utiliser des systèmes de gestion du développement et du déploiement

Utilisez des systèmes de gestion du développement et du déploiement. Ces systèmes réduisent les erreurs causées par les processus manuels et diminuent le niveau d'effort nécessaire au déploiement des modifications.

Dans AWS, vous pouvez créer des pipelines d'intégration continue/de déploiement continu (CI/CD) à l'aide de services tels que les Outils pour développeurs AWS (par exemple, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeployet AWS CodeStar).

Résultat souhaité : Vos systèmes de gestion du développement et du déploiement prennent en charge le système d'intégration et de livraison continues (CI/CD) de votre entreprise, qui fournit des fonctionnalités permettant d'automatiser des déploiements sécurisés avec les configurations appropriées.

Anti-modèles courants :

  • Après avoir compilé votre code sur votre système de développement, vous copiez l'exécutable sur vos systèmes de production et il ne démarre pas. Les fichiers journaux locaux indiquent qu'il n'a pas fonctionné en raison de dépendances manquantes.

  • Vous créez avec succès votre application avec de nouvelles fonctionnalités dans votre environnement de développement et soumettez le code à l'assurance qualité (QA). L'assurance qualité échoue, car il manque des ressources statiques.

  • Vendredi, après de nombreux efforts, vous avez réussi à créer manuellement votre application dans votre environnement de développement, y compris vos nouvelles fonctionnalités codées. Lundi, vous ne pouvez pas répéter les étapes qui vous ont permis de créer votre application avec succès.

  • Vous effectuez les tests que vous avez créés pour votre nouvelle version. Ensuite, vous passez la semaine suivante à configurer un environnement de test et à exécuter tous les tests d'intégration existants, suivis des tests de performances. Le nouveau code a un impact inacceptable sur les performances et doit être redéveloppé, puis retesté.

Avantages liés au respect de cette bonne pratique : En fournissant des mécanismes pour gérer les activités de construction et de déploiement, vous réduisez le niveau d'effort nécessaire pour effectuer des tâches répétitives, vous libérez les membres de votre équipe pour qu'ils puissent se concentrer sur leurs tâches créatives de grande valeur et vous limitez l'introduction d'erreurs provenant des procédures manuelles.

Niveau d'exposition au risque si cette bonne pratique n'est pas respectée : Moyen

Directives d'implémentation

Les systèmes de gestion du développement et du déploiement sont utilisés pour suivre et mettre en œuvre les modifications, réduire les erreurs causées par les processus manuels et limiter le niveau d'effort requis pour des déploiements sûrs. Automatisez entièrement le pipeline d'intégration et de déploiement à partir du code d'enregistrement et par le biais du développement, des tests, du déploiement et de la validation. Cela permet de réduire les délais, de diminuer les coûts, d'augmenter la fréquence des modifications, de limiter le niveau d'effort et d'accroître la collaboration.

Étapes d'implémentation

Schéma illustrant un pipeline CI/CD utilisant AWS CodePipeline et des services connexes

Schéma illustrant un pipeline CI/CD utilisant AWS CodePipeline et des services connexes

  1. Utilisez AWS CodeCommit pour contrôler les versions, stocker et gérer les ressources (tels que des documents, du code source et des fichiers binaires).

  2. Utilisez CodeBuild pour compiler votre code source, exécuter des tests unitaires et produire des artefacts prêts à être déployés.

  3. Utilisez CodeDeploy en tant que service de déploiement qui automatise les déploiements d'applications pour les instances Amazon EC2 , les instances sur site, les fonctions AWS Lambda sans serveurou Amazon ECS.

  4. Surveillez vos déploiements.

Ressources

Bonnes pratiques associées :

Documents connexes :

Vidéos connexes :