

# Logiciels et architecture
<a name="a-sus-software-architecture"></a>

**Topics**
+ [SUS 3 Comment tirer parti des modèles logiciels et d'architecture afin de soutenir vos objectifs de durabilité ?](sus-03.md)

# SUS 3 Comment tirer parti des modèles logiciels et d'architecture afin de soutenir vos objectifs de durabilité ?
<a name="sus-03"></a>

Mettez en œuvre des modèles permettant de lisser les charges et de conserver une haute utilisation constante des ressources déployées afin de réduire les ressources consommées. Les composants peuvent devenir inactifs s'ils ne sont pas utilisés à la suite de changements de comportement des utilisateurs dans le temps. Révisez les modèles et l'architecture afin de consolider les composants sous-utilisés et d'augmenter l'utilisation globale. Mettez hors service les composants qui ne sont plus nécessaires. Comprenez les performances des composants de vos charges de travail et optimisez les composants qui consomment le plus de ressources. Soyez conscient des appareils que vos clients utilisent pour accéder à vos services et mettez en œuvre des modèles qui réduisent le besoin de mettre à niveau ces appareils. 

**Topics**
+ [SUS03-BP01 Optimiser les logiciels et l’architecture pour les tâches asynchrones et planifiées](sus_sus_software_a2.md)
+ [SUS03-BP02 Supprimer ou refactoriser les composants de charges de travail faiblement utilisés ou inutilisés](sus_sus_software_a3.md)
+ [SUS03-BP03 Optimiser les sections de votre code qui consomment le plus de temps ou de ressources](sus_sus_software_a4.md)
+ [SUS03-BP04 Optimiser l’impact sur les appareils et les équipements](sus_sus_software_a5.md)
+ [SUS03-BP05 Utiliser des modèles logiciels et des architectures qui soutiennent au mieux l’accès aux données et les modèles de stockage.](sus_sus_software_a6.md)

# SUS03-BP01 Optimiser les logiciels et l’architecture pour les tâches asynchrones et planifiées
<a name="sus_sus_software_a2"></a>

Utilisez des modèles d’architecture et de logiciels efficaces comme ceux axés sur les files d’attente afin de maintenir une utilisation élevée et constante des ressources déployées.

 **Anti-modèles courants :** 
+  Vous mettez en service trop de ressources dans votre charge de travail cloud pour répondre aux pics imprévus de la demande. 
+  Votre architecture ne découple pas les expéditeurs et les destinataires de messages asynchrones par un composant de messagerie. 

 **Avantages liés au respect de cette bonne pratique :** 
+  Des modèles de logiciels et d’architecture efficaces réduisent les ressources inutilisées dans votre charge de travail et améliorent l’efficacité globale. 
+  Vous pouvez mettre à l’échelle le traitement indépendamment de la réception de messages asynchrones. 
+  Par le biais d’un composant de messagerie, vous avez assoupli les exigences de disponibilité auxquelles vous pouvez répondre avec moins de ressources. 

 **Niveau de risque exposé si cette bonne pratique n’est pas établie :** moyen 

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

 Utilisez des modèles d’architecture efficaces tels que [l’architecture axée sur les événements](https://aws.amazon.com/event-driven-architecture/) afin de bénéficier d’une utilisation uniforme des composants et réduire autant que possible le surprovisionnement dans votre charge de travail. L’utilisation de modèles d’architecture efficaces réduit au minimum les ressources inutilisées en raison des changements de la demande au fil du temps. 

 Comprenez les exigences des composants de votre charge de travail et adoptez des modèles d’architecture qui augmentent l’utilisation globale des ressources. Mettez hors service les composants qui ne sont plus nécessaires. 

### Étapes d’implémentation
<a name="implementation-steps"></a>
+  Analysez la demande pour votre charge de travail afin de déterminer comment y répondre. 
+  Pour les demandes ou les tâches qui ne nécessitent pas de réponses synchrones, utilisez des architectures axées sur les files d’attente et des agents de travail de mise à l’échelle automatique afin de maximiser l’utilisation. Voici quelques exemples de situations où vous pourriez envisager une architecture axée sur les files d’attente :     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/wellarchitected/2024-06-27/framework/sus_sus_software_a2.html)
+  Pour les demandes ou les tâches qui peuvent être traitées à tout moment, utilisez les mécanismes de planification afin de traiter les tâches par lots pour plus d’efficacité. Voici quelques exemples de planification des mécanismes sur AWS :     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/wellarchitected/2024-06-27/framework/sus_sus_software_a2.html)
+  Si vous utilisez des mécanismes d’interrogation et de webhooks dans votre architecture, remplacez-les par des événements. Utilisez des [architectures axées sur les événements](https://docs.aws.amazon.com/lambda/latest/operatorguide/event-driven-architectures.html) pour créer des charges de travail hautement efficaces. 
+  Utilisez le [sans serveur sur AWS](https://aws.amazon.com/serverless/) afin d’éliminer une infrastructure surprovisionnée. 
+  Dimensionnez les composants individuels afin d’éviter les ressources inactives attendant une entrée. 
  +  Vous pouvez utiliser les [recommandations de redimensionnement dans AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html) ou [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/) pour identifier les opportunités de redimensionnement. 
  +  Pour plus de détails, consultez [Dimensionnement approprié : allocation des instances en fonction des charges de travail](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html). 

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

 **Documents connexes :** 
+  [Qu’est-ce qu’Amazon Simple Queue Service ?](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 
+  [Qu’est-ce qu’Amazon MQ ?](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html) 
+  [Mise à l’échelle basée sur Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) 
+  [Qu’est-ce qu’AWS Step Functions ?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [Qu’est-ce qu’AWS Lambda ?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 
+  [Utilisation d’AWS Lambda avec Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 
+  [Qu’est-ce qu’Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 
+ [ Managing Asynchronous Workflows with a REST API ](https://aws.amazon.com/blogs/architecture/managing-asynchronous-workflows-with-a-rest-api/)

 **Vidéos connexes :** 
+ [AWS re:Invent 2023 - Navigating the journey to serverless event-driven architecture ](https://www.youtube.com/watch?v=hvGuqHp051c)
+ [AWS re:Invent 2023 - Using serverless for event-driven architecture & domain-driven design ](https://www.youtube.com/watch?v=3foMZJSPMI4)
+ [AWS re:Invent 2023 : Advanced event-driven patterns with Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)
+ [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future ](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [ Asynchronous Message Patterns \$1 AWS Events ](https://www.youtube.com/watch?v=-yJqBuwouZ4)

 **Exemples connexes :** 
+ [ Event-driven architecture with AWS Graviton Processors and Amazon EC2 Spot Instances ](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/event-driven-architecture-with-graviton-spot)

# SUS03-BP02 Supprimer ou refactoriser les composants de charges de travail faiblement utilisés ou inutilisés
<a name="sus_sus_software_a3"></a>

Supprimez les composants inutilisés et devenus inutiles, et refactorisez les composants peu utilisés afin de minimiser le gaspillage dans votre charge de travail.

 **Anti-modèles courants :** 
+  Vous ne vérifiez pas régulièrement le niveau d’utilisation des différents composants de votre charge de travail. 
+  Vous ne vérifiez pas et n’analysez pas les recommandations des outils de redimensionnement AWS tels que [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/). 

 **Avantages liés au respect de cette bonne pratique :** la suppression des composants inutilisés minimise le gaspillage et améliore l’efficacité globale de votre charge de travail dans le cloud. 

 **Niveau de risque exposé si cette bonne pratique n’est pas établie :** moyen 

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

 Passez en revue votre charge de travail pour identifier les composants inutilisés. Il s’agit d’un processus d’amélioration itératif qui peut être lancé par l’évolution de la demande ou la publication d’un nouveau service cloud. Par exemple, une baisse significative du temps d’exécution des fonctions [AWS Lambda](https://docs.aws.amazon.com/lambda/) peut être un indicateur de la nécessité de réduire la taille de la mémoire. De plus, à mesure que AWS publie de nouveaux services et de nouvelles fonctionnalités, les services et l’architecture optimaux pour votre charge de travail peuvent changer. 

 Surveillez en permanence l’activité de la charge de travail et recherchez les possibilités d’améliorer le niveau d’utilisation des différents composants. En supprimant les composants inutilisés et en effectuant des activités de redimensionnement, vous répondez aux besoins de votre entreprise avec le moins de ressources cloud possible. 

### Étapes d’implémentation
<a name="implementation-steps"></a>
+  Dressez un inventaire de vos ressources AWS. Dans AWS, vous pouvez activer [Explorateur de ressources AWS](https://docs.aws.amazon.com/resource-explorer/latest/userguide/welcome.html) pour explorer et organiser vos ressources AWS. Pour plus de détails, consultez [AWS re:Invent 2022 - How to manage resources and applications at scale on AWS](https://www.youtube.com/watch?v=bbgUnKq6PAU). 
+  Surveillez et capturez les métriques d’utilisation des composants critiques de votre charge de travail (comme l’utilisation du CPU, l’utilisation de la mémoire ou le débit du réseau dans les [métriques Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)). 
+  Identifiez les composants inutilisés ou sous-utilisés de votre architecture. 
  +  Pour les charges de travail stables, vérifiez les outils de redimensionnement AWS tels que [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/) à intervalles réguliers pour identifier les composants inactifs, inutilisés ou sous-utilisés. 
  +  Pour les charges de travail éphémères, évaluez les métriques d’utilisation pour identifier les composants inactifs, inutilisés ou sous-utilisés. 
+  Retirez les composants et les ressources associées (comme les images Amazon ECR) qui ne sont plus nécessaires. 
  + [ Automated Cleanup of Unused Images in Amazon ECR ](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/) (Nettoyage automatisé des images inutilisées dans Amazon ECR)
  + [ Suppression des volumes Amazon Elastic Block Store (Amazon EBS) inutilisés à l’aide d’AWS Config et d’AWS Systems Manager](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/delete-unused-amazon-elastic-block-store-amazon-ebs-volumes-by-using-aws-config-and-aws-systems-manager.html)
+  Refactorisez ou consolidez les composants sous-utilisés avec d’autres ressources pour améliorer l’efficacité de l’utilisation. Par exemple, vous pouvez provisionner plusieurs petites bases de données sur une seule instance de base de données [Amazon RDS](https://aws.amazon.com/rds/) au lieu d’exécuter des bases de données sur des instances individuelles sous-utilisées. 
+  Identifiez les [ressources provisionnées par votre charge de travail pour mener à bien une unité de travail](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/evaluate-specific-improvements.html). 

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

 **Documents connexes :** 
+ [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  [Qu’est-ce qu’Amazon CloudWatch ?](https://docs.aws.amazon.com/Amazon/latest/monitoring/WhatIs.html) 
+ [ Dimensionnement approprié : allocation des instances en fonction des charges de travail ](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)
+ [ Optimizing your cost with Rightsizing Recommendations ](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)

 **Vidéos connexes :** 
+ [AWS re:Invent 2023 - Capacity, availability, cost efficiency: Pick three ](https://www.youtube.com/watch?v=E0dYLPXrX_w)

 **Exemples connexes :** 
+ [ Optimiser les modèles matériels et observer les indicateurs de performance clés de durabilité ](https://catalog.workshops.aws/well-architected-sustainability/en-US/4-hardware-and-services/optimize-hardware-patterns-observe-sustainability-kpis)

# SUS03-BP03 Optimiser les sections de votre code qui consomment le plus de temps ou de ressources
<a name="sus_sus_software_a4"></a>

Optimisez votre code qui s’exécute dans les différents composants de votre architecture afin de minimiser l’utilisation des ressources tout en maximisant les performances.

 **Anti-modèles courants :** 
+  Vous ignorez l’optimisation de votre code pour l’utilisation des ressources. 
+  Vous répondez généralement aux problèmes de performance en augmentant les ressources. 
+  Votre processus de révision et de développement du code ne permet pas de suivre les variations de performance. 

 **Avantages liés au respect de cette bonne pratique :** l’utilisation d’un code efficace minimise l’utilisation des ressources et améliore les performances. 

 **Niveau de risque exposé si cette bonne pratique n’est pas établie :** moyen 

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

 Il est essentiel d’examiner chaque domaine fonctionnel, y compris le code d’une application conçue dans le cloud, pour optimiser l’utilisation des ressources et les performances. Surveillez en permanence les performances de votre charge de travail dans les environnements de construction et de production et identifiez les possibilités d’améliorer les extraits de code qui utilisent particulièrement bien les ressources. Adoptez un processus de révision régulier pour identifier les bogues ou les anti-modèles dans votre code qui utilisent les ressources de manière inefficace. Exploitez des algorithmes simples et efficaces qui produisent les mêmes résultats pour votre cas d’utilisation. 

## Étapes d’implémentation
<a name="implementation-steps"></a>
+ **Utilisez un langage de programmation efficace : ** utilisez un système d’exploitation et un langage de programmation efficaces pour la charge de travail. Pour obtenir plus de détails sur les langages de programmation économes en énergie (dont Rust), consultez la page [Sustainability with Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/) (La durabilité avec Rust). 
+  **Utilisez un assistant de programmation IA :** envisagez d’utiliser un assistant de programmation IA tel qu’[Amazon CodeWhisperer](https://aws.amazon.com/pm/codewhisperer/) pour écrire efficacement du code. 
+ **Automatisez les révisions de code :** pendant le développement de vos charges de travail, adoptez un processus de révision automatique du code pour améliorer la qualité et identifier les bogues et les anti-modèles. 
  + [ Automate code reviews with Amazon CodeGuru Reviewer ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/) (Automatiser les révisions de code avec Amazon CodeGuru Reviewer)
  + [ Detecting concurrency bugs with Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/) (Détection des bogues de concurrence avec Amazon CodeGuru)
  + [ Raising code quality for Python applications using Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/) (Améliorer la qualité du code des applications Python grâce à Amazon CodeGuru)
+ **Utilisez un profileur de code :** utilisez un profileur de code pour identifier les sections du code qui consomment le plus de temps ou de ressources, dans le but de les optimiser. 
  + [ Reducing your organization’s carbon footprint with Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/) (Réduire l’empreinte carbone de votre organisation avec Amazon CodeGuru Profiler)
  + [ Understanding memory usage in your Java application with Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/) (Comprendre l’utilisation de la mémoire dans votre application Java avec Amazon CodeGuru Profiler)
  + [ Improving customer experience and reducing cost with Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/) (Améliorer l’expérience client et réduire les coûts avec CodeGuru Profiler)
+  **Surveillez et optimisez :** utilisez des ressources de surveillance continue pour identifier les composants dont les besoins en ressources sont élevés ou dont la configuration n’est pas optimale. 
  +  Remplacez les algorithmes à forte intensité de calcul par des versions plus simples et plus efficaces qui produisent le même résultat. 
  +  Supprimez le code inutile tel que le tri et le formatage. 
+  **Utilisez la refactorisation ou la transformation du code :** explorez la possibilité d’utiliser la [transformation de code Amazon Q](https://aws.amazon.com/q/aws/code-transformation/) pour la maintenance et les mises à niveau des applications. 
  + [ Mise à niveau des versions linguistiques avec la transformation de code Amazon Q ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 - Automate app upgrades & maintenance using Amazon Q Code Transformation ](https://www.youtube.com/watch?v=LY76tak6Z1E)

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

 **Documents connexes :** 
+  [Qu’est-ce qu’Amazon CodeGuru Profiler ?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [Instances FPGA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [Les kits de développement logiciel (SDK) AWS sur les outils pour créer sur AWS](https://aws.amazon.com/tools/) 

 **Vidéos connexes :** 
+ [ Improve Code Efficiency Using Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw) (Améliorer l’efficacité du code grâce à Amazon CodeGuru Profiler)
+ [AWS re:Invent 2023 - Best practices for Amazon CodeWhisperer ](https://www.youtube.com/watch?v=F_dSkRHCXBc)
+ [ Automate Code Reviews and Application Performance Recommendations with Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I) (Automatiser les révisions de code et les recommandations sur les performances des applications avec Amazon CodeGuru)

 **Exemples connexes :** 
+ [Optimisation du code avec Amazon CodeGuru ](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/200-codeguru-lab)

# SUS03-BP04 Optimiser l’impact sur les appareils et les équipements
<a name="sus_sus_software_a5"></a>

Comprenez les appareils et les équipements utilisés dans votre architecture et employez des stratégies pour réduire leur utilisation. Cela peut minimiser l’impact environnemental global de votre charge de travail dans le cloud. 

 **Anti-modèles courants :** 
+  Vous ignorez l’impact environnemental des appareils utilisés par vos clients. 
+  Vous gérez et mettez à jour manuellement les ressources utilisées par les clients. 

 **Avantages liés au respect de cette bonne pratique :** la mise en œuvre de modèles et de fonctionnalités logicielles optimisés pour l’appareil du client peut réduire l’impact environnemental global de la charge de travail dans le cloud. 

 **Niveau de risque exposé si cette bonne pratique n’est pas établie:** moyen 

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

 La mise en œuvre de modèles et de fonctionnalités logicielles optimisés pour les appareils des clients peut réduire l’impact environnemental de plusieurs façons : 
+  La mise en œuvre de nouvelles fonctionnalités qui sont rétrocompatibles peut réduire le nombre de remplacements de matériel. 
+  L’optimisation d’une application pour qu’elle fonctionne efficacement sur les appareils peut contribuer à réduire leur consommation d’énergie et à prolonger leur durée de vie (s’ils sont alimentés par une batterie). 
+  L’optimisation d’une application pour les appareils peut également réduire le transfert de données sur le réseau. 

 Comprenez les appareils et les équipements utilisés dans votre architecture, leur cycle de vie prévu et l’impact du remplacement de ces composants. Mettez en œuvre des modèles et des fonctionnalités logicielles qui minimisent la consommation d’énergie de l’appareil, réduisent la nécessité pour les clients de remplacer l’appareil et aussi de le mettre à niveau manuellement. 

### Étapes d’implémentation
<a name="implementation-steps"></a>
+ **Réalisez un inventaire :** inventoriez les périphériques utilisés dans votre architecture. Il peut s’agir d’appareils mobiles, de tablettes, d’appareils IoT, de lampes intelligentes ou même d’appareils intelligents dans une usine. 
+ **Utilisez des appareils économes en énergie :** envisagez d’utiliser des appareils économes en énergie dans votre architecture. Utilisez les configurations de gestion de l’alimentation sur les appareils pour passer en mode faible consommation lorsqu’ils ne sont pas utilisés. 
+ **Exécutez des applications efficaces :** optimisez l’application exécutée sur les appareils : 
  +  utilisez des stratégies telles que l’exécution de tâches en arrière-plan pour réduire leur consommation d’énergie. 
  +  Prenez en compte la bande passante et la latence du réseau lorsque vous créez des charges utiles et intégrez des capacités qui aident vos applications à fonctionner correctement sur des liens à faible bande passante et à latence élevée. 
  +  Convertissez les charges utiles et les fichiers dans les formats optimisés requis par les appareils. Par exemple, vous pouvez utiliser [Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastic-transcoder/) ou [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) pour convertir des fichiers multimédias numériques volumineux et de haute qualité dans des formats que les utilisateurs peuvent lire sur des appareils mobiles, des tablettes, des navigateurs Web et des téléviseurs connectés. 
  +  Réalisez des activités gourmandes en calcul côté serveur (comme le rendu d’images) ou utilisez le streaming d’applications pour améliorer l’expérience utilisateur sur des appareils plus anciens. 
  +  Segmentez et paginez la sortie, en particulier, pour les séances interactives, afin de gérer les charges utiles et limiter les exigences en matière de stockage local. 
+ **Impliquez les fournisseurs :** travaillez avec des fournisseurs d’appareils qui utilisent des matériaux durables et assurent la transparence de leurs chaînes d’approvisionnement et de leurs certifications environnementales. 
+ **Utilisez les mises à jour par voie hertzienne (OTA) :** utilisez le mécanisme automatisé par voie hertzienne (OTA) pour déployer des mises à jour sur un ou plusieurs appareils. 
  +  Vous pouvez utiliser un [pipeline CI/CD](https://aws.amazon.com/blogs/mobile/build-a-cicd-pipeline-for-your-android-app-with-aws-services/) pour mettre à jour les applications mobiles. 
  +  Vous pouvez utiliser [AWS IoT Device Management](https://aws.amazon.com/iot-device-management/) pour gérer à distance les appareils connectés à grande échelle. 
+ **Utilisez des batteries d’appareils gérés :** pour tester les nouvelles fonctionnalités et les mises à jour, utilisez des batteries d’appareils gérés avec des ensembles représentatifs de matériel et procédez à des développements itératifs afin de maximiser les appareils pris en charge. Pour en savoir plus, consultez [SUS06-BP04 Utiliser des tests Device Farms gérés](sus_sus_dev_a5.md). 
+ **Continuez à surveiller et à améliorer :** suivez la consommation d’énergie des appareils afin d’identifier les domaines à améliorer. Utilisez les nouvelles technologies ou les bonnes pratiques pour améliorer les impacts environnementaux de ces appareils. 

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

 **Documents connexes :** 
+  [Qu’est-ce qu’AWS Device Farm ?](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 
+  [Documentation WorkSpaces Applications](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+ [ OTA tutorial for updating firmware on devices running FreeRTOS ](https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-ota-workflow.html) (Tutoriel OTA pour la mise à jour du firmware sur les appareils fonctionnant sous FreeRTOS)
+ [ Optimizing Your IoT Devices for Environmental Sustainability ](https://aws.amazon.com/blogs/architecture/optimizing-your-iot-devices-for-environmental-sustainability/)

 **Vidéos connexes :** 
+ [AWS re:Invent 2023 - Improve your mobile and web app quality using AWS Device Farm](https://www.youtube.com/watch?v=__93Tm0YCRg)

# SUS03-BP05 Utiliser des modèles logiciels et des architectures qui soutiennent au mieux l’accès aux données et les modèles de stockage.
<a name="sus_sus_software_a6"></a>

Comprenez comment les données sont utilisées au sein de votre charge de travail, comment elles sont consommées par vos utilisateurs, transférées et stockées. Utilisez des modèles et des architectures logicielles qui prennent le mieux en charge l’accès et le stockage des données afin de minimiser les ressources de calcul, de mise en réseau et de stockage nécessaires pour supporter la charge de travail.

 **Anti-modèles courants :** 
+  Vous partez du principe que toutes les charges de travail ont des modèles de stockage de données et d’accès similaires. 
+  Vous n’utilisez qu’un seul niveau de stockage, partant du principe que toutes les charges de travail s’intègrent dans ce niveau. 
+  Vous partez du principe que les modèles d’accès aux données n’évolueront pas dans le temps. 
+  Votre architecture prend en charge un potentiel pic important d’accès aux données, ce qui fait que les ressources restent inactives la plupart du temps. 

 **Avantages liés au respect de cette bonne pratique :** la sélection et l’optimisation de votre architecture en fonction des modèles d’accès et de stockage des données permettront de réduire la complexité du développement et d’augmenter l’utilisation globale. Savoir quand utiliser les tables globales, le partitionnement des données et la mise en cache vous aidera à réduire les frais généraux opérationnels et à évoluer en fonction des besoins de votre charge de travail. 

 **Niveau de risque exposé si cette bonne pratique n’est pas établie:** moyen 

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

 Utilisez les modèles de logiciels et d’architecture qui correspondent le mieux aux caractéristiques de vos données et à vos modèles d’accès. Par exemple, utilisez [une architecture de données moderne sur AWS](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) qui vous permet d’utiliser des services spécialisés optimisés pour vos cas d’utilisation analytiques uniques. Ces modèles d’architecture permettent un traitement efficace des données et réduisent l’utilisation des ressources. 

### Étapes d’implémentation
<a name="implementation-steps"></a>
+  Analysez les caractéristiques de vos données et les modèles d’accès afin d’identifier la bonne configuration pour vos ressources cloud. Les caractéristiques clés à prendre en considération sont les suivantes : 
  +  **Type de données :** structuré, semi-structuré, non structuré 
  +  **Croissance des données :** limitée, illimitée 
  +  **Durabilité des données :** persistantes, éphémères, temporaires 
  +  **Modèles d’accès** en lecture ou écriture, fréquence de mise à jour, irrégularité, constance 
+  Utilisez les modèles d’architecture qui prennent le mieux en charge les modèles d’accès et de stockage des données. 
  + [ Modèles permettant d’activer la persistance des données ](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-data-persistence/enabling-patterns.html)
  + [ Let’s Architect\$1 Architectures de données modernes ](https://aws.amazon.com/blogs/architecture/lets-architect-modern-data-architectures/)
  + [ Bases de données sur AWS : le bon outil pour la bonne tâche ](https://www.youtube.com/watch?v=-pb-DkD6cWg)
+  Utilisez des technologies qui peuvent fonctionner en natif avec les données compressées. 
  + [ Formats de fichiers prenant en charge la compression Athena ](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html)
  + [ Options de format pour les entrées et les sorties ETL dans AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html)
  + [ Chargement de fichiers de données compressés depuis Amazon S3 vers Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html)
+  Utilisez des [services d’analytique spécialisés](https://aws.amazon.com/big-data/datalakes-and-analytics/?nc2=h_ql_prod_an_a) pour le traitement des données dans votre architecture. Pour plus de détails sur les services d’analyse AWS sur mesure, consultez [AWS re:Invent 2022 - Building modern data architectures on AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o). 
+  Utilisez le moteur de base de données qui prend le mieux en charge votre modèle de requête dominant. Gérez vos index de base de données afin de garantir l’efficacité des requêtes. Pour plus de détails, consultez [Bases de données AWS](https://aws.amazon.com/products/databases/) et [AWS re:Invent 2022 - Modernize apps with purpose-built databases](https://www.youtube.com/watch?v=V-DiplATdi0). 
+  Sélectionnez des protocoles réseaux qui réduisent la quantité de capacité réseau consommée dans votre architecture. 

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

 **Documents connexes :** 
+  [COPIE de formats de données en colonnes avec Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html) 
+  [Conversion de votre format de registre d’entrée dans Firehose](https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html) 
+  [Améliorer la performance des requêtes sur Amazon Athena grâce à une conversion en formats de colonnes](https://docs.aws.amazon.com/athena/latest/ug/convert-to-columnar.html) 
+  [Surveillance de la charge de base de données avec Performance Insights sur Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [Surveillance de la charge de base de données avec Performance Insights sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+ [Classe de stockage Amazon S3 Intelligent-Tiering](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/)
+ [ Build a CQRS event store with Amazon DynamoDB ](https://aws.amazon.com/blogs/database/build-a-cqrs-event-store-with-amazon-dynamodb/)

 **Vidéos connexes :** 
+ [AWS re:Invent 2022 - Building data mesh architectures on AWS](https://www.youtube.com/watch?v=nGRvlobeM_U)
+ [AWS re:Invent 2023 - Deep dive into Amazon Aurora and its innovations ](https://www.youtube.com/watch?v=je6GCOZ22lI)
+ [AWS re:Invent 2023 - Improve Amazon EBS efficiency and be more cost-efficient ](https://www.youtube.com/watch?v=7-CB02rqiuw)
+ [AWS re:Invent 2023 - Optimizing storage price and performance with Amazon S3 ](https://www.youtube.com/watch?v=RxgYNrXPOLw)
+ [AWS re:Invent 2023 - Building and optimizing a data lake on Amazon S3 ](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2023 : Advanced event-driven patterns with Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)

 **Exemples connexes :** 
+ [AWS Purpose Built Databases Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)
+ [AWS Modern Data Architecture Immersion Day ](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US)
+ [ Build a Data Mesh on AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US)