

# SUS 6 Comment vos processus organisationnels soutiennent-ils vos objectifs de durabilité ?
<a name="sus-06"></a>

Recherchez des opportunités de réduire votre impact en matière de durabilité modifiant vos pratiques de développement, de test et de déploiement. 

**Topics**
+ [SUS06-BP01 Adopter des méthodes qui peuvent rapidement présenter des améliorations en matière de durabilité](sus_sus_dev_a2.md)
+ [SUS06-BP02 Garder votre charge de travail à jour](sus_sus_dev_a3.md)
+ [SUS06-BP03 Augmenter l'utilisation de vos environnements de compilation](sus_sus_dev_a4.md)
+ [SUS06-BP04 Utiliser des tests Device Farms gérés](sus_sus_dev_a5.md)

# SUS06-BP01 Adopter des méthodes qui peuvent rapidement présenter des améliorations en matière de durabilité
<a name="sus_sus_dev_a2"></a>

Adoptez des méthodes et des processus pour valider les améliorations potentielles, minimiser les coûts des tests et apporter de petites améliorations.

 **Anti-modèles courants :** 
+  L'examen de la durabilité de votre application est une tâche qui n'est effectuée qu'une seule fois au début d'un projet. 
+  Votre charge de travail est devenue obsolète, car le processus de lancement est trop lourd pour introduire des changements mineurs dans un souci d'efficacité des ressources. 
+  Vous ne disposez pas de mécanismes pour améliorer votre charge de travail afin d'atteindre davantage de durabilité. 

 **Avantages liés au respect de cette bonne pratique :** en établissant un processus pour introduire et suivre les améliorations de la durabilité, vous serez en mesure d'adopter continuellement de nouvelles fonctionnalités et capacités, de supprimer les problèmes et d'améliorer l'efficacité de la charge de travail. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** moyen 

## Directives d'implémentation
<a name="implementation-guidance"></a>

 Testez et validez les améliorations potentielles en matière de durabilité avant de les déployer en production. Tenez compte du coût des tests lors du calcul des avantages futurs potentiels d'une amélioration. Développez des méthodes d'essai à faible coût pour apporter de petites améliorations. 

 **Étapes d'implémentation** 
+  Ajoutez les exigences relatives à l'amélioration de la durabilité à votre liste de tâches de développement en attente. 
+  Utilisez un [processus d'amélioration](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/improvement-process.html) itératif pour identifier, évaluer, hiérarchiser, tester et déployer ces améliorations. 
+  Améliorez et rationalisez en permanence vos processus de développement. À titre d'exemple, [automatisez votre processus de livraison de logiciels en utilisant des pipelines d'intégration et de livraison continues (CI/CD)](https://aws.amazon.com/getting-started/hands-on/set-up-ci-cd-pipeline/) pour tester et déployer les améliorations potentielles afin de réduire le niveau d'effort et de limiter les erreurs causées par les processus manuels. 
+  Développez et testez les améliorations potentielles en utilisant les composants représentatifs viables minimum afin de réduire le coût des tests. 
+  Évaluez en permanence l'impact des améliorations et procédez aux ajustements nécessaires. 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [AWS active des solutions de durabilité](https://aws.amazon.com/sustainability/) 
+ [ Scalable agile development practices based on AWS CodeCommit](https://aws.amazon.com/blogs/devops/scalable-agile-development-practices-based-on-aws-codecommit/) (Pratiques de développement agiles et évolutives basées sur AWS CodeCommit)

 **Vidéos connexes :** 
+ [Delivering sustainable, high-performing architectures](https://www.youtube.com/watch?v=FBc9hXQfat0) (Offre d'architectures durables hautement performantes)

 **Exemples connexes :** 
+  [Well-Architected Lab - Turning cost & usage reports into efficiency reports](https://www.wellarchitectedlabs.com/sustainability/300_labs/300_cur_reports_as_efficiency_reports/) (Atelier Well-Architected : transformer les rapports de coût et d'utilisation en rapports d'efficacité) 

# SUS06-BP02 Garder votre charge de travail à jour
<a name="sus_sus_dev_a3"></a>

Maintenez votre charge de travail à jour pour adopter des fonctionnalités efficaces, supprimer les problèmes et améliorer l'efficacité globale de votre charge de travail. 

 **Anti-modèles courants :** 
+ Vous supposez que votre architecture actuelle est statique et ne sera pas mise à jour au fil du temps.
+  Vous ne disposez pas de systèmes ou de rythme régulier pour évaluer la compatibilité des packages et des logiciels mis à jour avec votre charge de travail. 

 **Avantages liés au respect de cette bonne pratique :** en mettant en place un processus pour maintenir votre charge de travail à jour, vous pouvez adopter de nouvelles fonctionnalités et capacités, résoudre les problèmes et améliorer l'efficacité de la charge de travail.

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>

 Des systèmes d'exploitation, des moteurs d'exécution, des logiciels intermédiaires, des bibliothèques et des applications à jour peuvent améliorer l'efficacité de la charge de travail et faciliter l'adoption de technologies plus efficaces. Les logiciels à jour peuvent également inclure des fonctions permettant de mesurer plus précisément l'impact en matière de durabilité de votre charge de travail, car les fournisseurs proposent des fonctions pour atteindre leurs propres objectifs de durabilité. Adoptez une cadence régulière pour maintenir votre charge de travail à jour avec les dernières fonctionnalités et versions. 

 **Étapes d'implémentation** 
+  Définissez un processus et un calendrier pour évaluer les nouvelles fonctionnalités ou instances pour votre charge de travail. Profitez de l'agilité du cloud pour tester rapidement en quoi les nouvelles fonctionnalités peuvent permettre à votre charge de travail de : 
  +  Réduire les impacts sur la durabilité. 
  +  Gagner en efficacité de la performance. 
  +  Supprimer les obstacles à une amélioration planifiée. 
  +  Améliorer votre capacité à mesurer et à gérer les impacts en matière de durabilité. 
+  Établissez l'inventaire de votre logiciel de charge de travail et de l'architecture, et identifiez les composants pouvant être mis à jour. 
  +  Utilisez [AWS Systems Manager Inventory](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html) pour récupérer les métadonnées des systèmes d'exploitation, des applications et des instances issues de vos instances Amazon EC2 et rapidement connaître les instances exécutant le logiciel, les configurations requises par votre politique de logiciel et les instances devant être mises à jour. 
+  Comprenez comment mettre à jour les composants de votre charge de travail.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/wellarchitected/2023-10-03/framework/sus_sus_dev_a3.html)
+  Utilisez l'automatisation pour le processus de mise à jour afin de réduire le niveau d'effort nécessaire au déploiement des nouvelles fonctionnalités et de limiter les erreurs causées par les processus manuels. 
  +  Vous pouvez utiliser [CI/CD](https://aws.amazon.com/blogs/devops/complete-ci-cd-with-aws-codecommit-aws-codebuild-aws-codedeploy-and-aws-codepipeline/) pour mettre automatiquement à jour les AMI, les images de conteneurs et d'autres artefacts liés à votre application cloud. 
  +  Vous pouvez utiliser des outils tels que [AWS Systems ManagerPatch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) pour automatiser le processus de mise à jour du système, et programmer l'activité à l'aide des [Fenêtres de maintenance AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture) 
+  [Quelles sont les nouveautés AWS ?](https://aws.amazon.com/new/?ref=wellarchitected&ref=wellarchitected) 
+  [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) 

 **Exemples connexes :** 
+  [Ateliers Well-Architected : inventaire et gestion des correctifs](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_inventory_patch_management/) 
+  [Atelier : AWS Systems Manager](https://mng.workshop.aws/ssm.html) 

# SUS06-BP03 Augmenter l'utilisation de vos environnements de compilation
<a name="sus_sus_dev_a4"></a>

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
<a name="implementation-guidance"></a>

 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
<a name="resources"></a>

 **Documents connexes :** 
+  [Gestionnaire de sessions AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) 
+  [Instances Amazon EC2 de performance à capacité extensible](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) 
+  [Qu'est-ce qu'AWS CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+ [ Qu'est-ce que AWS CodeBuild ? ](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)
+ [ Instance Scheduler sur AWS](https://aws.amazon.com/solutions/implementations/instance-scheduler-on-aws/)

 **Vidéos connexes :** 
+ [ Continuous Integration Best Practices ](https://www.youtube.com/watch?v=77HvSGyBVdU) (Bonnes pratiques d'intégration continue)

# SUS06-BP04 Utiliser des tests Device Farms gérés
<a name="sus_sus_dev_a5"></a>

Utilisez les Device Farms gérés pour tester efficacement une nouvelle fonctionnalité sur un ensemble représentatif de matériel.

 **Anti-modèles courants :** 
+  Vous testez et déployez manuellement votre application sur des appareils physiques individuels. 
+  Vous n'utilisez pas le service de test d'applications pour tester et interagir avec vos applications (par exemple, les applications Android, iOS et Web) sur des appareils physiques réels. 

 **Avantages liés au respect de cette bonne pratique :** l'utilisation de Device Farms gérés pour tester les applications basées sur le cloud présente un certain nombre d'avantages : 
+  la solution comprend des fonctionnalités plus efficaces pour tester l'application sur de nombreux appareils différents. 
+  Elle élimine la nécessité d'une infrastructure interne pour les essais. 
+  Elle permet l'utilisation de divers types d'appareils, y compris des matériels plus anciens et moins populaires, ce qui élimine le besoin de mises à niveau inutiles des appareils. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>

L'utilisation de Device Farms gérés peut vous aider à rationaliser le processus de test des nouvelles fonctionnalités sur un ensemble représentatif de matériel. Les tests Device Farms gérés proposent divers types d'appareils , notamment du matériel plus ancien et moins courant, et permettent d'éviter que les mises à niveau inutiles d'appareils affectent la durabilité des clients.

 **Étapes d'implémentation** 
+  Définissez vos exigences et votre plan de test (comme le type de test, les systèmes d'exploitation et le calendrier des tests). 
  +  Vous pouvez utiliser [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) pour collecter et analyser les données côté client et élaborer votre plan de test. 
+  Sélectionnez le Device farm géré qui peut prendre en charge vos exigences de test. Par exemple, vous pouvez utiliser [AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) pour tester et comprendre l'impact de vos changements sur un ensemble représentatif de matériel. 
+  Utilisez l'intégration continue/déploiement continu (CI/CD) pour programmer et exécuter vos tests. 
  + [ Integrating AWS Device Farm with your CI/CD pipeline to run cross-browser Selenium tests ](https://aws.amazon.com/blogs/devops/integrating-aws-device-farm-with-ci-cd-pipeline-to-run-cross-browser-selenium-tests/) (Intégrer AWS Device Farm à votre pipeline CI/CD pour exécuter des tests Selenium inter-navigateurs)
  + [ Building and testing iOS and iPadOS apps with AWS DevOps and mobile services ](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) (Créer et tester des applications iOS et iPadOS avec AWS DevOps et les services mobiles)
+  Examinez continuellement les résultats de vos tests et apportez les améliorations nécessaires. 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+ [ Liste des appareils AWS Device Farm](https://awsdevicefarm.info/)
+ [ Affichage du tableau de bord CloudWatch RUM ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-view-data.html)

 **Exemples connexes :** 
+ [AWS Device Farm Sample App for Android ](https://github.com/aws-samples/aws-device-farm-sample-app-for-android) (Application type Device Farm pour Android)
+ [AWS Device Farm Sample App for iOS ](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios) (Application type Device Farm pour iOS)
+ [ Appium Web tests for AWS Device Farm](https://github.com/aws-samples/aws-device-farm-sample-web-app-using-appium-python) (Tests Web Appium pour AWS Device Farm)

 **Vidéos connexes :** 
+ [ Optimiser les applications grâce à la connaissance de l'utilisateur final avec Amazon CloudWatch RUM ](https://www.youtube.com/watch?v=NMaeujY9A9Y)