Brian Jackson - stock.adobe.com

La refonte d’Istio peut faciliter son utilisation… ou semer la discorde

Une nouvelle version du Service Mesh Istio déployée la semaine dernière introduit des changements significatifs dans l’architecture du projet, mais laisse des questions clés sans réponse sur son orientation.

La version 1.5 d’Istio introduit Istiod, un package monolithique qui combine quatre microservices dédiés au Control Plane en un seul service. Cela inclut le service d’injection de sidecars Envoy, le service Pilot qui gère la configuration du proxy sidecar, Citadel qui fournit des fonctions de sécurité et de certification, ainsi que Galley qui effectue les validations. 

Le composant Mixer dédié à la collecte de télémesures fournissait jusqu’alors des modules et des plugins intégrés au Control Plane d’Istio. Dans la version 1.5 du Service Mesh, ceux-ci seront intégrés au sein du proxy Envoy.

Istiod, un package monolithe au sein d’une architecture microservices

Pour rappel, Istio est un projet open source mené par Google, IBM, et Lyft. Ces acteurs ont développé une approche populaire du maillage de services, une architecture de réseau qui collecte des métriques et applique des politiques précises dans des environnements complexes basés sur des microservices. Ils s’enorgueillissent d’avoir de puissants contributeurs qui incluent désormais Red Hat, mais le projet n’a pas encore atteint le niveau de popularité des autres logiciels cloud natives, comme l’orchestrateur de conteneurs Kubernetes. En fait, le concurrent d’Istio, Linkerd profite depuis au moins un an de la mauvaise réputation du premier à cause d’une gestion fastidieuse. Linkerd propose des fonctionnalités telles que le TLS mutuel (mTLS).

Les chefs d’équipe chez IBM veulent qu’Istio bénéficie de la même croissance que Kubernetes, et ce désir a inspiré les changements importants apportés à Istio 1.5. La suppression du service Mixer, qui causait des goulets d’étranglement dans les versions précédentes, vise également à améliorer les performances du Control Plane d’Istio et renforcer son attrait auprès d’un public plus large.

« Nous voulons pouvoir passer plus rapidement d’un service à l’autre sans avoir à modifier à chaque fois la configuration des microservices. »
Lin SunIBM

« Nous voulons qu’Istio soit comme Kubernetes : une infrastructure “ennuyeuse” [N.D.R. répandue] pour les microservices », déclare Lin Sun, responsable technique d’IBM pour Istio. « C’est notre objectif prioritaire pour 2020. Nous voulons pouvoir passer plus rapidement d’un service à l’autre sans avoir à modifier à chaque fois la configuration des microservices ».

À court terme, ce changement risque de provoquer un tumulte dans l’industrie. Les entreprises en sont encore aux premiers stades de l’adoption du Service Mesh, selon les analystes.

« [Ajouter] un monolithe, pour gérer un service de maillage dont le but est de découvrir, de connecter et de gérer le trafic de microservices, c’est assez ironique », considère Brad Casemore, analyste chez IDC. « Cela peut amener certains à se dire : “S’ils [les contributeurs du projet] sont en train de faire des conjectures sur une architecture basée sur les microservices pour le maillage de services, puis-je être sûr qu’ils réussiront cette fois-ci ?” ».

Il faudra attendre la première version 1.5 du correctif pour que toutes les fonctionnalités d’Istiod soient prises en charge dans les environnements multicluster, alors que le nouveau daemon Istiod ne prend pas encore en charge les certificats de Citadel et le service d’injection de sidecar Envoy. Les utilisateurs qui avaient l’intention de déployer le gestionnaire de paquets Kubernetes, Helm V3, sans le serveur Tiller avec les nouvelles versions d’Istio devront également attendre les prochaines versions, car les détails du support de la version 3 d’Helm sous Istiod n’ont pas encore été finalisés.

Lin Sun ne s’attend pas à rencontrer beaucoup d’obstacles techniques pour mettre en œuvre ces fonctionnalités d’ici la prochaine version. Toutefois, l’audience d’Istio est habituée à l’architecture basée sur des microservices. Les premiers utilisateurs risquent de souffrir des changements radicaux apportés à la plateforme, surtout s’ils doivent attendre que la nouvelle architecture soit à la hauteur de celle proposée dans les versions précédentes, avertit l’analyste d’IDC.

« Une gestion simplifiée intéressera les équipes IT qui ne sont pas aussi compétentes que les “early adopters”, mais je me demande si cela n’envoie pas un message contradictoire », déclare-t-il.

Les développeurs des prochaines versions du Service Mesh devront également gérer la transition vers le nouveau mécanisme basé sur Envoy pour intégrer des extensions tierces au projet. Selon Lin Sin, la responsable technique d’Istio chez IBM la documentation pour la conversion des connecteurs Mixer en plugins Envoy est en cours d’élaboration.

Istio ne sera pas confié à une fondation… pour l’instant

Le projet est également confronté à des questions plus vastes et à plus long terme concernant sa gouvernance, à savoir s’il sera confié à une fondation telle que la CNCF, comme l’a été Kubernetes par Google.

Le succès de cette transition déterminera si les fabricants tiers de produits d’infrastructure de réseau tels que les contrôleurs de répartition de charge et de distribution d’applications continuent à soutenir Istio ou s’ils adoptent une alternative concurrente. Ce serait un autre coup dur possible à la dynamique du marché du Service Mesh.

Le comité directeur d’Istio, dont Lin Sun fait partie, discute de la possibilité de remanier la charte du projet afin d’élargir le comité directeur pour inclure des fournisseurs et d’autres contributeurs que Google, IBM et Red Hat. Lin Sun a refusé de partager tout autre détail spécifique concernant les changements de la charte. Le don d’Istio à une fondation reste pour l’instant non négociable, déclare-t-elle.

« C’est quelque chose que nous n’aimons pas, mais nous avons passé beaucoup de temps au sein d’IBM sur la nouvelle charte de pilotage, et la plupart de nos propositions ont été acceptées », ajoute-t-elle.

Pour approfondir sur Middleware et intégration de données