LE GUIDE ULTIME DE LA

Gouvernance Microservices

Découvrez tout ce qu’il faut savoir sur la Gouvernance Microservices, ses principaux éléments et ce qu’ils contiennent.

Introduction

Dans le monde des microservices, les développeurs ont la liberté et la capacité d’expérimenter avec de nouvelles langues, de nouveaux modèles, cadres, banques de données, et autres aspects innovants du développement informatique. Cela peut perturber les équipes des opérations lorsqu’ils sont confrontés aux nouvelles expériences faites par les développeurs.

Différents points de vue existent concernant l’absence ou quasi-absence de gouvernance d’architecture microservices par rapport à l’architecture orientée services (SOA).

 

Que signifie la Gouvernance Microservices ?

La gouvernance microservices est une méthodologie ou une approche qui établit les politiques, les normes et les bonnes pratiques d’adoption des microservices qui permettent de créer un environnement informatique agile pour une entreprise.

La Gouvernance monolithique est centralisée. Les décisions sont prises verticalement, un contrôle rigide est maintenu pour s’assurer que les normes sont bien appliquées au sein de l’entreprise et dans la suite d’applications. Avec le temps, ce modèle dégénère, en traînant une stagnation des systèmes technologiques et architecturaux qui freine l’innovation.

Les microservices prônent un modèle polyglotte en ce qui concerne les suites technologiques pour les langues, les outils et les banques de données pris en charge. Le concept principal de ces microservices est la réutilisabilité des actifs et des outils qui peuvent être décentralisés. Le thème central de la gouvernance de la décentralisation est le concept de construction et d’exécution.

Ce modèle décentralisé est le mieux adapté aux gouvernances microservices. Les avantages d’une gouvernance décentralisée donnent aux équipes de microservices la liberté de développer des composants de logiciels en utilisant différentes suites. 

 

Le cadre de la Gouvernance Microservices

Basée sur l’expérience et l’adoption de microservices, la gouvernance de microservices met l’accent sur les choses suivantes :

Entreprise

  • Alignement stratégique de l’informatique avec l’entreprise : fixer la mission du département informatique pour l’aligner avec la vision de l’entreprise.
  • Réutilisabilité des services et rapidité de la production.


Composants techniques

  • Architecture de référence des microservices : un guide d’architecture pour la conception de services et l’intégration aux systèmes d’utilisation de l’entreprise, etc.
  • Identifier, spécifier, créer, puis déployer les microservices à l’aide d’une méthodologie DevOps.
  • Politique de services à l’échelle de l’entreprise, services d’infrastructures communs.
  • Développement de services détaillés par composition et orchestration.
  • Surveillance et gestion des services : surveillance et gestion des politiques d’accès, mesure de la Qualité de Service (QoS) et des indicateurs clés de performance pour évaluer le débit et les performances.


Organisation

  • Mettre en place une entreprise dédiée aux microservices pour en assurer une gestion efficace.
  • Structure de l’entreprise qui désigne les personnes autorisées à prendre des décisions critiques concernant l’adoption et l’utilisation de microservices.
  • Mettre en place des normes qui précisent comment les décisions sont prises et mises en œuvre, et leur application surveillée.

 

Les éléments de la Gouvernance Microservices

La gouvernance microservices joue un rôle majeur dans le succès des initiatives microservices.

L’échec de l’implantation de mécanismes de gouvernance appropriés peut créer une architecture ingérable et instable ; cependant, avec les bonnes gouvernances en place, vous pouvez éviter un désordre dans les services distribués et obtenir le soutien de l’entreprise.

L’un des avantages de la gouvernance microservices est qu’elle peut favoriser un retour sur investissement nettement plus élevé pour les entreprises. Toutefois, il est à cet effet indispensable d’établir des politiques ainsi que des moyens de communication clairs permettant de mesurer la responsabilité et l’efficacité.

Une gouvernance microservices solide est fondée sur trois éléments : le personnel, les processus, et la technologie. Ces trois éléments doivent être alignés pour que la gouvernance microservices soit fonctionnelle et réussie.

Le diagramme suivant démontre ces éléments :

Microservices–Governance_Framework

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

Les principes directeurs de la Gouvernance Microservices

Il est important pour toutes les entreprises de définir les principes directeurs de la gouvernance microservices. Une fois ces principes définis, ils doivent être suivis. Par conséquent, la définition de ces principes doit être faite avant de poser les fondations.

Ci-dessous, se trouvent quelques principes directeurs fondamentaux pour une gouvernance microservices réussie.

Des services indépendants : les microservices sont indépendants des autres services. L’indépendance des services permet un développement et un déploiement rapide des services. Cela nécessite une indépendance des services tant au niveau de la conception que de l’exécution.

Responsabilité unique : se concentre sur un seul. Nécessite une fonction commerciale, une décomposition en éléments granulaires.

Autocontrôle : les microservices sont des unités autonomes, déployables indépendamment. Pour qu'un microservice soit indépendant, il doit contenir tous les éléments constitutifs nécessaires à son fonctionnement.

Politiques et principes directeurs pour les meilleures pratiques : conformité aux architectures de référence du domaine des microservices, aux processus de gouvernance et à la feuille de route.

 

Les acteurs de la gouvernance Microservices

L’équipe qui s’occupe de l’architecture microservices se concentre principalement sur la gestion et la surveillance des activités de l’entreprise, ce qui inclut la conception des applications de l’entreprise basées sur la technologie microservices. L’équipe fournit la bonne fonction aux utilisateurs finaux et le soutien opérationnel approprié pour la nouvelle architecture.

Le modèle organisationnel des Microservices

Lors de l’adoption des microservices au niveau de l’entreprise, la structure et les compétences de l’équipe jouent un rôle plus important que la technologie sous-jacente. Les structures organisationnelles horizontales, les équipes flexibles, et les capacités transversales sont indispensables à la réussite de l’adoption des microservices.

Former une équipe compétente et qualifiée requiert le réalignement du personnel autour des fonctionnalités plutôt qu’autour de l’architecture.

La meilleure approche consiste à établir une pratique DevOps avant de transitionner vers les microservices, pour pouvoir définir les stratégies de communication à l’avance.

Aptitudes et Compétences 

Les équipes de microservices comprennent plusieurs membres aux compétences variées. Elle comprend des analystes système, des designeurs UX/UI, des développeurs aux premières et dernières lignes, etc. qui sont responsables de leurs projets microservices du début à la fin : développement, déploiement, exploitation, surveillance et gestion.

La taille de l’équipe se décide en fonction de la taille de l’entreprise et du développement du projet. L’expérience montre que la taille idéale est de 8-10 personnes par équipe.

Dans le cadre d’une architecture microservices, la croissance de l’entreprise fera grandir l’équipe microservices. Chaque équipe disposera d’une plateforme collaborative afin de remplir les objectifs du projet. Cela garantit le respect des délais et favorise ensuite la performance et l’efficacité du lancement de produit.

Stratégie microservices et feuille de route

Stratégie DevOps : réduire la durée du développement et du déploiement est nécessaire. Plutôt que développer une application, l’équipe va déployer plusieurs services.

Environnement agile : Les services sont développés par des équipes par incrément ; des phases courtes qui permettent à l’équipe de publier de manière régulière. Cela permet de positionner stratégiquement les progrès de l’entreprise. Un suivi du CI/CD est nécessaire pour augmenter le niveau de résilience.

Stratégie de données : une stratégie solide de gestion des données de référence est nécessaire pour accompagner la distribution des données. Les données fondamentales d’une entreprise sont consommées par plusieurs microservices qui sont stockés dans leurs bases de données locales.

 

La technologie de la Gouvernance Microservices

Architecture de référence

Les microservices ne sont pas des produits, un cadre ou une plateforme. Il s’agit d’une stratégie de construction des systèmes distribués des grandes entreprises. L’architecture microservices profite aux entreprises de plusieurs manières. Les avantages des microservices comprennent une évolutivité de divers composants d’applications vers un développement et une gestion logicielle plus rapide et plus simple.

La mesure des microservices est essentielle pour la conception des services qualité. Les microservices réduisent la dépendance vis-à-vis des fournisseurs et éliminent les engagements technologiques à long terme. Globalement, aider les décideurs à choisir les outils nécessaires pour atteindre les objectifs informatiques et commerciaux

Architecture de référence des microservices

  • Mise à disposition des plans prêts à l’emploi pour construire des systèmes basés sur les microservices, accélérant et améliorant le développement.
  • Création d’une plateforme pour tester des nouvelles fonctionnalités, qu’elles soient développées en interne ou en externe.
  • Aide pour comprendre les systèmes partenaires et les composants des entreprises afin d’obtenir une vue d’ensemble de l’écosystème microservices.

Registre

À mesure que l’entreprise se développe, tracer le nombre de microservices peut devenir un réel défi à cause du déploiement continu. Afin de résoudre ce défi, l’utilisation de registres dynamiques aidera en procédant au traçage des services déployés. Ces registres fournissent aux clients des adresses de consultation afin de surveiller les services facilement.

Outils

Lorsqu’on construit une architecture hautement évolutive en utilisant des microservices, certains outils sont nécessaires pour gérer les services additionnels et les composants des applications, ce qui comprend : 

  • Outils de découverte de services comme Kubernetes.
  • Normes de conditionnement pour la conteneurisation des applications, par exemple Docker, et des outils d'orchestration pour la réplication des conteneurs à la bonne échelle, par exemple Kubernetes. OpenShift de Red Hat comprend ces deux technologies open source éprouvées.
  • Outils de création d'environnement CI, Jenkins ou Shippable pour Docker et Kubernetes.
  • Outils de résolution des dépendances comme Nexus.
  • Outils de basculement et de résilience, y compris les bibliothèques telles que Hystrix et Ribbon.
  • Outils de surveillance des services, d'alerte et d'événements, par exemple, la suite ELK (ElasticSearch, LogStash et Kibana).

LeanIX Value Stream Management

Value Stream Management de LeanIX est utilisé pour gérer les nombreux microservices des entreprises d’aujourd’hui. Les informations sur le cycle de vie des ressources du cloud et les politiques de balisage étant réunies au même endroit, plusieurs matrices peuvent être accessibles dans le Value Stream Management afin d’aider les développeurs et aussi le non-développeurs à segmenter les environnements de production selon des points de vue précis.

Les ressources peuvent être réparties dans différents domaines et sous-domaines (par exemple les API, l’administration, l’inventaire, les notifications), et chacune d’entre elles peut être consultée avec les utilisateurs responsables de leur entretien.

Regardez cette vidéo pour comprendre comment utiliser le VSM de LeanIX. Donovon Simpson explique comment la société financière OneMain utilise le Value Stream Management de LeanIX.

 

Cloud et API

L’API est utilisée pour établir l’interaction entre les microservices, ce qui aide l’application à fonctionner correctement. De plus, le mécanisme de contrôle de la version établit l’interface des services entre le nouveau et l’ancien service.

Gestion de l’infrastructure

La gestion de l'infrastructure surveille le stockage, la consommation de CPU, la consommation de mémoire et les caractéristiques du réseau matériel pour les services déployés. Les ressources d'infrastructure sont surveillées par Nagois, qui émet des alertes lorsque les niveaux de service sont dépassés. Si un service est déployé sur une plateforme IAAS ou PAAS, les outils de gestion du cloud ou de la plateforme sont utilisés. 

Surveillance des services

Surveillance des services intervient lorsque le service d’application déploie sa disponibilité et surveille sa santé. Les services peuvent signaler leur santé au moyen d’un mécanisme d’extraction via JMX ou en présentant un URL http, où les agents pourront collecter les statistiques, en utilisant un mécanisme d’extraction Spring Actuator.

 

Le processus de la Gouvernance Microservices

Équipes fédérées et DevOps

Quand il s’agit d’environnements microservices, les développeurs ajoutent ou suppriment continuellement des fonctionnalités. Ces modifications consistent en un changement de code ou le remplacement d’éléments essentiels de l’application. Pendant que ces modifications prennent place, les microservices évoluent constamment. Une application est divisée en plusieurs services interdépendants. Les grandes équipes cloisonnées sont divisées en petites équipes multifonctionnelles.

Cela coïncide avec la transformation des équipes de développement, de test et d’informatique en équipes DevOps plus petites. Confier la mise en œuvre et la gestion d’un microservice à l’équipe qui l’a créé est une méthode efficace pour le fonctionnement actuel du service et son évolution.

Indépendance du temps de conception

Définir et contrôler les créations de service, la conception et la mise en œuvre des politiques de service.

Indépendance de l’exécution

Les accords de niveau de service, la régulation, la surveillance, les exigences de sécurité communes et la découverte de services ne sont pas couverts au niveau de chaque microservice. Les entrées API permettent de réaliser la gouvernance du temps d’exécution au niveau d'un composant dédié.

Gestion des données

Contrairement à la SOA, les microservices ne partagent pas les données. Chaque microservice possède une banque de données physique distincte et une persistance polyglotte qui permet à une variété de moteurs de bases de données de fonctionner sous chaque microservice.

Cependant, garder plusieurs copies de la base de données d’une entreprise peut augmenter la complexité et les frais de licence. 

Les outils génériques d'extraction, de transformation et de chargement (ETL) ou de virtualisation des données peuvent favoriser la normalisation des données. L'approvisionnement par événement est un modèle de conception bien connu qui permet d'aligner les banques de données pour s'adapter aux changements rétroactifs.

 

Conclusion

En résumé, les microservices adoptent une gouvernance décentralisée, ces normes permettent à l’équipe de construire et déployer le code qui a été créé en fonction de plans de gouvernance individuels. L’objectif de la gouvernance décentralisée est de libérer les équipes de développement, en leur permettant de consacrer leur temps à la résolution des problèmes de développement avec efficacité et rapidité.

Il est important de développer un état d’esprit DevOps au sein de l’entreprise. Cet état d’esprit donne aux développeurs le pouvoir de contrôler la façon dont les composants sont construits et exploités.  

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

Voici les 20 questions essentielles auxquelles un catalogue de services peut répondre.

check

Découvrez-en plus sur les catalogues de microservices.

Réponses aux questions les plus posées sur la Gouvernance Microservices

Qu’est-ce que le gouvernance microservices ?

La gouvernance microservices est une méthodologie ou une approche qui établit les politiques, les normes et les meilleures pratiques d’adoption des microservices qui permettent de créer un environnement informatique agile pour une entreprise.

Quels sont les éléments d’une gouvernance microservices solide ?

Une gouvernance de microservices solide se compose de trois éléments : le personnel, le processus et la technologie. Pour une gouvernance réussie et fonctionnelle, ces trois éléments doivent s’aligner.

Key questions microservice catalog answers.

AFFICHE GRATUITE

Les 20 Questions essentielles auxquelles un catalogue de microservices répond

Télécharger