Les technologies choisies aujourd’hui par les services informatiques des entreprises auront un impact à long terme sur leurs performances, leurs opérations et leur stratégie globale. Parfois, il faut bien plus d’une décennie pour réaliser toutes les implications d’une solution technologique.
Cela peut mettre beaucoup de poids sur les épaules de la gestion informatique, en particulier lorsqu’il s’agit de technologies émergentes dont l’utilité, l’importance et la trajectoire ne sont peut-être pas encore entièrement connues. Placer un mauvais pari sur un nouveau logiciel peut entraîner des intégrations et des perturbations difficiles dans l’ensemble de la pile technologique d’une organisation, ce qui à long terme peut entraîner une perte de productivité, des budgets gaspillés et la probabilité de perdre du terrain au profit des concurrents.
Kubernetes, la plate-forme d’orchestration de conteneurs open source, était jusqu’à récemment considérée de la même manière, les services informatiques ayant du mal à évaluer pleinement sa valeur à long terme. Cependant, Kubernetes exécutant désormais 86% des clusters de conteneurs, il est devenu la norme de facto pour l’infrastructure cloud native. Cela signifie que la principale préoccupation des services informatiques n’est pas de savoir si Kubernetes a un avenir, mais comment s’assurer que leur mise en œuvre de Kubernetes a un avenir qui ne présente pas un goulot d’étranglement pour les intégrations, les pratiques de l’industrie et les cas d’utilisation.
C’est là que les normes ouvertes – codifiant la façon dont les gens mettent en œuvre Kubernetes et les meilleures pratiques – font partie intégrante de l’intégration. Le respect de ces normes peut aider à empêcher les équipes de se heurter à des blocages d’implémentation inattendus et à garantir la courbe d’apprentissage la plus simple possible pour les nouveaux membres de leurs équipes DevOps. En s’appuyant sur des normes ouvertes – celles qui ont été décidées par la communauté open source Kubernetes dans son ensemble, plutôt que par un fournisseur spécifique – les organisations peuvent au mieux garantir que leurs déploiements Kubernetes sont aussi efficaces et bien intégrés que possible.
À cette fin, les organisations doivent comprendre plusieurs choses en ce qui concerne les normes ouvertes et la mise en œuvre de Kubernetes: considérer la nature et les limites des normes existantes; comment les normes peuvent se fragmenter au sein d’une organisation; et l’importance de travailler avec les communautés open source pour développer et maintenir ces normes.
Sommaire
Comprendre les normes existantes
Deux organisations sont chargées de définir les principales normes ouvertes régissant l’utilisation de Kubernetes et des conteneurs, qui sont reconnues par la plupart des fournisseurs et développeurs. Le premier est l’Open Container Initiative, qui a développé des spécifications d’exécution et d’image pour les conteneurs, réglementant la manière dont les conteneurs eux-mêmes doivent être emballés et lancés. S’assurer que vos conteneurs sont conformes à l’OCI est une bonne première étape pour exécuter n’importe quel cluster de conteneurs.
Le second est la Cloud Native Computing Foundation, une organisation qui encourage les communautés pour les services de cloud computing, et est également responsable de l’exécution du programme de conformité certifié Kubernetes, qui teste les produits des fournisseurs pour s’assurer qu’ils répondent aux normes d’une distribution Kubernetes.
Pour créer et exécuter des applications dans des environnements modernes, vous devez augmenter les capacités de Kubernetes en ajoutant des composants tels que des microservices, des maillages de service et des API. S’assurer que les produits de votre pile sont conformes aux directives de la CNCF est le meilleur moyen de garantir que tout dans votre déploiement Kubernetes fonctionne comme il se doit, et qu’il est compréhensible par la communauté dans son ensemble.
Évitez la fragmentation des normes
Pour vous assurer que votre déploiement Kubernetes est conforme aux normes ouvertes, votre équipe doit avoir une compréhension commune de votre propre déploiement. L’une des erreurs les plus courantes commises par les organisations – et qui mine la connaissance partagée des normes du secteur et de leur déploiement – est le déploiement de plusieurs piles Kubernetes qui ne sont pas cohérentes avec les mêmes normes.
Il existe plusieurs raisons pour lesquelles le déploiement de piles Kubernetes incompatibles peut contribuer à l’érosion des normes organisationnelles. Premièrement, cette disposition peut conduire à une dispersion ou à un cloisonnement de l’expertise entre les équipes travaillant sur différentes piles, ce qui signifie que les écarts par rapport aux normes fixées dans une pile peuvent ne pas être corrigés dans une autre.
Une autre raison majeure est qu’une fois qu’il y a une différence entre les piles Kubernetes au sein d’une organisation, il peut être difficile pour un individu de suivre chacun de ses développements pour s’assurer que les normes communes sont mises en œuvre et respectées. Même une équipe dédiée qui essaie de suivre et de s’assurer que toutes les piles sont gérées selon les mêmes normes peut manquer des détails petits mais importants, ce qui peut en fin de compte conduire une ou plusieurs piles à se détourner des normes organisationnelles.
Kubernetes est un projet open source, et les normes fixées par l’OCI et la CNCF sont issues de discussions au sein de la communauté open source. Cela signifie que comprendre ce dont on parle au sein de la communauté et les préoccupations que les développeurs abordent est essentiel pour comprendre comment les normes pour Kubernetes et son écosystème vont évoluer, à la fois formellement et informellement.
En plus des normes codifiées, la communauté open source crée l’opportunité d’apprendre de beaucoup d’autres à quoi ressemble une mise en œuvre réussie. Vos équipes peuvent suivre les meilleures pratiques adoptées par les développeurs d’autres organisations, ce qui peut permettre des intégrations plus fluides avec d’autres logiciels produits par la communauté. Cela permet également une courbe d’apprentissage plus fluide pour les développeurs ou les équipes d’exploitation lors de la recherche, grâce à un ensemble plus large de pratiques courantes.
Enfin, en participant à des communautés open source, votre organisation peut contribuer à façonner le développement de normes pour Kubernetes. Le partage de l’expérience et des idées de votre équipe avec la communauté au sens large peut contribuer à l’amélioration des normes.
Le choix d’adopter des standards ouverts pour Kubernetes est relativement simple. Cependant, le maintien de ces normes exige une vigilance et une conscience constantes. Pour adhérer aux normes ouvertes, les équipes doivent rester attentives à la nature en développement de leur pile technologique tout en suivant les conversations pertinentes au sein de la communauté open source. C’est un investissement qui peut garantir que votre déploiement Kubernetes est bien intégré et compatible avec les nouveaux développements du secteur.
- Erica Langhi est Senior Solution Architect (EMEA) chez chapeau rouge.