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 de risque exposé si cette bonne pratique n'est pas respectée : Moyenne entreprise
Directives d'implémentation
Utilisez des modèles d'architecture efficaces tels que l'architecture axée sur les événements
Comprenez les exigences des composants de votre charge de travail et adoptez des modèles d'architecture qui augmentent l'utilisation globale des ressources. Retirez 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 :
Queuing mechanism Description 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.
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 :
Scheduling mechanism Description Une capacité d'Amazon EventBridge
qui vous permet de créer, d'exécuter et de gérer des tâches planifiées à grande échelle. 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 des règles Amazon EventBridge pour exécuter des tâches dans le cadre d'une planification ou en réponse à un événement EventBridge.
Configurez des calendriers pour les débuts et les arrêts des 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.
-
Utilisez le sans serveur sur AWS
afin d'éliminer une infrastructure surprovisionnée. -
Dimensionnez les composants individuels afin d'éviter les ressources inactives attendant une entrée.
Ressources
Documents connexes :
Vidéos connexes :