Qu’est-ce que l’orchestration de microservices ?

Deux personnes regardant un ordinateur

Auteurs

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Qu’est-ce que l’orchestration de microservices ?

L’orchestration de microservices est la coordination automatisée de microservices distribués qui forment ensemble un système applicatif cohérent. Cela englobe les interactions entre services, la gestion des dépendances, la tolérance aux pannes, la reprise en cas de défaillance et le déploiement de bout en bout.

Imaginez un chef d’orchestre symphonique qui dirige chaque musicien pour qu’il joue au bon moment. De même, l’orchestration garantit que chaque microservice exécute sa fonction lorsque cela est nécessaire pour offrir une expérience utilisateur fluide. Sans cette coordination, ce serait le chaos : les services s’appelleraient au hasard, les workflows s’arrêteraient lorsque les composants tombent en panne, et il n’y aurait aucune visibilité sur ce qui se passe au sein de l’infrastructure informatique.

Les entreprises ont besoin d’orchestration car les applications modernes sont complexes et se composent de centaines de services. L’orchestration des microservices est le système qui transforme ces services indépendants en applications bien coordonnées, tout en conservant l’évolutivité et la flexibilité des architectures distribuées.

Selon un rapport publié par Research Nester, le marché d’orchestration des microservices était évalué à 4,7 milliards de dollars USD en 2024 et devrait atteindre 72,3 milliards de dollars en 2032. Cette étude indique un taux de croissance annuel composé (TCAC) de 23,4 % au cours de la période de prévision.1  

La croissance constante du marché s’explique par la multiplication des applications d’entreprises technologiques internationales telles que Google et Amazon, ainsi que par la demande croissante des services de commerce électronique, de fintech et de streaming.

Les principaux services de streaming, comme Netflix et Hulu, illustrent un cas d’utilisation classique. Ils s’appuient sur l’orchestration pour coordonner des centaines de microservices qui gèrent tout, de l’authentification des utilisateurs à la facturation, en passant par les recommandations de contenu et le streaming vidéo. Tous doivent travailler à l’unisson pour offrir des millions d’expériences de visionnage personnalisées simultanément.

Les dernières actualités technologiques, étayées par des avis d’expert

Restez au fait des tendances les plus étonnantes du secteur dans le domaine de l’IA, de l’automatisation, des données et bien d’autres avec la newsletter Think. Consultez la déclaration de confidentialité d’IBM.
Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Que sont les microservices ?

Les microservices sont de petits composants logiciels indépendants et autonomes, qui fonctionnent ensemble pour former une application complète. Ils permettent aux entreprises de créer, de déployer et de faire évoluer leurs applications plus efficacement.

Contrairement aux applications monolithiques traditionnelles, l’architecture de microservices cloud natifs décompose les applications en services plus petits et ciblés, consacrés aux diverses fonctions de l’entreprise. Chaque microservice s’exécute de façon indépendante, communique via API (interfaces de programmation d’application) et peut être développé, déployé et mis à l’échelle séparément.

Prenons l’exemple d’une application de covoiturage comme Uber ou Lyft. Lorsque l’application traite une demande de covoiturage, l’orchestrateur appelle le service de localisation pour trouver des conducteurs, lance l’algorithme de mise en correspondance et calcule le tarif. L’orchestrateur envoie également des notifications au passager et au conducteur dans une séquence coordonnée.

Cette approche permet aux entreprises de créer des systèmes plus flexibles et plus évolutifs, qui s’adaptent rapidement à leurs besoins changeants. Les entreprises technologiques comme Netflix, Amazon et Uber ont été les premières à utiliser les microservices pour accélérer le développement logiciel à grande échelle. Selon une enquête réalisée en 2021 par IBM, 85 % des entreprises ont déjà adopté ou prévoient d’adopter une architecture de type microservices, ce qui souligne l’importance croissante de cette dernière.

microservices

Que sont les microservices ?

Dans cette vidéo, Dan Bettinger donne un aperçu général des microservices. En comparant l’architecture des applications de microservices au type traditionnel d’architecture monolithique à travers l’exemple d’une application de billetterie, Dan décrit les innombrables avantages des microservices et les solutions qu’ils apportent aux défis posés par les monolithes.

Comment fonctionne l’orchestration de microservices ?

Le cadre d’orchestration des microservices utilise un système de gestion des workflows centralisé qui distribue les processus métier par le biais d'appels de service synchrones. L’orchestrateur conserve les définitions de workflow, comprend les dépendances des services et garantit que les microservices s’exécutent dans le bon ordre.

Par exemple, lorsqu’une société de commerce électronique comme Amazon traite une commande client, l’orchestrateur appelle le service de gestion des stocks pour vérifier la disponibilité, lance le traitement du paiement, organise l’expédition et envoie des notifications au client. L’orchestrateur effectue toutes ces tâches dans une séquence coordonnée.

Cette coordination repose sur des technologies clés telles que Docker pour conteneuriser les applications, et des plateformes d’orchestration de conteneurs comme Kubernetes pour gérer le déploiement des conteneurs, la mise à l’échelle et la découverte de services. Ces outils permettent aux services de communiquer dynamiquement, tout en optimisant l’allocation des ressources dans l’ensemble de l’infrastructure. L’orchestrateur surveille en permanence chaque étape du flux de processus pour qu’en cas de problème, il puisse automatiquement réessayer les opérations ayant échoué, annuler les modifications problématiques ou alerter les administrateurs pour assurer la fiabilité du système.

Avantages de l’orchestration de microservices

L'orchestration de microservices présente ces principaux avantages : 

  • Évolutivité et gestion des ressources améliorées : les plateformes d’orchestration permettent une mise à l’échelle automatique et et une gestion des ressources intelligentes à travers les microservices. Elles prennent des décisions de dimensionnement à l’échelle du système en fonction des schémas de demande.
  • Résilience et isolation des pannes améliorées : l’orchestration centralisée gère automatiquement les défaillances en relançant les opérations, ce qui évite qu’un service défaillant n’entraîne l’arrêt de l’application et permet d’assurer la cohérence des données sur tous les services.
  • Cycles de développement et de déploiement plus rapides : la coordination automatisée des services élimine le travail d’intégration manuel, permettant aux développeurs de se concentrer sur la logique métier tout en coordonnant les déploiements progressifs pour éviter les problèmes.
  • Diversité et flexibilité technologiques améliorées : les équipes de développement peuvent choisir les langages, les bases de données et les cadres optimaux pour chaque service, tout en participant aux workflows coordonnés grâce à une orchestration unifiée.
  • Prise en charge des workloads d’IA/de ML : l’orchestration gère la coordination complexe des pipelines de machine learning (ML), du pré-traitement des données à la surveillance en passant par le déploiement et l’entraînement des modèles. Elle gère également les exigences de calcul des différents services d’intelligence artificielle (IA).

Modèles clés de conception et d’orchestration des microservices

Une orchestration réussie repose sur des modèles de conception de microservices éprouvés, qui répondent aux défis courants des systèmes distribués. Voici quelques exemples importants :

Modèle Saga

Le modèle Saga gère les transactions distribuées en les divisant en étapes réversibles. Si une étape échoue, le modèle Saga exécute des actions compensatoires pour annuler les opérations précédentes et assurer la cohérence des données entre les services.

Par exemple, sur un site e-commerce, si un paiement échoue lors du passage en caisse, le modèle Saga annule le blocage de stock et restaure le panier.

Schéma de disjoncteur

Les disjoncteurs empêchent les défaillances en cascade en surveillant les appels aux services en aval et en arrêtant les requêtes lorsque des défaillances sont détectées.

Par exemple, lorsqu’un service de recommandation de produits tombe en panne, le disjoncteur bloque automatiquement les requêtes et affiche les recommandations précédemment mises en cache.

Schéma de relance et de délai d’attente

Un schéma de relance et de délai d’attente gère automatiquement les défaillances de service temporaires en attendant puis en réessayant les requêtes ayant échoué selon un minutage intelligent.

Par exemple, si un service de paiement est temporairement indisponible, le système attend et réessaie.

Orchestration de microservices et chorégraphie

Lors de la création de systèmes distribués, les équipes DevOps et les développeurs doivent décider si les services seront coordonnés de manière centralisée ou s’ils se coordonneront eux-mêmes. Cette décision détermine la manière dont les microservices communiquent, dont les équipes gèrent la complexité et dont les systèmes évoluent dans le temps.

  • L’orchestration de microservices fait appel à un coordinateur centralisé qui gère toutes les interactions avec les services. Comme un chef de projet, l’orchestrateur connaît l’ensemble du workflow et indique à chaque service quand agir. Cette méthode offre une visibilité sur les processus complexes et facilite la mise en œuvre des règles métier, ainsi que la gestion des pistes d’audit.
  • La chorégraphie des microservices adopte l’approche inverse : les services se coordonnent par le biais d’événements, sans contrôle centralisé. Lorsqu’un service termine une tâche, il publie un événement qui déclenche l’action d’autres services. Les plateformes de transmission d’événements en continu comme Apache Kafka alimentent souvent ces interactions en distribuant des messages fiables entre les services à grande échelle.

Les équipes choisissent l’orchestration lorsqu’elles ont besoin d’un contrôle explicite des workflows, d’une gouvernance centralisée et d’une cohérence stricte des données. Elle est particulièrement utile dans les domaines de la finance, de la santé et de la logistique, où la conformité réglementaire et la traçabilité sont essentielles.

Les équipes choisissent la chorégraphie lorsque l’évolutivité, la résilience et l’autonomie des services sont des priorités. C’est notamment le cas des architectures orientées événements, des systèmes en temps réel et du traitement à haut volume (par exemple, les plateformes de contenu et les systèmes IdO (Internet des objets)).

Les meilleures architectures de microservices adoptent généralement une approche hybride. Il peut s’agir d’associer orchestration des workflows critiques de l’entreprise, qui nécessitent un contrôle strict, et chorégraphie des interactions à couplage lâche, qui apprécient un traitement indépendant.

Principaux outils d’orchestration de microservices

L’orchestration moderne s’appuie sur plusieurs catégories d’outils qui fonctionnent ensemble pour gérer le cycle de vie des microservices, du déploiement à la surveillance en passant par la communication. Chaque catégorie présentée ci-après a son propre rôle dans l’orchestration de microservices :

  • Plateformes d’orchestration de conteneurs
  • Maillages de services
  • Plateformes sans serveur
  • API Gateways
  • Outils de découverte des services
  • Moteurs de workflow et d’orchestration

Plateformes d’orchestration de conteneurs

Les plateformes d’orchestration de conteneurs automatisent le déploiement, la mise à l’échelle et la gestion des applications conteneurisées. Elles fournissent la couche de base nécessaire à l’orchestration des microservices, en assurant la découverte de services, l’équilibrage de charge, l'’auto-scaling et le déploiement progressif.

Les principaux fournisseurs de cloud, notamment Amazon ECS et EKS d’AWS, Google GKE, Microsoft AKS et IBM Cloud Kubernetes Service, proposent des services d’orchestration gérés.

Maillages de services

Les maillages de services gèrent la communication de service à service, la sécurité et l’observabilité sans nécessiter la modification du code de l’application. Ils allient équilibrage de charge automatique, coupure des circuits, délais d'attente et données de télémétrie exhaustives sur les interactions des microservices.

Istio, un maillage de services configurable et open source, se superpose de manière transparente aux applications existantes, avec ses capacités avancées de gestion du trafic et d’application des politiques. Il fonctionne bien avec Kubernetes et de nombreuses autres technologies associées au maillage de services.

Linkerd, qui est également open source, met l’accent sur la simplicité et la performance, proposant les fonctionnalités de maillage de services essentielles et des frais opérationnels minimes.

Plateformes sans serveur

Les plateformes sans serveur favorisent les microservices pilotés par les événements, qui évoluent automatiquement en fonction de la demande. Elles permettent une mise à l’échelle automatique de zéro à des milliers d’instances, ainsi qu’une gestion intégrée du trafic pour sécuriser le déploiement.

Knative s’ajoute à Kubernetes pour fournir des capacités sans serveur pour les workloads conteneurisées, ce qui permet une mise à l'échelle automatique et un déploiement simplifié.

API Gateways

Les passerelles d’API fournissent un point d’entrée unifié pour les microservices, gèrent l’authentification, la limitation du débit, la transformation des requêtes et une journalisation complète. Elles sont essentielles pour orchestrer les interactions entre les clients externes et les services internes.

Il existe de nombreuses solutions de passerelles d’API, allant des options open source comme Kong aux services gérés cloud des principaux fournisseurs.

Outils de découverte de services

Les outils de découverte de services permettent aux microservices de se trouver et de communiquer les uns avec les autres de manière dynamique, éliminant les dépendances codées en dur. Ils gèrent l’enregistrement des services, la vérification de l’état et la coordination de l’équilibrage de charge.

Les solutions les plus connues sont etcd pour les environnements Kubernetes et les options cloud natives comme Amazon Web Services (AWS) Cloud Map.

Moteurs de workflow et d’orchestration

Les moteurs de workflow et d’orchestration coordonnent les processus complexes, multi-étapes, sur divers microservices au fil du temps. Ces plateformes offrent une définition visuelle du workflow, une gestion automatique des erreurs et une logique de type réessayer, intégrée pour assurer la gestion des processus métier distribués.

Netflix Conductor gère une orchestration des workflows spécialement conçue pour les environnements de microservices. Camunda Zeebe permet une orchestration des processus en alliant BPMN (Business Process Model and Notation) pour la définition visuelle du workflow et gestion complète des processus. 

Solutions connexes
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud est une plateforme de conteneurs OpenShift entièrement gérée.

Découvrir Red Hat OpenShift
Solutions DevOps

Utilisez les logiciels et outils DevOps pour créer, déployer et gérer des applications cloud natives sur de nombreux appareils et environnements.

Découvrir les solutions DevOps
Services de conseil cloud 

Déverrouillez de nouvelles fonctionnalités et stimulez l’agilité de votre entreprise grâce aux services de conseil d’IBM Cloud. Découvrez comment co-créer des solutions, accélérer la transformation numérique et optimiser les performances grâce à des stratégies de cloud hybride et à des partenariats d’experts.

Services cloud
Passer à l’étape suivante

Déverrouillez de nouvelles capacités et stimulez l’agilité métier grâce aux services de conseil d’IBM Cloud.

Découvrir les services de conseil IBM Cloud Créer votre compte IBM Cloud gratuit
Notes de bas de page

1. Microservices Global Market Size and Share, Research Nester, 2024