Google a pris son engagement le plus important à ce jour dans la pratique émergente de Gitops, en développant un ensemble d’outils open source visant à aider les organisations à configurer et à gérer de manière cohérente leurs applications conteneurisées à grande échelle.
En tant qu’orchestrateur de conteneurs Kubernetes– qui a émergé de Google en 2014 – continue de devenir une couche centrale pour cloud natif , être capable de gérer des flottes de conteneurs et de réconcilier l’état souhaité avec l’état réel est devenu une tâche spécialisée qui nécessite généralement une connaissance approfondie du domaine. Cela inclut la possibilité d’écrire des graphiques Helm et du code dans le langage YAML tant décrié.
« Les entreprises de toutes tailles tirent parti de Kubernetes pour moderniser la façon dont elles créent, déploient et exploitent des applications sur leur infrastructure. Au fur et à mesure que ces entreprises augmentent le nombre de clusters de développement et de production qu’elles utilisent, il devient difficile de créer et d’appliquer des configurations et des politiques de sécurité cohérentes dans un environnement en pleine croissance », a écrit Brian Grant, ingénieur distingué de Google et l’un des architectes originaux de Kubernetes, dans un document technique. article de blog de la semaine dernière.
Gitops : Devops commence par Git
Gitops est apparu comme une extension de l’existant devops pour relever certains de ces défis. En traitant principalement l’infrastructure en tant que code, une application et son infrastructure sous-jacente peuvent être stockées dans un système de contrôle de version, très probablement Git, qui devient alors une source unique de vérité pour les équipes de développement et d’exploitation.
Un agent logiciel, le plus souvent les outils de livraison continue open source Argo ou Flux, s’assure ensuite que l’état réel d’une application correspond à l’état souhaité tel que déclaré dans les fichiers de configuration. Maintenant, en plus de cela, des fournisseurs comme Tissages et Codefresh cherchent à créer des plates-formes Gitops hébergées pour faciliter l’adoption par les entreprises.
« Si vous plissez les yeux, Gitops est similaire à Marionnette», a déclaré Grant à InfoWorld dans une interview. « Il s’agit d’une approche déclarative, avec un agent logiciel qui maintient les choses synchronisées. »
Cependant, la pratique naissante nécessite encore des travaux lourds importants des spécialistes des opérations pour écrire et maintenir ces fichiers de configuration Kubernetes et s’assurer que les processus sont en place pour donner à leurs développeurs ce dont ils ont besoin, sans sacrifier la sécurité et la cohérence.
Comment Google travaille pour simplifier Gitops
Grant dit qu’il soutient Gitops depuis ses débuts, et Google voit certainement Kubernetes et Gitops comme allant ensemble comme du beurre de cacahuète et du chocolat. Le problème à ce jour est que trop d’entreprises ont du mal à configurer et à gérer de manière cohérente diverses configurations Kubernetes à grande échelle.
Plus précisément, Google Cloud travaille sur plusieurs outils qui devraient aider à simplifier la gestion des environnements Kubernetes en utilisant les principes Gitops, en rendant diverses tâches de configuration plus compatibles avec les outils conviviaux pour les développeurs, tels que les interfaces utilisateur graphiques (GUI) et les interfaces de ligne de commande (CLI).
« Nous avons entendu des utilisateurs dire que les modifications qui ne prennent que quelques secondes dans une interface graphique peuvent prendre des jours à effectuer via les outils de configuration », a écrit Grant. « Pour vraiment rendre Gitops utilisable, nous devons aborder la dichotomie inhérente entre les surfaces client préférées et les outils de configuration. »
Au cœur de ces efforts se trouve kpt, un ancien open source « Chaîne d’outils centrée sur les packages pour aider équipes de plateforme gérer leur infrastructure.
Grant indique que Google étend maintenant cette chaîne d’outils pour travailler avec l’orchestrateur de paquets Porch afin que les développeurs puissent créer et automatiser les configurations « ce que vous voyez est ce que vous obtenez » (WYSIWYG), y compris la création, l’édition, la transformation et les tâches de mise à niveau des packages.
Google a également construit un plugin open source pour Backstage, une plate-forme open source populaire qui a émergé de Spotify pour aider les équipes de plate-forme à créer des portails de développement internes en libre-service. « Cela offre une expérience d’interface graphique WYSIWYG. Il s’appuie sur l’orchestrateur de package pour permettre aux équipes de plate-forme et d’application de créer et de modifier facilement la configuration, tout en appliquant des garde-fous », a écrit Grant. « Vous n’avez pas besoin d’écrire des modifications YAML, des correctifs ou des modèles, ni même de brancher, valider, baliser, pousser et fusionner des modifications. »
Bien que l’utilisation d’une interface graphique pour exécuter des pratiques Gitops ne soit pas nouvelle, « les approches dominantes exigentJe suis en colère en créant des abstractions, souvent minces, qui doivent être construites sur mesure sur le modèle de ressources Kubernetes », a écrit Grant. « Cela crée une situation où les équipes de plate-forme doivent faire beaucoup de travail supplémentaire pour créer une expérience de gestion au-dessus de Kubernetes. » Maintenant, avec ces efforts, Google espère qu’il pourra « activer une interface graphique qui complète l’écosystème existant, plutôt que d’exiger de minces abstractions qui ne font que gêner ».
Bien que ces étapes initiales ne prennent en charge que le provisionnement et la gestion des espaces de noms et de leurs ressources de stratégie Kubernetes adjacentes, Google prévoit de continuer à travailler sur l’activation de plus en plus de tâches d’administration de cluster à l’avenir.
Les opérateurs de cluster et les administrateurs de plate-forme peuvent également commencer à utiliser kpt de la même manière que kustomize pour une gestion simplifiée de la configuration, en ce sens qu’il permet de sélectionner des fonctions pour transformer les ressources et créer des variantes. Ces fonctions peuvent ensuite être utilisées comme base pour un catalogue de configuration, afin que des instances similaires puissent être lancées plus rapidement à l’avenir.
« Les fonctions composables permettent une expérience low-code pour les constructeurs de plate-forme et une expérience sans code pour les utilisateurs de plate-forme », a écrit Grant.
Google a également récemment ouvert sa propre implémentation de référence Gitops, appelée Config Sync, et l’a inclus dans kpt.
Enfin, Grant a souligné le projet d’automatisation de réseau natif du cloud de la Linux Foundation, Nephio, qui, selon lui, « s’appuie sur kpt, Porch et Config Sync pour automatiser la configuration des fonctions réseau interconnectées et l’infrastructure sous-jacente qui prend en charge ces fonctions ».
Quelle est la prochaine étape pour Gitops ?
Google veut que kpt devienne un standard ouvert qui peut aider à simplifier l’adoption plus large de Gitops, Grant écrivant que le fournisseur de cloud « cherche à s’engager avec la communauté pour faire progresser cette technologie ».
« Nous sommes très heureux de voir Google investir dans Gitops et rejoindre la communauté », a déclaré Alexis Richardson, fondateur de Weaveworks, qui a inventé le terme Gitops, à InfoWorld par e-mail. « Les clients demandent des outils de développement pour déployer de nouveaux services sans connaître les détails de Kubernetes. Le nouveau système Google fait exactement cela, et fonctionne hors de la boîte avec tous nos outils. Mieux encore, tout le monde peut l’utiliser et s’en inspirer pour expédier des solutions de qualité professionnelle. »
L’analyste de RedMonk, James Governor, voit cette annonce comme une preuve supplémentaire que Gitops continue de s’établir dans l’ensemble de l’industrie. « Google Cloud met son poids carrément derrière Gitops est un autre marqueur fort en faveur de l’approche de flux de travail », a-t-il déclaré à InfoWorld.
Droits d’auteur © 2022 IDG Communications, Inc.