LeanIX Continuous Transformation Platform®
Une plateforme SaaS Cloud Native qui répond aux normes les plus élevées en matière de sécurité et de protection des données
Voyez LeanIX en action
Découvrez tout ce qu’il faut savoir sur la Gouvernance Microservices, ses principaux éléments et ce qu’ils contiennent.
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).
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.
Basée sur l’expérience et l’adoption de microservices, la gouvernance de microservices met l’accent sur les choses suivantes :
Entreprise
Composants techniques
Organisation
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 :
Poster
20 Key Questions a Microservice Catalog Answers
Download this LeanIX poster to see the 20 key questions a microservice catalog can answer.
Video
Microservices @ LeanIX - then, now and tomorrow
Live Recording - EA Connect Day 2020
Per Bernhardt - Staff Software Engineer - 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.
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
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.
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.
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
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 :
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.
É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.
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.
Plus d’informations sur les 20 questions essentielles auxquelles un catalogue de microservices peut répondre.
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.
Voici les 20 questions essentielles auxquelles un catalogue de services peut répondre.
Découvrez-en plus sur les catalogues de 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.
AFFICHE GRATUITE
Les 20 Questions essentielles auxquelles un catalogue de microservices répond
Télécharger