LE GUIDE ULTIME DU

Catalogue de Microservices

Découvrez tout ce qu’il faut savoir sur les Catalogues de Microservices, les bonnes pratiques à suivre pour un Catalogue de Microservices utile, et sur l’importance des Catalogues de Microservices pour les entreprises.

Introduction

Qui a besoin d’un catalogue de microservices et comment pourrait-il résoudre les défis d’un style d’architecture distribuée ? Ces dernières années, de plus en plus d’entreprises ont remplacé leurs systèmes monolithiques par des microservices. Ces modules à fonction unique offrent de multiples avantages puisqu’ils sont faciles à intégrer et à modifier.

Mais alors que les microservices créent une organisation plus agile, ils ajoutent aussi un niveau supérieur de complexité technique et organisationnelle qu’il faut prendre en compte.

C’est là que le catalogue de services intervient. À mesure que les microservices s’accumulent, les équipes d’ingénieurs doivent garder une trace de tout ce qui fonctionne dans des infrastructures neuves et beaucoup plus complexes.

Après tout, une entreprise peut compter jusqu’à 200 microservices actifs en place. Un catalogue de microservices regroupe l’ensemble de leurs métadonnées, de leurs dépendances et des informations liées à leur responsabilité, et simplifie les interventions sur chaque service le cas échéant.

 

Qu’est-ce qu’un Catalogue de Microservices ?

Un catalogue de microservices ou catalogues de services informatiques enregistre et suit tous les services et les systèmes qui font partie de l’architecture informatique d’une entreprise. Il permet aux organisations de centraliser les informations essentielles sur chaque microservice, et aux développeurs de partager directement ces informations.

Le catalogue offre une vue détaillée non seulement des microservices eux-mêmes, mais aussi de leurs relations et de leurs dépendances réciproques. C’est pourquoi un catalogue de microservices est non seulement intelligent, mais aussi en constante évolution.

À mesure que de nouveaux services sont développés, de nouvelles dépendances modifient la structure architecturale du paysage informatique. Afin de maintenir le cap, il est impératif de surveiller les métadonnées, les responsabilités et les informations opérationnelles et de les rendre accessibles à toutes les personnes concernées. Ainsi, comme tout catalogue vivant, un catalogue de services doit être correctement maintenu et mis à jour.

Ce n’est que si les bonnes pratiques sont suivies que cela peut servir d’outil utile qui donne aux entreprises l’avantage concurrentiel qu’elles recherchent lorsqu’elles mettent en œuvre un système distribué de microservices.

 

Les bonnes pratiques à suivre pour un Catalogue de Microservices utile

Un bon catalogue de microservices permet aux utilisateurs de rapidement localiser et consulter les informations essentielles nécessaires en cas d’incident. Il constitue aussi un excellent outil pour les nouveaux membres de l’équipe, qui leur permet de s’intégrer et de bien saisir les services de l’entreprise et leurs relations mutuelles. Si ces informations ne sont pas immédiatement claires ou accessibles, il y a de fortes chances que l’entreprise ne respecte pas les bonnes pratiques en matière de catalogue de services.

Puisque ces bonnes pratiques ont déjà été établies, les équipes de développement n’ont pas besoin déployer des trésors de créativité et de créer de nouvelles méthodes de maintenance. Ainsi, les entreprises n’ont pas besoin d’investir des ressources précieuses dans la mise en place de leur propre catalogue de services et peuvent s’en remettre simplement à des architectes d’entreprise compétents ou utiliser des catalogues de microservices existants comme exemples à suivre.

Sont énoncées ci-dessous les quatre bonnes pratiques les plus importantes pour les développeurs et les architectes qui travaillent directement avec les catalogues de services informatiques.

Le garder à jour

Un catalogue de microservices obsolète n’a presque aucune raison d’être, car l’actualisation de ses informations constitue sa principale utilité. Grâce aux rappels automatiques de mise à jour émis par le catalogue intelligent lui-même, et à sa capacité de détecter automatiquement de nouveaux services, cette tâche n’est plus condamnée à être entièrement manuelle et chronophage.

Complet, mais en constante évolution

Les systèmes distribués se caractérisent par leur nature flexible et dynamique, ce qui se traduit aussi par un bon catalogue de services. Bien qu’il puisse être momentanément complet, il est en constante évolution et n’est donc jamais « finalisé ». Cependant, toutes les informations disponibles à un moment donné doivent y figurer.

Facilement consultable

L’un des principaux objectifs d’un catalogue de microservices est d’économiser du temps et des ressources en cas de problèmes. C’est pourquoi les recherches doivent être à la fois faciles et rapides. Les équipes et les individus peuvent rechercher non seulement le nom d’un service, mais aussi des fonctions spécifiques qui doivent être prises en compte lors de la création de l’algorithme de recherche.

Éviter les erreurs courantes

Erreur la plus courante, le défaut de mise à jour du catalogue de microservices en élimine toute l’utilité, ou presque. Les petites entreprises ont donc tout intérêt à mettre en place un système ou un outil qui gère les mises à jour de processus. Les rappels automatiques envoyés à tous les ingénieurs sont nettement plus efficaces que les feuilles de calcul manuelles.

 

Éléments clés pour un Catalogue de Microservices réussi

Lorsqu’il est composé de microservices, un paysage informatique distribué s’accompagne de nombreux avantages. La flexibilité, l’évolutivité et la résilience des applications à fonction unique séduisent la plupart des entreprises. Sans avoir à faire des modifications sur tout le système, les équipes de développement peuvent apporter des ajustements rapides à un code donné, corriger les erreurs en cas d’incident, ou lancer de nouveaux services. Cependant, ajouter de plus en plus de microservices à un paysage informatique en modifie la structure.

Avec de nombreux microservices en place, tous liés à des responsables différents et une migration continue, il est presque impossible de garder une vue d’ensemble. Un système de plus en plus complexe, et source d’incertitude et de confusion, va à l’encontre de l’objectif des microservices. Après tout, ils sont là pour faire gagner du temps, augmenter l’efficacité et réduire le coût global.

Un système organisationnel tel qu’un bon catalogue de microservices aide les entreprises à tirer pleinement parti de leurs microservices et épaule les équipes de développement. Les principaux ingrédients d’un catalogue de services réussi sont listés ci-dessous.

Flexibilité

Chaque entreprise est différente et le langage est fluide, même lorsqu’il s’agit de décrire les métadonnées d’un service. C’est pourquoi les équipes de développement n’utilisent pas toujours les mêmes termes pour décrire les mêmes attributs. Un bon catalogue de microservices vous permet de définir votre propre code de taxonomie et de procéder à des ajustements si nécessaire.

Portabilité

Un catalogue de microservices capture toutes les métadonnées pertinentes pour le service et les conserve en un seul endroit. Cependant, il n’est pas très utile si les équipes de développement ne peuvent pas récupérer ces informations et les utiliser dans leurs propres applications. C’est pourquoi le catalogue doit avoir une API facile à utiliser qui suit des modèles d’accès classiques pour garantir une portabilité totale.

Précision

L’utilité d’un outil de bibliothèque se limite aux données qu’il contient. Cette remarque vaut également pour un catalogue de service. Et un défaut de mise à jour ou une inexactitude des données peut s’avérer plus problématique qu’une absence réelle de données. Afin de garder les données aussi exactes que possible, un catalogue de microservices doit disposer de processus de mise à jour transparents et simples.

Intelligence

Le catalogue de services est plus qu’une simple bibliothèque consultable et statique. Il doit fournir une carte claire de l’infrastructure informatique comprenant les flux de communication entre tous les microservices. Les développeurs peuvent ainsi bénéficier d’une vue d’ensemble et couvrir les angles morts potentiels tout en augmentant leur capacité de réaction aux incidents.

20 Key Questions a Microservice Catalog Answers

Poster

20 Key Questions a Microservice Catalog Answers

Download this LeanIX poster to see the 20 key questions a microservice catalog can answer.

Microservices @ LeanIX - then, now and tomorrow

Video

Microservices @ LeanIX - then, now and tomorrow

Live Recording - EA Connect Day 2020 

Per Bernhardt - Staff Software Engineer - LeanIX

 

Maximize the Development Efficiency of Your Microservices Landscape with LeanIX

Webinar

Maximize the Development Efficiency of Your Microservices Landscape with..

Watch this on-demand webinar hosted by The Open Group, where LeanIX shares insights on how we can help bring order and clarity to your complex microservices architecture.

Efficiently Navigate your Microservices with LeanIX

Webinar

Efficiently Navigate your Microservices with LeanIX

Watch this interview-style webinar on how to build reliable software using a microservice catalog - including a product demo

Écueils liés à l’introduction d’un nouveau Catalogue de Microservices

Lorsqu’elle est bien faite, l’implémentation d’un catalogue de microservices présente de nombreux avantages. La création d’un système organisationnel vivant qui n’est jamais vraiment fini, tout en étant extrêmement précis et en constante évolution, comporte également certains écueils.

En outre, toutes les personnes impliquées doivent régulièrement mettre à jour les informations et avoir une bonne compréhension de sa taxonomie. De ce fait, la structuration du catalogue, de même que son utilisation et sa mise à jour, doit faire l’objet d’un certain consensus.

Plus on ajoute de microservices, plus l’infrastructure informatique devient complexe. C’est pourquoi un catalogue de microservices donne sa pleine mesure lorsqu’il est implanté en amont et peut se développer organiquement avec l’infrastructure.

Mais avant de commencer, les entreprises et les équipes de développement doivent être au courant des défis inhérents à l’introduction d’un nouveau catalogue de services. Les plus fréquents sont décrits ci-dessous.

Il est difficile de nommer les choses

La détermination de l’objectif, des rôles et des fonctions des microservices, facile à première vue, peut se transformer en un véritable casse-tête lorsque la convention de dénomination ne parvient pas à suivre le rythme frénétique de création des microservices, tous différents. C’est pourquoi la convention mis en place doit être facilement extensible et avoir un sens logique.

Utiliser la langue adaptée au travail

Un système monolithique est composé d’une base de code géante écrite dans un seul système de déploiement. Un système distribué permet aux ingénieurs de choisir la meilleure langue pour chaque service. Une variété de langues différentes ajoute un autre niveau de complexité qu’il est possible de limiter à l’aide d’un bon système de suivi du catalogue de services.

La prolifération des tableaux de bord

Avoir un catalogue de microservices fonctionnel en place ne veut pas dire que tout le monde l’utilise de la même manière. Cela est dû aux multiples tableaux de bord personnalisés pour différents domaines dont tout le monde n’a peut-être pas connaissance. Pour accroître la visibilité, il est nécessaire de placer, dans des emplacements faciles à trouver, des liens à jour vers les tableaux de bord les plus utiles.

Les différents niveaux d’importance de microservices

Il est clair que tous les microservices ne sont pas construits de la même manière. Cela s’applique à des éléments tels que la criticité pour l’entreprise ou les propriétés hiérarchiques ou numériques. En outre, certains microservices peuvent avoir des propriétés qui leur sont propres et qu’ils ne partagent avec aucun autre. Idéalement, un catalogue de services capture et suit ces différences qui peuvent poser problème au niveau organisationnel.

 

L'importance d’un catalogue de Microservices pour les entreprises

Il est faux de penser que seules les grandes entreprises ont besoin d’un catalogue de service pour garder une trace de leurs microservices. Une équipe de développement composée de 10 à 30 ingénieurs en charge de 100 services a tout autant besoin d’un catalogue de microservices qu’une grosse entreprise comptant des centaines d’ingénieurs et de services.

Et la raison en est très simple : si vous viviez dans un village de 100 personnes, il est fort probable que vous ne connaitriez pas les noms et occupations de tous les habitants et leurs relations entre eux.

Un catalogue de service ne se contente pas de consigner les noms et fonctions de chaque service ainsi que leurs interdépendances. Il permet aussi de savoir quelles modifications ont été apportées un jour, une semaine, un mois ou une année donné(e).

Et le plus important, il contient toutes les informations importantes à propos des responsables de services, ainsi que leurs coordonnées. Il peut sauver des vies en cas de crise.

 

Le rôle important d’un Site Reliability Engineer

Avec la complexité croissante des infrastructures informatiques, un grand nombre de fonctions conçues pour s’occuper des tâches opérationnelles et de développement sont apparues. Un ingénieur en fiabilité de site (SRE) applique des aspects du génie logiciel à l'infrastructure informatique et aux problèmes opérationnels afin de créer un système de logiciel flexible et fiable.

Tout comme un pont entre les équipes de développement et des opérations, un SRE doit avoir des connaissances à la fois en ingénierie logicielle et en tâches administratives.

D’une certaine manière, le SRE et un catalogue de microservices créent tous les deux une meilleure collaboration entre le développement et les opérations. C’est pourquoi beaucoup de SRE voient les catalogues de service comme des outils très utiles pour faciliter la communication entre les deux équipes.

Vu que les SRE contribuent à la gestion du catalogue de microservices en le tenant à jour avec des conseils de dépannage, des métadonnées, des coordonnées et l’architecture des services, leur rôle a gagné en importance au fil des années.

 

Conclusion

Avec les microservices remplaçant les systèmes monolithiques, les catalogues de service et value stream management sont devenus des outils indispensables pour les entreprises tournées vers l’avenir. Ils offrent des cartes dynamiques et détaillées du paysage des services informatiques et sont en constante évolution.

Mais en tant que ressource ultime pour les équipes d’ingénierie et des opérations, l’efficacité d’un catalogue de microservices repose intégralement sur les données qu’il contient. Après tout, des données incorrectes peuvent causer plus de tort que des données manquantes. C’est pourquoi vous ne pourrez tirer parti du catalogue que s’il est bien entretenu et constamment mis à jour.

AFFICHE GRATUITE

20 Questions clés auxquelles un Catalogue de Microservices répond

Plus d’informations sur les 20 questions essentielles auxquelles un catalogue de microservices peut répondre.

Obtenez votre copie gratuite

Key questions microservice catalog answers
check

Le catalogage des microservices aide les équipes DevOps à visualiser leur paysage de microservices, y compris les détails liés à la responsabilité, aux dépendances et au contexte de l’entreprise.

check

Plus d’informations sur les 20 questions essentielles auxquelles un catalogue de microservices peut répondre.

Key questions microservice catalog answers

AFFICHE GRATUITE

20 questions clés auxquelles un catalogue de microservices répond

Télécharger