Composants de systèmes distribués - 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.

Composants de systèmes distribués

Dans une architecture de microservices, la découverte de services fait référence au processus de localisation et d'identification dynamiques des emplacements réseau (adresses IP et ports) de microservices individuels au sein d'un système distribué.

Lorsque vous choisissez une approche AWS, tenez compte de facteurs tels que :

  • Modification du code : pouvez-vous bénéficier des avantages sans modifier le code ?

  • Trafic entre VPC ou entre comptes : si nécessaire, votre système a-t-il besoin d'une gestion efficace des communications entre différents opérateurs ? VPCs Comptes AWS

  • Stratégies de déploiement : votre système utilise-t-il ou prévoit-il d'utiliser des stratégies de déploiement avancées telles que les déploiements Blue-Green ou Canary ?

  • Considérations relatives aux performances : si votre architecture communique fréquemment avec des services externes, quel en sera l'impact sur les performances globales ?

AWS propose plusieurs méthodes pour implémenter la découverte de services dans votre architecture de microservices :

  • Amazon ECS Service Discovery : Amazon ECS prend en charge la découverte de services à l'aide de sa méthode basée sur le DNS ou en l'intégrant à AWS Cloud Map (voir ECS Service Discovery). ECS Service Connect améliore encore la gestion des connexions, ce qui peut être particulièrement bénéfique pour les applications de plus grande envergure dotées de plusieurs services en interaction.

  • Amazon Route 53 : Route 53 s'intègre à ECS et à d'autres AWS services, tels que EKS, pour faciliter la découverte de services. Dans un contexte ECS, Route 53 peut utiliser la fonctionnalité ECS Service Discovery, qui tire parti de l'API Auto Naming pour enregistrer et désenregistrer automatiquement les services.

  • AWS Cloud Map: cette option propose une découverte de services dynamique basée sur une API, qui propage les modifications à l'ensemble de vos services.

Pour les besoins de communication les plus avancés, Amazon VPC Lattice est un service de mise en réseau d'applications qui connecte, surveille et sécurise de manière cohérente les communications entre vos services, contribuant ainsi à améliorer la productivité afin que vos développeurs puissent se concentrer sur la création de fonctionnalités importantes pour votre entreprise. Vous pouvez définir des politiques de gestion du trafic réseau, d'accès et de surveillance afin de connecter les services informatiques de manière simplifiée et cohérente entre les instances, les conteneurs et les applications sans serveur.

Si vous utilisez déjà des logiciels tiers, tels que HashiCorp Consul ou Netflix Eureka pour la découverte de services, vous préférerez peut-être continuer à les utiliser lors de votre migration AWS, afin de faciliter la transition.

Le choix entre ces options doit correspondre à vos besoins spécifiques. Pour des exigences plus simples, des solutions basées sur le DNS comme Amazon ECS ou Amazon AWS Cloud Map peuvent être suffisantes. Pour les systèmes plus complexes ou plus volumineux, les maillages de service tels qu'Amazon VPC Lattice peuvent être plus adaptés.

En conclusion, la conception d'une architecture de microservices AWS consiste à sélectionner les bons outils pour répondre à vos besoins spécifiques. En gardant à l'esprit les considérations évoquées, vous pouvez vous assurer de prendre des décisions éclairées pour optimiser la découverte des services et la communication entre services de votre système.