

# SUS 3 Comment tirer parti des modèles de 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. Soyez sensibilisé aux 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 mises à niveau des 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 d’exposition au risque si cette bonne pratique n’est pas respectée :** 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/), qui permettent une utilisation uniforme des composants et minimisent le surprovisionnement de 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/latest/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/latest/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. 
+  Tirez parti du [mode sans serveur AWS](https://aws.amazon.com/serverless/) pour éliminer l’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 en savoir plus, se reporter à [Dimensionnement adéquat : dimensionnement 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 que AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [Qu'est-ce que 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) 
+ [Gestion des flux de travail asynchrones avec une API REST](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)
+ [Modèles de messages asynchrones \$1 Événements AWS](https://www.youtube.com/watch?v=-yJqBuwouZ4)

 **Exemples connexes :** 
+ [Architecture axée sur les événements avec processeurs Graviton AWS et instances Spot Amazon EC2](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 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 d’exposition au risque si cette bonne pratique n’est pas respectée :** moyen 

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

Les composants inutilisés ou sous-utilisés d’une charge de travail dans le cloud consomment des ressources de calcul, de stockage ou de réseau inutiles. Supprimez ou refactorisez ces composants pour réduire directement le gaspillage et améliorer l’efficacité globale d’une charge de travail dans le cloud. 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 de la durée d’exécution d’une fonction [AWS Lambda](https://docs.aws.amazon.com/lambda/) peut indiquer 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>
+  **Inventorier vos ressources AWS :** créez 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 en savoir plus, consultez [AWSre:Invent 2022 – Comment gérer les ressources et les applications à grande échelle AWS](https://www.youtube.com/watch?v=bbgUnKq6PAU). 
+  **Surveiller l’utilisation :** surveillez et capturez les métriques d’utilisation des composants critiques de votre charge de travail (comme l’utilisation du processeur, 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)). 
+  **Identifier les composants inutilisés : **identifiez les composants inutilisés ou sous-utilisés dans votre architecture. 
  +  Pour des charges de travail stables, vérifiez les outils de redimensionnement AWS, par exemple [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. 
+  **Supprimer les composants inutilisés :** retirez les composants et les ressources associées (comme les images Amazon ECR) qui ne sont plus nécessaires. 
  + [ Nettoyage automatisé des images inutilisées dans Amazon ECR ](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/)
  + [Supprimez des volumes Amazon Elastic Block Store (Amazon EBS) inutilisés en utilisant AWS Config et 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)
+  **Refactoriser les composants sous-utilisés :** 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 sous-utilisées individuelles. 
+  **Évaluer les améliorations :** 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). Utilisez ces informations pour évaluer les améliorations obtenues en supprimant ou en refactorisant des composants. 
  + [ Mesure et suivi de l’efficacité du cloud à l’aide de métriques proxy de durabilité, partie I : Que sont les métriques proxy ? ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-i-what-are-proxy-metrics/)
  + [ Mesure et suivi de l’efficacité du cloud à l’aide de métriques proxy de durabilité, partie II : Établissement d’un pipeline de métriques ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-ii-establish-a-metrics-pipeline/)

## 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/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+ [ Dimensionnement adéquat : dimensionnement des instances en fonction des charges de travail ](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)
+ [ Optimisation de vos coûts avec les recommandations de dimensionnement adéquat ](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)

# 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 d’exposition au risque si cette bonne pratique n’est pas respectée :** 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>
+ **Utiliser un langage de programmation efficace :** utilisez un système d’exploitation et un langage de programmation efficaces pour la charge de travail. Pour en savoir plus sur les langages de programmation économes en énergie (y compris Rust), reportez-vous à [Sustainability with Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **Utiliser un compagnon de codage basé sur l’IA :** envisagez d’utiliser un compagnon de codage basé sur l’IA tel qu’[Amazon Q Developer](https://aws.amazon.com/q/developer/) pour écrire efficacement du code. 
+ **Automatiser 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. 
  + [Automatisez les révisions de code avec Amazon CodeGuru Reviewer](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [Détecter les bogues de concurrence avec Amazon CodeGuru](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [Améliorer la qualité du code des applications Python grâce à Amazon CodeGuru](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Utiliser un profileur de code :** utilisez un profileur de code pour identifier les sections du code les plus longues ou qui consomment le plus de ressources dans le but de les optimiser. 
  + [Réduire l’empreinte carbone de votre organisation avec Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [Comprendre l’utilisation de la mémoire dans votre application Java avec Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [Améliorer l’expérience client et réduire les coûts avec Amazon CodeGuru Profiler](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Surveiller et optimiser :** utilisez des ressources de surveillance continue pour identifier les composants nécessitant des ressources élevées ou présentant une configuration sous-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 :** découvrez les possibilités de [transformation du code Amazon Q](https://aws.amazon.com/q/aws/code-transformation/) pour la maintenance et les mises à niveau des applications. 
  + [Mettez à niveau les versions linguistiques avec Amazon Q Code Transformation](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 :** 
+  [Présentation d’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 :** 
+ [Améliorez l’efficacité du code à l’aide d’Amazon CodeGuru Profiler](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [ Automate Code Reviews and Application Performance Recommendations with Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)

# 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 logiciels et de fonctionnalités optimisés pour les appareils du client peut réduire l’impact environnemental global de la charge de travail dans le cloud. 

 **Niveau d’exposition au risque si cette bonne pratique n’est pas respectée :** 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éaliser un inventaire :** dressez l’inventaire des appareils 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’exécution de l’application 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 haute qualité en 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. 
+ **Impliquer les fournisseurs :** collaborez 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. 
+ **Utiliser des mises à jour par voie hertzienne (OTA) :** utilisez le mécanisme automatisé par voie hertzienne (OTA) pour déployer les 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. 
+ **Utiliser des parcs d’appareils gérés :** pour tester les nouvelles fonctionnalités et les mises à jour, utilisez Device Farm avec des ensembles représentatifs de matériel et itérez le développement pour maximiser les dispositifs pris en charge. Pour en savoir plus, consultez [SUS06-BP05 Utiliser des tests Device Farms gérés](sus_sus_dev_a5.md). 
+ **Continuer à surveiller et à améliorer :** suivez la consommation d’énergie des appareils pour 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 des applications WorkSpaces](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+ [Tutoriel OTA pour la mise à jour du firmware sur les appareils exécutant FreeRTOS](https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-ota-workflow.html)
+ [Optimisation de vos appareils IoT pour la durabilité environnementale](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, et 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 aux données et de stockage contribueront à réduire la complexité du développement et à 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 à vous mettre à l’échelle en fonction des besoins de votre charge de travail. 

 **Niveau d’exposition au risque si cette bonne pratique n’est pas respectée :** moyen 

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

 Pour améliorer la durabilité à long terme de la charge de travail, utilisez des modèles d’architecture qui prennent en charge les caractéristiques d’accès aux données et de stockage pour votre charge de travail. Ces modèles vous aident à récupérer et à traiter efficacement les données. Par exemple, vous pouvez utiliser une [architecture de données moderne sur AWS](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) avec des services spécifiques 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>
+  **Comprendre les caractéristiques des données :** 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ées, semi-structurées, non structurées 
  +  **Croissance des données :** limitée, illimitée 
  +  **Durabilité des données :** persistantes, éphémères, temporaires 
  +  **Modèles d’accès :** lectures ou écritures, fréquence de mise à jour, irrégulière ou cohérente. 
+  **Utiliser les modèles d’architecture optimaux :** 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 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 AWS : l’outil adapté à la tâche](https://www.youtube.com/watch?v=-pb-DkD6cWg)
+  **Utiliser des services spécialement conçus :** utilisez des technologies adaptées à vos besoins. 
  +  Utilisez des technologies qui peuvent fonctionner en natif avec les données compressées. 
    + [ Formats de fichiers pour prendre en charge la compression Athena ](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html)
    + [ Options de formatage pour les entrées et 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 comprimés d’Amazon S3 avec Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html)
  +  Utilisez des [services d’analytique](https://aws.amazon.com/big-data/datalakes-and-analytics/?nc2=h_ql_prod_an_a) spécialement conçus pour le traitement des données dans votre architecture. Pour en savoir plus sur les services analytiques de AWS, reportez-vous à [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 pour une bonne efficacité des requêtes. Pour en savoir plus, reportez-vous à [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). 
+  **Minimiser le transfert des données :** 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 d’enregistrement 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/AuroraUserGuide/USER_PerfInsights.html) 
+  [Surveillance de la charge de la 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/)
+ [ Créez un magasin d’événements CQRS avec 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 : création et optimisation d’un lac de données sur 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 Atelier sur les bases de données sur mesure ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)
+ [AWS Journée d’immersion dans l’architecture moderne des données ](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US)
+ [ Créez un maillage de données sur AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US)