Ces dernières années des technologies émergentes ont fait le buzz dans les entreprises. On peut citer le cloud computing, le big data, la data gravity ou encore l’IA bien sûr même si cette dernière est en développement depuis plusieurs décennies. Ces derniers temps, le terme qui revient le plus dans le petit milieu des fournisseurs, c’est celui de Kubernetes. De simple gestionnaire de clusters de containers, développé à l’origine par Google avant de passer dans le giron de la Cloud Native Computing Foundation (CNCF), Kubernetes est aujourd’hui en passe de devenir un outil important pour les infrastructures et les applications, car les conteneurs sont devenus les composants de base pour la création des programmes cloud.

Comme nous vous l’expliquions en novembre dernier, en matière de développement logiciel, il y a deux noms qui sont incontournables : Docker et Kubernetes, open source tous les deux. Le premier déploie des conteneurs et l'autre orchestre des clusters de conteneurs. La technologie des conteneurs, supportés par Linux, Windows ou MacOS donne la capacité aux applications de fonctionner dans des mini-environnements autonomes qui sont isolés du reste du système. Souvent comparés à des machines virtuelles, les conteneurs n’en sont pas, puisqu’ils n’intègrent pas d’OS. Ils sont beaucoup plus légers, plus rapides à démarrer et à arrêter. Ils sont par ailleurs plus souples et portables, idéal pour des environnements cloud qui apprécient cette élasticité et cette mise à l’échelle agile.

Développé à l'origine par Google

Kubernetes, basé sur des projets créés par Google, permet d’automatiser le déploiement et la gestion d’applications multi-conteneurs sur plusieurs hôtes, sans avoir à gérer chaque conteneur directement. Les développeurs décrivent la disposition de l’application sur plusieurs conteneurs, y compris les éléments concernant le réseau et le stockage. Kubernetes s’occupe du reste de l’exécution. Il gère aussi des points sensibles comme les secrets (la sécurité des données sensibles) et la configuration des applications. Par exemple, le site de streaming musical, Spotify utilise Kubernetes, car il crée beaucoup de conteneurs pour chaque utilisateur de la plateforme (profil, préférences, etc.) et en détruit tout autant. Avec un tel volume, l’outil de gestion doit être paramétrer pour cela. Les applications conteneurisées simples qui servent un petit nombre d’utilisateurs ne nécessitent généralement pas d’orchestration et encore moins de Kubernetes. Mais si une application est plus complexe avec plusieurs fonctionnalités et utilisateurs, il devient difficile ne pas passer par un outil d’orchestration.

Beaucoup d’entreprises comme Airbus, Amadeus, Blablacar, BloombergKapten ou Aquarelle.com sont passées de projets pilotes à la productionMais Kubernetes connait également le même phénomène de dispersion que Linux avec une multitude de distributions sur le marché. VMware qui a pris le train Kubernetes en marche grâce aux rachats de Pivotal et Heptio, puis du lancement du Project Pacific, a également compris ce problème en annonçant l’arrivée prochaine d’un outil baptisé Tanzu Mission Control capable de gérer différents clusters Kubernetes (EKS chez AWS, PKS chez Pivotal ou encore AKS chez Microsoft par exemple).

Course aux talents

En récupérant deux des créateurs de Kubernetes (Joe Beda et Craig McLuckie) avec le rachat de Heptio, VMware est bien décidé à étendre les capacités du gestionnaire open source pour en faire un super orchestrateur capable de pilote très finement un datacenter automatiséLa start-up Portworx, que nous avons rencontré une nouvelle fois en décembre dernier dans la Silicon Valley et sur laquelle nous reviendrons bientôt, suit la même voie pour étendre les capacités de sa solution développée à l’origine pour assurer le stockage persistant des containers. Kuberbetes est en passe de devenir la pièce maîtresse des infrastructures virtualisées. CTO et cofondateur de Portworx, Goutham Rao nous a expliqué début décembre que « Kubernetes révolutionne la gestion des infrastructures en apportant l’agilité à l’échelle indispensable pour construire un PaaS cloud hybride ».

Mais une crainte reste à l’esprit quand on pense à Kubernetes, c’est la débâcle d’OpenStack qui n’a pu résister aux tiraillements de ses principaux contributeurs et sponsors. Kubernetes est devenu si important que les principaux fournisseurs de Microsoft à VMware en passant par IBM et bien sûr Google, ont engagé des développeurs et contribué à des projets clés, soit pour obtenir l'expertise nécessaire pour fournir leurs propres produits et services Kubernetes, soit pour faire avancer l'écosystème de manière à ce qu'il s'intègre à leurs produits et services existants. Le risque est toujours de laisser filer des forks ou des développements propriétaires. Goutham Rao nous a assuré que la gouvernance de Kubernetes était bien verrouillée par la CNCF. « Il n’y a pas de fork ou de fragmentation aujourd’hui, à la différence d’OpenStack qui a souffert de cette fracturation. L’écosystème représenté par la CNCF fait tout pour éviter une fragmentation de Kubernetes avec des fonctionnalités cœur développées et sécurisées par la CNCF ». Le programme de certification de la fondation pour les distributions Kubernetes permet d’ailleurs à ces dernières de proliférer sans succomber au problème d'incompatibilité OpenStack entre les distributions de différents fournisseurs. Avec OpenStack, plusieurs générations de briques pouvaient être mixées, ce qui entraînaient des problèmes de performance ou de stabilité.