Les microservices sont devenus un style architectural populaire pour générer des applications cloud résilientes, hautement évolutives, capables d’évoluer rapidement et pouvant être déployées indépendamment. Toutefois, au-delà du concept à la mode, les microservices requièrent une approche différente pour concevoir et générer des applications.
Dans cet ensemble d’articles, nous découvrons comment générer une architecture de microservices sur Azure. Les sujets abordés sont les suivants :
- Options de calcul pour les microservices
- Communication entre les services
- Conception d’API
- Passerelles d’API
- Considérations sur les données
- Modèles de conception
Prérequis
Avant de lire ces articles, vous pouvez commencer par ce qui suit :
- Introduction aux architectures de microservices. Comprendre les avantages et les problématiques des microservices, et quand utiliser ce style d’architecture.
- Utilisation de l’analyse de domaine pour modéliser les microservices. Découvrir une approche orientée domaine pour la modélisation des microservices.
Implémentation de référence
Pour illustrer les bonnes pratiques concernant une architecture de microservices, nous avons créé une implémentation de référence que nous appelons « application de livraison par drone (Drone Delivery) ». Cette implémentation s’exécute sur Kubernetes à l’aide d’Azure Kubernetes Service (AKS). L’implémentation de référence est disponible sur GitHub.
Téléchargez un fichier Visio de cette architecture.
Scénario
Fabrikam, Inc. veut lancer un service de livraison par drone. La société gère un parc de drones. Les entreprises souscrivent au service, et les utilisateurs peuvent demander à ce qu’un drone vienne récupérer les marchandises à livrer. Lorsqu’un client planifie un enlèvement de colis, un système principal assigne un drone et donne à l’utilisateur un délai de livraison estimé. Une fois la livraison en cours, le client peut suivre la position du drone, avec un ATE mis à jour en permanence.
Cette solution est idéale pour les secteurs de l’aérospatiale et de l’aviation.
Ce scénario implique un domaine assez complexe. Certaines entreprises veulent programmer des drones, suivre des colis, gérer les comptes d’utilisateur, ainsi que stocker et analyser les données d’historique. En outre, Fabrikam souhaite commercialiser ce service et effectuer une itération rapidement, en ajoutant des nouvelles fonctionnalités. L’application doit fonctionner à l’échelle du cloud, avec un objectif de niveau de service (SLO) élevé. Fabrikam prévoit également que les diverses parties du système auront des besoins très différents pour le stockage et l’interrogation des données. En s’appuyant sur toutes ces considérations, Fabrikam opte pour une architecture de microservices pour l’application Drone Delivery.
Notes
Pour éclairer votre choix entre une architecture de microservices et d’autres styles d’architecture, consultez le Guide de l’architecture des applications Azure.
Notre implémentation de référence utilise Kubernetes avec Azure Kubernetes Service (AKS). Toutefois, la plupart des principaux défis et décisions architecturales s’appliquent à n’importe quel orchestrateur de conteneur.