La fièvre des conteneurs « managés » gagne le Cloud
Docker a fait le boulot. Bon nombre de développeurs ont adopté les conteneurs, si bien que désormais tous les fournisseurs de Cloud se battent pour les attirer. Enquête sur le nouveau phénomène cloud du moment.
Ce fut l’une des grandes annonces lors de L’OVH Summit, il y a quelques semaines. Le champion français du Cloud a annoncé le lancement de la bêta privée de « Managed Kubernetes » , son offre de support des architectures de micro services. La promesse est de porter une architecture de conteneurs sans que l’entreprise n’ait à se soucier du provisioning des machines virtuelles sousjacentes, ajoutant ainsi un niveau d’abstraction supplémentaire aux infrastructures applicatives.
Un marché en croissance de plus de 34 % par an
Tous les acteurs du Cloud y vont. Google à qui l’on doit le développement de Kubernetes pour les besoins internes de ses services, est bien évidemment idéalement positionné sur ce marché avec GKE ( Google Kubernetes Engine). Il a depuis été rejoint par Amazon Web Services qui propose EKS ( Amazon Elastic pour Kubernetes), tandis que Microsoft pousse de son côté AKS ( Azure Kubernetes Service). Même Oracle et Alibaba ont maintenant un service « K » à leurs catalogues respectifs, avec OKE pour l’un et CSK pour le second. Tous les fournisseurs veulent leur part d’un gâteau en train de grossir à vue d’oeil. Marketsandmarkets estime que ce marché du Container as a Service ( Caas) ne représentait encore que 789 millions de dollars en 2016. Il sera de plus de 4 milliards en 2022. Les entreprises qui déployaient Docker et la plate- forme d’orchestration Kubernetes en on- premise ou sur des instances EC2 s’intéressent de plus en plus à ces offres managées qui simplifient encore un peu plus l’administration de ces infrastructures et vont jusqu’à gommer la notion de serveur.
Du Cloud managé à géométrie variable
Marier conteneurs et Cloud est loin d’être une idée nouvelle et on sait même que Docker travaille pour gérer le multi- Cloud au niveau de sa gestion de conteneurs. Bon nombre d’entreprises ont choisi de déployer Docker et Kubernetes sur mes instances Cloud. Avec une offre managée par un opérateur, c’est une partie des tâches d’administration qui sont assumées par cette plate- forme. Cette délégation peut aller assez loin car s’il est possible de gérer les
conteneurs et les clusters et serveurs d’un Kubernetes « as a Service » , mais aussi via les très récentes offres « serverless » telles que AWS Faregate et Azure Service Fabric Mesh qui vont jusqu’à effacer la notion même de serveur. Romain Vrignaud, spécialiste Devops chez Google argumentait en faveur de Kubernetes en mode managé lors de la dernière édition du Google Cloud Summit : « Utiliser un service managé vous permet de vous concentrer sur ce qui est important pour votre organisation, sur l’application. GKE représente les dix ans d’expérience qu’a Google à gérer des flottes de conteneurs. GKE présente à la fois une implémentation de Kubernetes facile à utiliser, sécurisée et parfaitement intégrée à GCP. GKE permet de manière fiable et efficace d’opérer des applications conteneurisées sur GCP. » Fort de deux années d’exploitation commerciale, Google estime GKE comme une plate- forme stable qui profite de sa forte intégration avec GCP. « L’intérêt d’une offre managée, c’est la simplicité » , selon Sébastien Lavayssière, Solution Architect Cloud chez Wescale. « Sur les plates- formes les plus matures comme Google GKE, on peut provisionner un cluster entier de machines pour faire tourner un conteneur en un appel D’API ou une seule ligne de commande. C’est l’idéal lorsqu’il s’agit de monter rapidement un environnement pour développer, tester, mais aussi pour la production. »
Plusieurs entreprises ont témoigné de leur utilisation de Kubernetes, Pierre Gilles Mialon, Cloud Architect à Radio France, a ainsi expliqué : « Le mouvement vers les microservices, nous l’avions déjà fait. Nous faisions de la veille sur Kubernetes afin d’y aller lorsque ce serait “sec ”. Nous y sommes allés à cela fonctionne particulièrement bien. L’essentiel de nos microservices étant stateless, Kubernetes c’est juste super ! » Autre client à témoigner, Airbus Intelligence, filiale d’airbus Defence and Space, venue présenter son choix de GKE afin de porter son tout nouveau service d’imagerie satellite en ligne Oneatlas. Celui - ci met en oeuvre la Google Cloud Platform ( GCP), mais aussi GKE afin d’orchestrer les conteneurs qui réalisent l’analyse des pétaoctets d’images satellites mises à disposition par le service. Chez le rival, Amazon Web Services, même constat quant à l’adoption de la solution
Kubernetes managée : le numéro 1 du Cloud affiche de nombreuses références clients pour son offre EKS, parmi lesquelles Snapchat, Verizon, Teradata ou Zendesk tandis que Microsoft annonce Siemens, Equinor, Webjet comme clients de son offre AKS. Clairement, les offres Kubernetes managés ne séduisent pas seulement des entreprises du digital mais des profils d’entreprises très différents.
Plus de souplesse, mais aussi quelques contraintes
Pour autant, toutes les entreprises qui veulent déployer des conteneurs dans le Cloud iront- elles mécaniquement aller vers ces offres managées plutôt que de déployer ellesmêmes Kubernetes sur des machines virtuelles ? « Il n’y a pas de réponse unique à aller vers le “managé ” pour faire du Kubernetes. Cela dépend essentiellement du cas d’usage » , estime Sébastien Lavayssière. « Chez les uns, les services managés seront bien adaptés, chez d’autres le Cloud public ne peut répondre à leur besoin. » Bien évidemment, Google comme Amazon proposent des Container Registry privées GCR chez Google et ECR chez Amazon Web Services. Ces services sont à part, ce qui permet à l’entreprise de créer autant de clusters qu’elle le souhaite en utilisant le même catalogue de conteneurs.
Chaque solution a ses petites spécificités et tout est susceptible de changer sans préavis. « Pour donner un exemple, sur AKS toutes les machines doivent être identiques » , explique Grégory Guillou, Devops chez Resetlogs. « Sur EKS, il faut monter la plate- forme brique par brique, donc j’automatise au maximum pour ne pas devoir le refaire deux fois. Or quand on relance trois semaines plus tard, les automates ne fonctionnent plus parce qu’ils ont changé le bootstrap des VM complètement… »
De même, le Devops souligne le manque de maturité de certains fournisseurs cloud : « Il y a de multiples limites que le Devops doit découvrir de luimême, par exemple le choix de la configuration des load balancers. » En outre, chaque service cloud a ses spécificités, ses propres annotations. Là où il faut développer une application dans Active Directory sur Azure pour gérer les connexions, AWS s’appuie sur le connecteur développé par Heptio. « Kubernetes en lui- même ne sert qu’à très peu de choses et a besoin d’une myriade d’autres composants autour pour démontrer sa valeur » , ajoute Sébastien Lavayssière. « Kubernetes doit s’appuyer sur des services d’iaas, de stockage, de résilience du Cloud. C’est sur cette intégration de services complémentaires que les offres des acteurs du Cloud se différencient véritablement et que l’intégration va jouer le plus. » Plus que le seul support de Kubernetes, ce sont toutes ces spécificités qui différencient les offres Caas et qui font la valeur d’une plate- forme vis- à- vis de ces concurrentes, son efficacité au quotidien mais aussi qui introduisent un risque de vendor lock- in dont il faut tenir compte. ❍