SUS06-BP03 Augmenter l'utilisation de vos environnements de compilation
Augmentez l'utilisation des ressources pour développer, tester et construire vos charges de travail.
Anti-modèles courants :
-
Vous provisionnez ou résiliez manuellement vos environnements de construction.
-
Vous faites fonctionner vos environnements de construction indépendamment des activités de test, de construction ou de lancement (par exemple, en faisant fonctionner un environnement en dehors des heures de travail des membres de votre équipe de développement).
-
Vous provisionnez trop de ressources pour vos environnements de construction.
Avantages liés au respect de cette bonne pratique : en augmentant l'utilisation des environnements de construction, vous pouvez améliorer l'efficacité globale de votre charge de travail dans le cloud tout en allouant les ressources aux constructeurs pour développer, tester et construire efficacement.
Niveau de risque exposé si cette bonne pratique n'est pas respectée : faible
Directives d'implémentation
Exploitez l'automatisation et l'infrastructure en tant que code pour mettre en place des environnements de construction lorsque cela est nécessaire et les arrêter lorsqu'ils ne sont pas utilisés. Un modèle courant consiste à planifier des périodes de disponibilité qui coïncident avec les heures de travail des membres de votre équipe de développement. Vos environnements de test doivent ressembler de près à la configuration de production. Toutefois, recherchez les possibilités d'utiliser des types d'instance avec une capacité de débordement, des instances Amazon EC2 Spot, des services de base de données à scalabilité automatique, des conteneurs et des technologies sans serveur pour aligner la capacité de développement et de test sur l'utilisation. Limitez le volume de données pour répondre aux exigences du test. Si vous utilisez des données de production dans les tests, étudiez les possibilités de partager les données de production et de ne pas déplacer les données à un autre emplacement.
Étapes d'implémentation
-
Utilisez l'infrastructure en tant que code pour provisionner vos environnements de construction.
-
Utilisez l'automatisation pour gérer le cycle de vie de vos environnements de développement et de test et maximiser l'efficacité de vos ressources de construction.
-
Utilisez des stratégies pour optimiser l'utilisation des environnements de développement et de test.
-
Utilisez des environnements représentatifs viables minimum pour développer et tester les améliorations potentielles.
-
Utilisez les technologies sans serveur si possible.
-
Utilisez des instances à la demande pour compléter les appareils de vos développeurs.
-
Utilisez des types d'instance à capacité de débordement, des instances Spot et d'autres technologies pour harmoniser la capacité de création et l'utilisation.
-
Adoptez des services natifs du cloud pour l'accès à un shell d'instance sécurisé plutôt que de déployer des flottes d'hôtes bastion.
-
Mettez automatiquement à l'échelle vos ressources de construction en fonction de vos tâches de construction.
-
Ressources
Documents connexes :
Vidéos connexes :
-
Continuous Integration Best Practices
(Bonnes pratiques d'intégration continue)