SUS03-BP01 Optimiser les logiciels et l’architecture pour les tâches asynchrones et planifiées - AWS Well-Architected Framework

SUS03-BP01 Optimiser les logiciels et l’architecture pour les tâches asynchrones et planifiées

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

Utilisez des modèles d’architecture efficaces, tels que l’architecture axée sur les événements, 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

  • 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 :

    Mécanismes de mise en file d’attente Description

    Files d’attente de tâches AWS Batch

    Les tâches AWS Batch sont soumises à une file d’attente de travail là où elles résident jusqu’à ce que leur exécution puisse être planifiée dans un environnement de calcul.

    Amazon Simple Queue Service et instances Spot Amazon EC2

    Associez Amazon SQS et les instances Spot pour créer une architecture tolérante aux pannes et efficace.

  • 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 :

    Mécanismes de planification Description

    Planificateur Amazon EventBridge

    Fonctionnalité d’Amazon EventBridge qui vous permet de créer, d’exécuter et de gérer des tâches planifiées à grande échelle.

    Calendrier basé sur le temps AWS Glue

    Définissez une planification temporelle pour les crawlers et les tâches dans AWS Glue.

    Tâches planifiées Amazon Elastic Container Service (Amazon ECS)

    Amazon ECS prend en charge la création de tâches planifiées. Les tâches planifiées utilisent les règles Amazon EventBridge pour exécuter des tâches selon un calendrier ou en réponse à un événement EventBridge.

    Instance Scheduler

    Configurez les plannings de démarrage et d’arrêt pour vos instances Amazon EC2 et Amazon Relational Database Service.

  • 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 pour créer des charges de travail hautement efficaces.

  • Tirez parti du mode sans serveur AWS pour éliminer l’infrastructure surprovisionnée.

  • Dimensionnez les composants individuels afin d’éviter les ressources inactives attendant une entrée.

Ressources

Documents connexes :

Vidéos connexes :

Exemples connexes :