Implémentation de microservices sur AWS - Implémentation de microservices sur AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Implémentation de microservices sur AWS

Date de publication : 31 juillet 2023 (Historique du document)

Les microservices offrent une approche rationalisée du développement logiciel qui accélère le déploiement, encourage l'innovation, améliore la maintenabilité et améliore l'évolutivité. Cette méthode repose sur de petits services faiblement couplés qui communiquent par le biais de réseaux bien définis APIs et gérés par des équipes autonomes. L'adoption de microservices offre des avantages, tels qu'une évolutivité, une résilience, une flexibilité améliorées et des cycles de développement plus rapides.

Ce livre blanc explore trois modèles de microservices populaires : API piloté, piloté par les événements et streaming de données. Nous donnons un aperçu de chaque approche, décrivons les principales fonctionnalités des microservices, abordons les défis liés à leur développement et illustrons comment Amazon Web Services (AWS) peut aider les équipes chargées des applications à surmonter ces obstacles.

Compte tenu de la nature complexe de sujets tels que le stockage des données, la communication asynchrone et la découverte de services, nous vous encourageons à évaluer les besoins et les cas d'utilisation spécifiques de votre application en fonction des conseils fournis lors de la prise de décisions architecturales.

Introduction

Les architectures de microservices combinent des concepts éprouvés et éprouvés issus de différents domaines, tels que :

  • Développement logiciel agile

  • Architectures orientées services

  • API-premier design

  • ContinuIntegration/Continuous Delivery (CI/CD)

Les microservices intègrent souvent des modèles de conception issus de l'application Twelve-Factor.

Bien que les microservices offrent de nombreux avantages, il est essentiel d'évaluer les exigences uniques de votre cas d'utilisation et les coûts associés. Une architecture monolithique ou des approches alternatives peuvent être plus appropriées dans certains cas. Le choix entre les microservices ou les monolithes doit être fait sur la case-by-case base de facteurs tels que l'échelle, la complexité et les cas d'utilisation spécifiques.

Nous explorons d'abord une architecture de microservices hautement évolutive et tolérante aux pannes (interface utilisateur, implémentation de microservices, magasin de données) et montrons comment l'intégrer à l'aide de technologies de conteneurs. AWS Nous suggérons ensuite AWS des services pour implémenter une architecture typique de microservices sans serveur, afin de réduire la complexité opérationnelle.

Le mode Serverless se caractérise par les principes suivants :

  • Aucune infrastructure à fournir ou à gérer

  • Mise à l'échelle automatique par unité de consommation

  • Modèle de facturation « Pay for value »

  • Disponibilité et tolérance aux pannes intégrées

  • Architecture axée sur les événements (EDA)

Enfin, nous examinons l'ensemble du système et abordons les aspects interservices d'une architecture de microservices, tels que la surveillance distribuée, la journalisation, le suivi, l'audit, la cohérence des données et la communication asynchrone.

Ce document se concentre sur les charges de travail exécutées dans le AWS Cloud, à l'exception des scénarios hybrides et des stratégies de migration. Pour plus d'informations sur les stratégies de migration, consultez le livre blanc sur la méthodologie de migration des conteneurs.

Êtes-vous Well-Architected ?

Le AWS Well-Architected Framework vous aide à comprendre les avantages et les inconvénients des décisions que vous prenez lors de la création de systèmes dans le cloud. Les six piliers du cadre vous permettent d'apprendre les meilleures pratiques architecturales pour concevoir et exploiter des systèmes fiables, sécurisés, efficaces, rentables et durables. À l'aide du AWS Well-Architected Tool, disponible gratuitement dans le AWS Management Console, vous pouvez évaluer votre charge de travail par rapport à ces meilleures pratiques en répondant à une série de questions pour chaque pilier.

Dans le Serverless Application Lens, nous nous concentrons sur les meilleures pratiques en matière d'architecture de vos applications sans serveur. AWS

Pour obtenir des conseils d'experts supplémentaires et les meilleures pratiques relatives à votre architecture cloud (déploiements d'architecture de référence, diagrammes et livres blancs), consultez le Centre d'architecture.AWS

Modernisation vers les microservices

Les microservices sont essentiellement de petites unités indépendantes qui constituent une application. La transition des structures monolithiques traditionnelles vers les microservices peut suivre différentes stratégies.

Cette transition a également un impact sur le mode de fonctionnement de votre organisation :

  • Il encourage le développement agile, dans le cadre duquel les équipes travaillent selon des cycles rapides.

  • Les équipes sont généralement petites, parfois décrites comme deux équipes de pizza, suffisamment petites pour que deux pizzas puissent nourrir toute l'équipe.

  • Les équipes assument l'entière responsabilité de leurs services, de la création au déploiement et à la maintenance.