g215 - stock.adobe.com

Service mesh : les mainteneurs tentent d’adoucir l’image d’Istio

Trois mois après que le maillage de services Istio a été gradué par la Cloud Native Computing Foundation, ses soutiens cherchent à dissiper l’image décourageante d’une technologie complexe que le projet s’est forgée à ses débuts, alors que le réseau cloud-native s’impose dans les systèmes d’information de grandes entreprises.

Istio, un projet né en 2017 chez Google et IBM, est l’une des nombreuses approches sur le marché du maillage de services. Cette architecture virtuelle de réseau liée à Kubernetes doit transférer les tâches de gestion des applications vers un ensemble distribué de composants logiciels appelés proxys sidecar. Cela présente l’avantage de protéger les développeurs d’applications de la complexité de la connectivité des microservices.

Or, au cours des premières années d’existence, les DSI constataient la complexité d’implémentation de cette technologie, alors qu’elles ne maîtrisaient pas encore l’orchestrateur de conteneurs. Puis, en 2020, le projet a fait l’objet d’une refonte majeure de son architecture, entraînant des changements cassants. Cette année-là, le comité de direction d’Istio a également mis en place une approche plus systématique des étapes de développement des nouvelles fonctionnalités.

En 2022, les responsables d’Istio pouvaient se targuer d’une expérience opérationnelle plus fluide pour le maillage de services. Il suffit d’une seule commande pour déployer le service mesh et la prise en charge des Helm Charts a été améliorée.

Google a par ailleurs rĂ©pondu Ă  une demande de longue date de nombreux utilisateurs souhaitant qu’Istio soit donnĂ© Ă  la Cloud Native Computing Foundation (CNCF). Après l’acceptation d’Istio par la CNCF en juillet 2022, d’autres fournisseurs ont commencĂ© Ă  contribuer au projet, notamment Microsoft, qui avait prĂ©cĂ©demment créé son propre Open Service Mesh, en partie pour critiquer la rĂ©ticence de Google Ă  faire don d’Istio Ă  une fondation.

« Davantage de fournisseurs sont prĂŞts Ă  se lancer et Ă  participer Â», constate Christian Posta, vice-prĂ©sident et directeur technique mondial de Solo.io, un Ă©diteur d’une plateforme de connectivitĂ© cloud native pendant la confĂ©rence virtuelle IstioCon la semaine dernière. « Vous voyez Microsoft se lancer, alors que je ne pensais pas que cela arriverait un jour… [La graduation de la CNCF] a vraiment abaissĂ© la barrière pour un plus grand nombre de personnes – et pas nĂ©cessairement pour les utilisateurs finaux Â».

Au cours des 18 mois qui se sont Ă©coulĂ©s depuis la donation initiale d’Istio Ă  la CNCF le projet a fait des progrès significatifs sur des fonctionnalitĂ©s recherchĂ©es telles que la stabilisation de la prise en charge des Helm charts, qui avaient Ă©tĂ© dĂ©prĂ©ciĂ©s au dĂ©but de 2020, puis rĂ©tablis en 2021. Cette prise en charge en bĂŞta depuis la version 1.17 d’Istio en fĂ©vrier est suffisamment stable pour soulager les professionnels qui avaient du mal Ă  s’en passer.

« L’annĂ©e dernière [...], les mises Ă  jour sur place [d’Istio] Ă©taient impossibles [...]. Helm nous permet d’effectuer des mises Ă  jour sur place, Ă  tel point que nous l’ajoutons Ă  notre pipeline CI/CD. Â»
Ben SnyderIngénieur DevOps Senior, Thales

« L’annĂ©e dernière […], les mises Ă  jour sur place [d’Istio] Ă©taient impossibles, ce qui nous obligeait Ă  effectuer des mises Ă  jour blue/green des clusters pour un dĂ©ployer un changement d’Istio, aussi mineur soit-il Â», tĂ©moigne Ben Snyder, ingĂ©nieur DevOps senior pour la division de monĂ©tisation des logiciels de Thales. « Helm nous permet d’effectuer des mises Ă  jour sur place, Ă  tel point que nous l’ajoutons Ă  notre pipeline CI/CD. Â»

La vague de maturité liée à Kubernetes soulève le bateau Service Mesh

Ă€ ses dĂ©buts, Istio n’était pas seulement complexe Ă  mettre en place. Ses fonctionnalitĂ©s disparaissaient d’une version Ă  l’autre et l’architecture de l’API Ă©tait encore en cours de rĂ©vision, rappelle Christian Posta. Depuis, beaucoup de travail a Ă©tĂ© fait pour rendre la « première expĂ©rience Â» plus conviviale, avec la fameuse procĂ©dure de dĂ©ploiement Ă  l’aide d’une seule commande et d’un analyseur intĂ©grĂ© pour dĂ©panner les erreurs d’installation.

En outre, selon M. Posta, une trop grande simplicitĂ© dans le monde intrinsèquement complexe des rĂ©seaux cloud native aurait desservi une large base d’utilisateurs d’entreprise. Des questions telles que le contrĂ´le des ingress doivent encore ĂŞtre abordĂ©es pour les clusters Kubernetes, qu’Istio a toujours intĂ©grĂ©s, ainsi que la prise en charge des politiques de sĂ©curitĂ© des applications Ă  grain fin, et depuis plusieurs annĂ©es, la gestion multiclusters.

Les professionnels qui ont participĂ© Ă  l’IstioCon 2023 considèrent que le maillage de services est le moyen le plus efficace d’atteindre les objectifs prĂ©cis de niveau de service (SLO) rĂ©clamĂ©s dans une infrastructure cloud-native orientĂ©e client, composĂ©e de milliers de microservices potentiellement interdĂ©pendants. Les progrès de l’ingĂ©nierie des plateformes et des techniques d’automatisation du dĂ©ploiement, comme l’approche GitOps, qui ont coĂŻncidĂ© avec l’adoption de Kubernetes, ont Ă©galement allĂ©gĂ© les charges opĂ©rationnelles liĂ©es au service mesh. Les services de plateforme tels que Kiali, Prometheus et Jaeger qui sont liĂ©s Ă  Istio permettent aussi aux SRE de comprendre relativement facilement les relations complexes entre les parties des services de production, selon les prĂ©sentateurs de l’IstioCon.

« Avec Istio, nous sommes en mesure de fournir des donnĂ©es sur les flux de trafic et les parcours des utilisateurs pour aider Ă  dĂ©finir les SLO sans trop d’intrusion [dans l’application] Â», dĂ©clare Chris Dutra, responsable SRE pour les marchĂ©s chez le gĂ©ant des services financiers JPMorgan Chase & Co, lors d’une prĂ©sentation de l’IstioCOn.

En outre, il est possible d’aborder les dĂ©ploiements de maillage de services de manière itĂ©rative, de la mĂŞme manière que les entreprises ont prĂ©parĂ© les transformations Agile et DevOps, selon John Keates, ingĂ©nieur cloud chez Wehkamp Retail Group, une sociĂ©tĂ© d’e-commerce, au cours d’une autre session d’IstiCon.

En fait, certains de ces projets de transformation ont permis d’obtenir des connaissances des conteneurs et des systèmes Linux que les professionnels des opérations IT peuvent utiliser pour appréhender le déploiement d’un service mesh, remarque-t-il.

« Pour nous, nous avions dĂ©jĂ  une certaine expĂ©rience de la plateforme qui Ă©tait relativement liĂ©e Ă  Istio, y compris la planification et l’orchestration de conteneurs et la gĂ©nĂ©ration de YAML… et l’obtention de mĂ©triques via Prometheus, ce qui aide beaucoup Â», constate John Keates.

« En 2024, le service mesh passera du statut de projet scientifique Ă  celui de service opĂ©rationnel courant Â».
Vijay BhagavathAnalyste, IDC

Selon Vijay Bhagavath, analyste chez IDC, cette familiaritĂ© et cette maturitĂ© dans les environnements Kubernetes d’entreprise sont devenues monnaie courante dans la plupart des entreprises. Ces tendances signifient que le service mesh deviendra probablement un concept tout aussi familier pour la majeure partie du marchĂ© de l’IT au cours des 12 prochains mois.

« Kubernetes n’est plus une nouveautĂ©. Les conteneurs ne sont plus une nouveautĂ© Â», souligne Vijay Bhagavath lors d’un interview avec SearchITOperations, une publication sĹ“ur du MagIT. « En 2024, le service mesh passera du statut de projet scientifique Ă  celui de service opĂ©rationnel courant Â».

Architecture Ambient Mesh
Ambient Mesh, une nouvelle architecture pour Istio, doit simplifier les déploiements, alléger son poids sur les infrastructures et renforcer la sécurité.

Les mainteneurs visent la stabilité d’Ambient Mesh en 2024

Sachant bien qu’il faut suivre de près cette tendance, les contributeurs du projet Istio préparent une architecture sans sidecar, nommé Ambient Mesh.

Ambient Mesh modifie l’architecture d’Istio pour ne plus avoir à déployer un conteneur sidecar par Pod Kubernetes. Si le control plane ne change pas radicalement, le data plane, lui, est divisé en deux principaux composants, à savoir l’agent Ztunnel (un daemonset), déployé au niveau de chaque nœud d’un cluster et le proxy Waypoint, installé au niveau des namespace (au besoin) ou plus généralement au niveau d’un service account Kubernetes.

Cette architecture s’avère moins gourmande en ressources et permet de sĂ©parer la gestion des règles L4 orchestrĂ©es au niveau de Ztunnel – qui gère aussi l’interconnexion sĂ©curisĂ©e entre les nĹ“uds â€“ des règles L7, appliquĂ©es Ă  l’aide du proxy Waypoint.

Ambient Mesh, prĂ©sentĂ© pour la première fois en septembre 2022 en tant que fonctionnalitĂ© expĂ©rimentale, a Ă©tĂ© promu en version alpha dans Istio 1.18 en juin. Une version bĂŞta est prĂ©vue pour la prochaine version d’Istio, la mouture 1.20. Aucune date de sortie n’a Ă©tĂ© rendue publique pour cette version, mais la version 1.19 a Ă©tĂ© publiĂ©e au dĂ©but du mois de septembre 2023, et Istio reçoit gĂ©nĂ©ralement des mises Ă  jour trimestrielles.

Alors que des Ă©diteurs tels que Solo.io prennent dĂ©jĂ  en charge des versions fonctionnelles d’Ambient Mesh, une prĂ©sentation de la feuille de route de l’IstioCon a dĂ©taillĂ© le travail en cours dans la version en amont pour dĂ©velopper des API stables, la prise en charge des environnements multicluster de Kubernetes et l’intĂ©gration avec les plug-ins d’interface de rĂ©seau de conteneurs de Kubernetes. Le travail en cours pour remplacer l’API de trafic d’Istio par l’API Kubernetes Gateway, qui devrait Ă©galement simplifier la gestion du maillage de services, doit ĂŞtre rĂ©pliquĂ© avec Ambient Mesh, selon une autre prĂ©sentation de l’IstioCon. Les responsables de la maintenance travaillent toujours Ă  la prise en charge d’une architecture hybride mĂŞlant Ambient Mesh et sidecar dans le mĂŞme cluster. Cependant, Ambient Mesh devrait atteindre une version stable et prĂŞte pour la production au cours des 12 prochains mois, anticipent les responsables lors d’une prĂ©sentation de la feuille de route.

« L’un des objectifs d’Ambient [Mesh] est d’étendre la portĂ©e d’Istio, de sorte que nous puissions cibler les utilisateurs qui n’ont jamais dĂ©ployĂ© Istio pour diverses raisons, qu’il s’agisse du coĂ»t, de la complexitĂ© ou de la compatibilitĂ© Â».
John HowardIngénieur logiciel senior, Google

Bien qu’il soit encore tôt pour l’avènement Ambient Mesh, les utilisateurs d’Istio se montrent enthousiastes à son égard.

« Ambient Mesh semble apporter une gestion simplifiĂ©e, ainsi que l’élimination de la surcharge des sidecars Â», dĂ©clare Ben Snyder. « Il reste Ă  voir si cela vaut la peine de migrer, mais jusqu’à prĂ©sent, cela paraĂ®t prometteur Â».

Les usagers existants pourraient trouver Ambient Mesh intéressant, mais il s’agit d’abord de renforcer l’attrait d’Istio pour un nouveau public, selon les présentateurs du comité de supervision technique d’Istio lors d’une séance de questions/réponses à l’IstioCon.

« L’un des objectifs d’Ambient [Mesh] est d’étendre la portĂ©e d’Istio, de sorte que nous puissions cibler les utilisateurs qui n’ont jamais dĂ©ployĂ© Istio pour diverses raisons, qu’il s’agisse du coĂ»t, de la complexitĂ© ou de la compatibilitĂ© Â», rappelle John Howard, ingĂ©nieur logiciel chez Google.

Pour approfondir sur Virtualisation de réseaux, SDN, Réseau pour conteneurs, NFV