Que sont les microservices ? | Glossaire VMware | FR

Que sont les microservices ?

 

Le terme microservices désigne les milliers de normes Web, de langages de programmation, de plates-formes de bases de données et de composants de serveurs Web indépendants qui font office d’outils de développement dans le cycle de vie des logiciels actuels. D’un point de vue traditionnel, les entreprises se concentraient sur l’architecture SOA (Service-Oriented Architecture), qui représentait la technologie de matériel et de logiciel intégrée à partir d’une seule et même société informatique. Avec les microservices, des milliers de composants différents sont pris en charge dans les applications logicielles Cloud et les serveurs Web d’entreprises de développement indépendantes ou de communautés open source. Les départements informatiques avaient besoin d’un nouveau concept pour gérer les microservices en production à travers des environnements mutualisés isolés dans des Data Centers de Cloud public à grande échelle et ont largement adopté les solutions de virtualisation avec des normes SDDC orientées sur la technologie de maillage de services pour corriger cela. Les microservices forment les blocs de construction ou les composants fondamentaux, les plates-formes et les infrastructures sur lesquels le code est conçu et opéré sur les serveurs Web dans un Data Center Cloud.

Architecture monolithique et architecture de microservices

  • Architecture monolithique : héritée de l’ère du mainframe IBM et de la période où le système d’exploitation Microsoft Windows avait le monopole dans l’informatique d’entreprise. 
  • Microservices : ils ont à l’origine évolué à partir des communautés open source, des développeurs tiers et des start-ups, avec des programmeurs indépendants contribuant à un code étendant les fonctionnalités de base des plates-formes de serveur Web les plus courantes. Aujourd’hui, la plupart des entreprises informatiques majeures diffusent leurs propres microservices et contributions dans des projets open source dans lesquels des normes sur des aspects fondamentaux uniques sont adoptées dans des secteurs verticaux et des équipes. Les microservices opèrent sur le même principe de l’innovation dans le développement via des solutions de code open source destinées aux applications Cloud, bien que les microservices sous licence propriétaire soient également courants aujourd’hui.

 

Avantages des microservices

  • Innovation rapide : les entreprises et les start-ups peuvent innover sur le marché plus rapidement qu’avec une architecture monolithique lorsqu’il leur faut créer de nouvelles fonctionnalités pour des applications logicielles. Les clients utilisant des applications Web et mobiles réclament de nouvelles fonctionnalités. La technologie innovante est financée via son adoption par tous et par les entreprises. Il existe un avantage à ce que les entreprises informatiques majeures et les start-ups demeurent à l’avant-garde de la programmation et du développement en intégrant de nouveaux microservices.
  • Niveaux supérieurs d’automatisation du Data Center : les développeurs préfèrent utiliser certaines plates-formes ou normes et cela comprend la prise en charge des langages de programmation et des bases de données dans les applications Web/mobiles intégrant des microservices. Les microservices se connectent via des processus en script, tels que les API, qui peuvent se traduire par des niveaux supérieurs d’automatisation du Data Center.

 

Comment fonctionnent les microservices ?

Les microservices fonctionnent essentiellement en augmentant les fonctionnalités disponibles sur un serveur Web par rapport à celles qui sont fournies par le système d’exploitation, le réseau ou la plate-forme de gestion de Data Center par défaut. Certains microservices sont des extensions de piles de serveurs Web telles que les plates-formes de langage de programmation et les infrastructures de bases de données. Pour développer des applications PHP et MySQL, l’environnement de serveur Web doit être configuré avec la prise en charge de la plate-forme LAMP. Les solutions basées sur les microservices concurrencent largement l’architecture orientée sur les services fournie par Microsoft, Oracle, IBM et les autres entreprises informatiques majeures dans les distributions closed source. Les entreprises doivent à présent prendre en charge plusieurs applications écrites dans les langages PHP, Python, Ruby-on-Rails, Java, C++, ASP.net, etc., en tandem ou simultanément en production. Dans d’autres situations, un Data Center peut avoir plusieurs infrastructures de bases de données en fonctionnement via des VM sur du matériel mutualisé. Un serveur Web doit être configuré afin de prendre en charge les extensions personnalisées pour les médias de streaming et les intégrations API, ou via l’ajout d’utilitaires propriétaires à des fins d’analyse. Chaque fois que tous ces services tiers et open source sont ajoutés ensemble, ils équivalent à des milliers de microservices sur un serveur Web standard en production, qui sont alors multipliés par des millions de VM à grande échelle dans un environnement de service de Cloud public.

 

Historique des microservices

L’utilisation du terme microservices s’est surtout développée après l’ère du Web 2.0, alors que l’informatique d’entreprise nécessitait une nouvelle manière de conceptualiser l’environnement de développement de logiciel pour refléter l’écosystème et les meilleures pratiques en cours. L’utilisation des microservices pour le développement des applications Web et mobiles s’est traduite pour les administrateurs de Data Center par une complexité accrue des opérations de l’entreprise. Au lieu d’un simple contrat avec Oracle, IBM ou Microsoft couvrant toutes les solutions logicielles et de Data Center requises, les entreprises doivent à présent naviguer dans un environnement incluant des millions de projets de code open source qui offrent des solutions de niveau entreprise. De nombreuses normes Web ont des versions concurrentes issues de différentes entreprises. De nombreux langages de programmation et bases de données couvrent les mêmes fonctionnalités utilisées. Chaque équipe de développement a ses propres préférences en matière d’outils et de méthodes de programmation. Gérer toute cette complexité à l’ère du Cloud dans un service informatique d’entreprise unifié s’est traduit par le besoin, dans de nombreuses organisations complexes à travers le monde, de prendre en charge les microservices dans le développement logiciel professionnel.

 

Compréhension de l’architecture de microservices

Le meilleur moyen de comprendre l’architecture de microservices est d’imaginer les couches de logiciel dans une pile de serveur Web. Le système d’exploitation peut être Windows, Linux ou BSD pour le serveur Web. Il existe des outils de gestion du Data Center et d’équilibrage de charge sur le réseau. Les choix possibles sont, par exemple, Apache, IIS, NGINX, Caddy, Tomcat, etc., pour le serveur Web. Vient ensuite la couche de la prise en charge du langage de programmation installé, tel que PHP, ASP.net, Python, Ruby, Perl, Java et Go. Puis la couche des infrastructures de base de données, telles que MySQL, MSSQL, PostgreSQL et MongoDB. Une autre couche est dédiée aux utilitaires de mise en cache tels que Varnish, Redis, les CDN et les utilitaires d’optimisation. D’autres couches de prise en charge comprennent les serveurs Edge, les plates-formes sans serveur et l’intégration de l’IA/de l’autoapprentissage. Dans un écosystème de Cloud public, des milliers de microservices opèrent simultanément et doivent être gérés dans le maillage de services pour prendre en charge l’interopérabilité, l’acheminement et les communications.

 

SOA (Service-Oriented Architecture) et microservices

La SOA provient généralement d’un seul fournisseur ou comprend un package de solutions matérielles et logicielles pouvant être déployées pour un besoin industriel bien défini. La SOA prend en charge le Data Center, le serveur Web et la couche de pile via différents modèles de produit ou distributions. Elle est disponible dans les solutions propriétaires et open source proposées par le fournisseur. L’équipement de réseau et les connexions par fibres sont gérés de différentes manières dans les Data Centers Cloud par rapport aux Data Centers privés en interne. Les microservices sont nécessaires pour innover dans l’état actuel de l’environnement de développement logiciel. Même les plus grandes entreprises doivent adopter les microservices pour soutenir les équipes de programmation Agile commercialisant de nouvelles applications Web/mobiles, dont le support produit peut inclure des milliers de marques ou de domaines. Les microservices sont fréquemment requis pour la modernisation et la conteneurisation des logiciels d’entreprise legacy. 

Produits, solutions et ressources VMware Microservices

Qu’est-ce que le software-defined storage ?

Le software-defined storage VMware est une architecture de stockage de Data Center simple, mais intelligente, qui s’adapte aux impératifs de l’entreprise et concernant les applications. En savoir plus.

Définition des services Cloud

Posent les bases d’un modèle d’exploitation orienté sur les services et définis par l’entreprise qui reflète les meilleures pratiques en matière de définition de services Cloud.

Qu’est-ce que la virtualisation ?

La virtualisation est le moyen le plus efficace de réduire les dépenses informatiques tout en stimulant l’efficacité et l’agilité pour toutes les entreprises, quelle que soit leur taille.

Quelle est la différence entre « orienté sur les projets » et « orienté sur les services » ?

Aujourd’hui, les entreprises informatiques utilisent les projets comme un concept pour gérer leurs activités. Devenir orienté sur les services peut accélérer le provisionnement et diminuer les coûts.

Suite Cloud d’entreprise

Une suite Cloud d’entreprise est un ensemble intégré de produits destinés à gérer les Clouds hybrides et à assurer un provisionnement en libre-service.

Création de la définition de service et du terminal virtuel correspondant

Vous devez utiliser des API NSX Manager afin de créer une définition de service et un terminal virtuel pour l’appliance de service dans votre Cloud public.