Qu’est-ce qu’un maillage de services ?

 

Un maillage de services se réfère à la manière dont le code logiciel des applications hébergées dans le Cloud est tissé à différents niveaux du serveur Web dans des couches intégrées. Plutôt que de fonctionner dans une exécution isolée sur la couche supérieure d’une configuration de pile de serveur Web, le code d’application hébergée dans le Cloud peut être intégré à des API qui autorisent des appels vers d’autres services orientés sur les logiciels disponibles au niveau du système d’exploitation, du serveur Web, du réseau ou du Data Center. Un maillage de services accroît les fonctionnalités potentielles des applications logicielles en étendant les niveaux de communication interopérable entre les éléments d’infrastructure en production.

 

Un maillage de services tisse ensemble des milliers de microservices à travers les VM dans un Data Center Cloud souple via une communication intercanal automatisée entre les applications en cours d’exécution. Une communication service à service dédiée est requise par les applications d’orchestration du Cloud, d’équilibrage de charge, de découverte des ressources, d’acheminement SDN, de communication API, de synchronisation de base de données et d’optimisation de script à tous les niveaux des opérations du Data Center. Un maillage de services peut être utilisé en vue d’améliorer l’analyse de données et les mesures de trafic pour l’architecture de réseau multiniveau à travers des millions de serveurs rack mutualisés à la fois.

Maillage de services

Le maillage de services fonctionne avec SDN pour opérer les fonctions critiques telles que la virtualisation et l’automatisation du réseau.

Découvrez comment. 

Avantages d’un maillage de services

  • Interopérabilité accrue : un maillage de services étend la fonctionnalité des fonctions d’acheminement SDN des environnements de microservice intégrés en soutien au code des applications Web, mobiles et SaaS.
  • Détection améliorée des microservices : un maillage de services améliore la configuration et la gestion du réseau par une meilleure détection des microservices.
  • Surveillance en temps réel et analyse de l’activité réseau détaillées : un maillage de services peut accéder aux processus back-end et au matériel du serveur Web pour une surveillance en temps réel et une analyse de l’activité réseau plus détaillées.
  • Automatisation puissante des scripts Web et mobiles : les développeurs peuvent créer des scripts de fonctionnalité de maillage de services via des fichiers YAML ou des utilitaires tels que Vagrant, Jenkins, Puppet, Chef, etc., afin de concevoir une automatisation puissante de scripts Web et mobiles à grande échelle. Ce type d’architecture est nécessaire pour prendre en charge les applications SaaS en production dans l’entreprise. Un maillage de services permet de coordonner des milliers ou des millions de conteneurs s’exécutant simultanément dans le Cloud.

 

Comment fonctionne un maillage de services ?

Un maillage de services fonctionne via des applications de découverte et d’acheminement installées sur chaque instance ou nœud de VM sur un réseau de serveur Web souple pour enregistrer les microservices en cours d’exécution par adresse IP. Un registre central est utilisé pour la configuration, la gestion et l’administration de tous les microservices s’exécutant simultanément sur un réseau. Le maillage de services peut être référencé par des applications parallèles opérant sur les diverses couches d’un serveur Web, d’un Data Center ou d’une application pour étendre les fonctionnalités interopérables via l’analyse de données et la surveillance de réseau. Cela se traduit par une automatisation plus grande du Data Center au niveau de l’acheminement IP, des définitions SDN, des paramètres de pare-feu, des filtres, des règles et de l’équilibrage de charge Cloud.

 

Les connexions API peuvent référencer le maillage de services afin d’établir où découvrir les applications et les fonctionnalités de microservice en cours d’exécution pour les transferts de données ou l’activité de traitement requise. Les plates-formes de serveur Web souple scalables automatiquement avec Kubernetes utilisent Istio comme registre central et utilitaire de gestion de configuration pour la détection des microservices. Les plates-formes de serveur Web souple telles que AWS EC2 et Kubernetes utilisent le maillage de services pour gérer plusieurs copies d’applications Cloud dans des exécutions simultanées tout en synchronisant les modifications de la base de données maître et du stockage. Un maillage de services permet à la couche d’application de communiquer avec les ressources de serveur Web, Internet et de Data Center via des API, ou vice versa, selon les exigences du microservice ou de la base de code.

 

Architecture du maillage de services

Un maillage de services repose sur une couche d’abstraction installée sur des VM ou des conteneurs dans un Data Center Cloud. Le code est installé sur chaque VM ou nœud qui communique avec une instance logicielle d’administration centrale exécutant l’orchestration du Data Center. Les solutions de maillage de services telles que VMware NSX et Istio font appel à Envoy pour crée le plan de données au niveau du nœud. Envoy gère les informations liées aux microservices en cours d’exécution, aux adresses IP sous licence, au chiffrement HTTPS, aux formats de base de données actifs, etc., pour chaque VM ou nœud. Avec NSX, cela comprend l’intégration de pare-feu distribuée au niveau de l’hyperviseur. Sur les réseaux Cloud souples, les informations de plan de données de chaque VM ou nœud sont utilisées pour l’équilibrage de charge. Les connexions API font appel à l’architecture de maillage de services pour ce qui est des exigences d’acheminement entre les applications. La télémétrie au niveau 7 du maillage de services comprend DNS, HTTP/S, SMTP, POP3, FTP, etc.

 

Mise en œuvre du maillage de services

La mise en œuvre du maillage de services comprend l’équilibrage de charge et la détection des services à travers les ressources SDN, d’adresse IP, de microservice et API d’une application Web/mobile. Le maillage de services gère la communication, la synchronisation et le chiffrement pour les communications sur le serveur Web principal à travers le matériel sur une architecture de serveur Web souple. Dans les applications Cloud, les fichiers de script, de base de données et Web statiques sont souvent séparés sur du matériel différent, puis assemblés sur la page finale du navigateur Web. L’acheminement SDN entre le matériel, les scripts, la base de données et les fichiers devient encore plus complexe avec des API tierces dans le code. Lorsque tous ces éléments doivent être assemblés à travers les ressources pour chaque chargement de page, le maillage de services intègre, synchronise et standardise le fonctionnement sur les VM dans les infrastructures de serveur Web souple. Le maillage de services a été créé pour répondre à un besoin qu’aucun autre logiciel ne satisfait dans le Data Center. Il comprend également l’analyse de données et les mesures utilisateur des connexions de trafic Web.

 

Maillage de services open source

Istio est actuellement le projet de maillage de services open source le plus avancé, Envoy étant utilisé pour les fonctionnalités centrales liées à la gestion du plan de données sur les nœuds. Istio a initialement été développé dans le cadre de la CNCF (Cloud Native Computing Foundation) et fonctionne avec les plates-formes VMware NSX Service Mesh et Enterprise PKS platforms. PKS est la distribution Kubernetes de VMware qui orchestre les serveurs Web Cloud à travers les conteneurs. PKS est disponible en tant que package hébergé automatiquement pour les besoins en Cloud public et privé ou en tant que produit CaaS (Containers-as-a-Service) entièrement géré. Istio est utilisé pour la communication des microservices dans Kubernetes avec des fonctionnalités d’acheminement d’adresse IP complexes et un chiffrement pour l’orchestration de serveur Web souple dans les Data Centers à grande échelle. Linkerd, Conduit, Aspen et Consul sont d’autres projets open source importants développés en tant que composants d’infrastructures de maillage de services.

 

Maillage de services souple

Un maillage de services souple est nécessaire pour synchroniser les fichiers de base de données et de site Web dans une infrastructure d’hébergement Cloud telle que AWS EC2 ou Kubernetes. Le maillage de services contrôle l’acheminement entre les VM sur le serveur Web principal pour les besoins API et SDN dans le support des applications logicielles. Lorsque le maillage de services est également utilisé pour la découverte et l’équilibrage de charge sur les réseaux de serveurs Web souples, les administrateurs peuvent automatiser l’allocation des ressources de Data Center en fonction des exigences du trafic utilisateur en production. Les serveurs Web peuvent être configurés pour se lancer automatiquement ou peuvent être arrêtés lorsqu’ils ne sont plus utiles, afin d’utiliser plus efficacement les ressources de matériel Cloud. La possibilité d’incorporer des fonctionnalités de surveillance en temps réel et d’analyse dans un maillage de services au niveau des VM ou des nœuds permet aux développeurs de logiciels, aux programmeurs et aux éditeurs Web de créer de nouvelles fonctionnalités pour les applications à l’aide de microservices.

 

Pourquoi l’architecture de microservices nécessite un maillage de services

Un Cloud public peut contenir des millions de microservices s’exécutant simultanément sur des conteneurs ou des machines virtuelles qui prennent en charge différentes applications et bases de données en parallèle via des exécutions isolées. Les environnements mutualisés basés sur la virtualisation nécessitent une meilleure méthode pour découvrir et enregistrer les microservices de sorte que les fonctionnalités uniques de chaque microservice puissent être intégrées par les applications ou partagées avec d’autres terminaux utilisant des API. De nombreux formats de microservice ne sont pas conçus spécifiquement pour les plates-formes de serveurs Web souples et ont besoin d’un maillage de services pour gérer le fonctionnement dans les conteneurs. Un maillage de services fournit les fonctionnalités d’acheminement et de chiffrement détaillées via SDN qui permettent à différentes API de communiquer entre les processus de code s’exécutant sur les serveurs Web, les terminaux et autres périphériques.

Produits, solutions et ressources VMware Service Mesh

NSX Data Center

VMware NSX® Data Center fournit un réseau et une sécurité virtualisés entièrement dans un logiciel.

VMware NSX Service Mesh

VMware NSX Service Mesh vous permet d’apporter un contrôle et une visibilité homogènes au niveau des services, des données et des utilisateurs.

VMware Enterprise PKS

VMware Enterprise PKS vous permet de déployer, d’exécuter et de gérer Kubernetes pour la production.