Oui, bien sûr, tout le monde demande du Kubernetes et, bien sûr, vous devez aussi l’adopter. Mais si, comme l'a fait Paul Johnston, CTO par intérim et conseil en stratégie (serverless, cloud, startups et changement climatique), vous preniez le temps de vous poser la question « Pourquoi Kubernetes ? », vous verrez que les avis à ce sujet sont multiples. L'une des principales raisons invoquées par les professionnels de l’IT pour justifier l’adoption de Kubernetes, c’est que la plateforme d’orchestration open source évite le lock-in en assurant la portabilité entre clouds. Mais le principe vaut plus en théorie qu'en pratique. En effet, comme le dit également Paul Johnston, « ces mêmes personnes qui justifient l’adoption de Kubernetes pour la portabilité du cloud, déclarent aussi qu'elles n'ont pas l'intention de migrer ». Alors, pourquoi Kubernetes ?
Conteneurisez et évitez le lock-in
Beaucoup de gens choisissent de monter dans le train de Kubernetes uniquement parce que la plateforme est populaire. Comme l’a déclaré Orion Edwards, architecte et Team Leader pour l’entreprise de services IT néo-zélandaise Gallagher, « les développeurs et les architectes veulent l'utiliser parce que la technologie est une industrie de la mode et que Kubernetes est à la mode ». De plus, selon James Thomason, CTO et co-fondateur de EDJX, une plateforme Edge intelligente, si de nombreux développeurs voient dans Kubernetes un moyen de « fonctionner comme Google…, leur idée sur la question est surfaite, car cela ne concerne que 0,001% des cas d’usage ». Même si c’est l’estimation de James Thomason est un inversement excessive, ce dernier a raison. L’industrie IT a tendance à extrapoler les solutions clinquantes bien au-delà de l’usage auquel elles sont initialement destinées.
Selon Paul Johnston, beaucoup de CTO adoptent Kubernetes « parce qu'ils y sont généralement obligés ». Soit parce qu'ils en ont hérité, soit parce qu'ils pensent que c'est la prochaine étape importante (beaucoup de développeurs à embaucher). Alors ils se lancent, puis ils regrettent ». Pourquoi ce regret ? Parce que Kubernetes est complexe, d’une complexité à laquelle le modeste conteneur Docker ne les avait pas habitués, l’outil qui leur servait le plus pour la portabilité du cloud. Ou l’écriture de simples scripts shell. En effet, comme le dit encore Paul Johnston, Kubernetes finit par « surcompliquer quelque chose que l’on faisait de multiples façons pendant des années ».
Portabilité sans Kubernetes
Éviter le verrouillage est la première réponse que les gens donnent à la question posée par Paul Johnston pour justifier l’adoption de Kubernetes. Comme l’indique Dan Selman, consultant Kubernetes de Microsoft, « ce n'est pas toujours une peur rationnelle, mais c'est une peur ». L'analyste Lawrence Hecht, auteur pour The New Stack, est du même avis. Selon lui, la peur du lock-in est rationnelle. « C’est assez rationnel de vouloir une stratégie de sortie même si vous ne prévoyez pas de l'utiliser ». Vous voulez la portabilité du cloud pour vous prémunir du lock-in ? C’est possible. Mais vous n'avez probablement pas besoin de Kubernetes pour cela.
Du point de vue de Paul Johnston, le souci d'échapper au lock-in ne devrait pas « automatiquement pousser à l’adoption de Kubernetes ». « Les monolithes sur serveurs virtuels offraient une bonne portabilité. Je dirais même que Kubernetes offre moins de portabilité ». Plus de Kubernetes, et moins de portabilité ? Comment ça ? D’après Neal Gompa, technologue professionnel et ancien ingénieur Devops II chez Datto, « il est possible de rendre les applications moins dépendantes du lock-in en utilisant intelligemment certaines API Kubernetes. Mais en général, on n’obtient pas la portabilité dans le cloud gratuitement avec un Kubernetes brut ».
Vers un Kubernetes invisible
Même si Kubernetes ne supprime pas le lock-in dans le monde réel, il a toujours de la valeur pour d'autres raisons. Tout d'abord, comme le fait remarquer Don Syme, chercheur principal chez Microsoft Mobile Tools et Microsoft Research, quand les développeurs travaillent avec Kubernetes, ils acquièrent de précieuses compétences dont peuvent profiter leurs divers employeurs, quel que soit le cloud qu’ils utilisent. D'autre part, avec Kubernetes les entreprises disposent d’un excellent moyen de se rapprocher d’une abstraction de l'infrastructure, comme le soutient Joseph Mente, responsable ingénierie DevOps chez DroneDeploy, ce qui peut les aider quand elles passent d'un service à l'autre, même si cela ne supprime pas le lock-in. La plupart des entreprises ne choisissent pas un cloud en particulier pour le calcul et le stockage.
Alors, quel est l’intérêt de Kubernetes ?
L’industrie IT a tendance à faire une fixation sur la technologie, même si les fournisseurs font évoluer les choses de ce point de vue. Par exemple, James Urquhart, Global Field CTO de Pivotal, a presque certainement raison d'insister sur le fait que, si la plateforme Kubernetes va l’emporter, elle ne parviendra pas à faire en sorte que chaque développeur l'installe et l'utilise. Ce dernier imagine plutôt que « Kubernetes finira par disparaître sous les abstractions les plus importantes ». En d'autres termes, les développeurs finiront peut-être par utiliser Kubernetes en arrière-plan, enfoui dans des offres serverless et autres. Mais la plupart n'auront pas à creuser dans les API Kubernetes. Et, à plus long terme, Kubernetes disparaîtra du jargon des futurs managers dilbertiens, un principe selon lequel les managers sont promus, non pour leurs compétences, mais pour éviter qu’ils fassent trop de dégâts dans l’entreprise. Cela signifie-t-il pour autant que Kubernetes aura perdu la partie ? Non, au contraire. Quand Kubernetes redeviendra une plomberie invisible, elle aura gagné, et de façon substantielle.
Commentaire