Vous êtes sur la page 1sur 7

Comparatif : qui va gagner la guerre des orchestrateurs de

containers ?
En fusionnant son orchestrateur à son moteur d'exécution, Docker a lancé la guerre des
orchestrateurs de containers. Face à lui, on trouve Kubernetes de Google ou Mesos
soutenu par la fondation Apache. Etat des lieux des forces en présence.
En l'espace de trois ans, Docker a bouleversé le monde du container logiciel. Pour mémoire, cette
technologie permet d'encapsuler une application afin de pourvoir l'exécuter de façon native sur
n'importe quel serveur. N'embarquant pas de système d'exploitation, le container est à la fois plus
léger et plus rapide à s'exécuter qu'une machine virtuelle. En revanche, il sera dépendant du type de
serveur sous-jacent. Un container Docker sur un serveur Linux ne pourra pas être porté sur un serveur
Windows, et réciproquement.
Si Docker n'a pas inventé le concept de container - Google l'utilise depuis une quinzaine d'année -, la
société créée par le franco-américain Solomon Hykes a réussi à imposer le concept en simplifiant son
usage. Depuis, les grands noms du cloud dont AWS et Microsoft Azure l'ont adopté.
Le container devenant une "commodité", l'enjeu se situe désormais au niveau au-dessus. Comment
gérer le déploiement et le cycle de vie de dizaines ou de centaines de containers ? "La technologie
initiale proposée par Docker est très unitaire et locale", observe Arnaud Mazin, manager référent
chez Octo Technology. "Le moteur d'exécution montre ses limites quand on passe à l'échelle. Il faut
un système plus large qui gère la distribution, la résilience, la scalabilité, la répartition de charge."
Orchestrateur universel versus orchestrateur dédié
C'est le rôle dévolu aux orchestrateurs. Un orchestrateur fonctionne sur le mode esclave-maître. Le
maître gère l'état et le provisionnement des containers sur une grappe de serveurs. Et ce, depuis un
agent placé sur tous les nœuds du cluster. On trouve deux familles d'orchestrateurs. D'abord, Fleet et
Mesos, avec une approche multi technologies, gèrent des processus et donc, le cas échéant, des
containers. En face, on trouve des orchestrateurs dédiés à la containerisation comme Kubernetes,
proposé par Google, Rancher ou Nomad.
La guerre des containers s'est déplacée sur le terrain des orchestrateurs
La guerre des containers se déplaçant sur le terrain des orchestrateurs, Docker ne pouvait ne pas en
être. En février 2015, la start-up lançait en version bêta son propre outil d'orchestration, Swarm, avec
la légitimité naturelle du leader de la containerisation.
"Se pose également un enjeu de rentabilité pour Docker, les activités de support et de formation ne
suffisant pas pour arriver à un business model viable", note Édouard Devouge, consultant senior,
architecte cloud et évangéliste DevOps chez Octo Technology. S'appuyant sur Swarm, le projet Orca
donnera naissance à Docker Datacenter, une offre on-premise de containerisation pour les grandes
entreprises.
Cartographie des différents projets open source d'orchestrateur et des acteurs leur ayant apporté un
soutien. © Octo Technology
Docker intègre son orchestrateur à son moteur de container
Tous ces orchestrateurs étant open source, Docker a toutefois commis un impair pour une partie de la
communauté. Dans la version 1.12 de sa solution, sortie en juin dernier, l'éditeur a fusionné le moteur
d'exécution de Docker (Docker Engine) et Swarm. Pas très open source dans l'esprit pour certains
esprits qui reprochaient déjà à Docker de fermer les contributions sur son GitHub. Une passe d'armes
s'en est suivie sur Twitter, accompagnée de menaces de "forker" Docker pour en proposer une
version expurgée de Swarm. A priori sans passage à l'acte jusqu'alors.
Quelques années plus tôt, CoreOS avait proposé un moteur d'exécution, Rocket, une alternative à
Docker visant à contrebalancer le pouvoir de ce dernier. Voire le court-circuiter puisque Kubernetes
peut communiquer avec Rocket et se passer ainsi de Docker. Ce projet est soutenu, entre autres, par
Google et Red Hat. Des acteurs que l'on retrouve au sein de l'Open containers initiative. Quel sera le
prochain épisode ?
Dynamique des projets open source d'orchestrateur en termes de contributions de la communauté des
développeurs. © Octo Technology

Kubernetes, la puissance et l'expérience de Google


Dévoilé en juin 2014 et présenté en version stable 1.0 un an plus tard, Kubernetes (K8s pour les
initiés) est l'aboutissement d'une quinzaine d'années de savoir-faire de Google dans la gestion des
containers. Le géant du web a dû concevoir sa propre technologie pour administrer massivement ses
services comme Gmail ou Google Drive tournant sur des centaines de milliers de serveurs.
Kubernetes est la récriture en Go du système Borg que Google utilise en interne. L'application a été
versée à la Cloud Native Computing Foundation (CNCF). Une initiative, adoubée par la Fondation
Linux, et qui a pour vocation de s'assurer de la bonne exécution des applications dans des
environnements cloud.
Une offre riche, mais complexe
Kubernetes se présente comme une solution clés en main embarquant nativement l'éventail des
fonctionnalités d'un gestionnaire de clusters : équilibrage de charge, auto dimensionnement, gestion
des autorisations… Arnaud Mazin d'Octo Technology se dit surpris par la maturité de l'outil, obtenue
en si peu de temps. "A la différence de Docker Swarm qui a démarré petit et progresse
fonctionnellement, Kubernetes tient toutes les promesses que l'on est droit d'attendre d'un
orchestrateur. Une richesse qui peut le rendre complexe à appréhender", analyse le consultant.
"Taillé pour la production, Kubernetes permet de gérer un parc de containers beaucoup plus grand
que Docker Swarm", renchérit Cédric Vandome, ingénieur système et réseau chez Treeptik. Autre
atout mis en avant : la capacité de Kubernetes à s'intégrer aux plateformes cloud. A celle de Google
bien sûr, qui la package dans son offre Google Cloud Engine, mais aussi à celles d'Azure et d'AWS.
Red Hat propose dans la version 3 d'OpenShift, sa solution de PaaS, une surcouche pour Kubernetes.
CoreOS propose, lui, Tectonic, une version entreprise packagée de son OS avec Kubernetes.

Google Kubernetes en bref


Points forts Points faibles

- Orchestrateur mature, le plus riche - Complexité dans l'appréhension


fonctionnellement - Une approche solutions clés en main qui peut
- Intégration aux principales plateformes cloud rebuter
du marché

Docker, la légitimité du leader du container


Depuis sa version 1.12, sortie en juin 2016, Docker intègre nativement son outil d'orchestration
Swarm. Ce dernier reprend la même notion de maître et esclave présente dans Kubernetes, appelée
ici manager et worker, pour gérer le cycle de vie des containers dans un cluster.
Pour Arnaud Mazin d'Octo technology, l'augmentation du spectre fonctionnel de Docker Swarm va
dans le bon sens que ce soit en matière de mise à l'échelle que de répartition de charge. Pour autant,
l'orchestrateur a encore, selon lui, un an à un an et demi de retard sur Kubernetes. "Je ne vois pas
l'écart se resserrer. Je reste par conséquent en observation", indique l'expert.
Docker Datacenter : une offre plus aboutie
Pour Jérémie Monsinjon, développeur JEE chez Ippon Technologies, Docker Swarm fait encore
preuve de peu d'intelligence notamment dans l'allocation de ressources. "Il va appeler les machines
une par une – ce que l'on appelle le 'round robin' - alors que Kubernetes et Marathon Mesos iront
prioritairement sur la machine la moins utilisée", explique-t-il.
Docker propose une version commerciale on-premise de containerisation pour les grandes
entreprises. Cette offre, baptisée Docker Datacenter, fait notamment suite au rachat de Tutum dont la
technologie permet de déployer et gérer des containers dans n'importe quel type d'environnement
cloud. "Un must-have comparé aux orchestrateurs concurrents qui sont peut-être plus aboutis pour
certains mais beaucoup plus complexes à appréhender et paramétrer", estime Cédric Vandome de
Treeptik. Docker a aussi initié des partenariats avec Microsoft Azure et Amazon Web Services. Dans
le cadre de ces accords, les deux fournisseurs proposent une offre packagée multi-instances basée sur
Docker Datacenter.

L’offre d'orchestrateur de Docker en bref

Points forts Points faibles

- La simplicité de l'approche - Plus faible fonctionnellement que Kubernetes


- Les partenariats avec Microsoft Azure et AWS - La réaction de l'écosystème à la fusion du
moteur et de l'orchestrateur

Mesos - Marathon, l'orchestrateur universel de référence


Mesos fait partie de la sphère des projets open source sous licence Apache. Présenté pour la première
fois en 2009, ce méta-framework est conçu pour faire tourner des infrastructures de gestion de cluster
comme, par exemple, Spark. Mesos gère plusieurs machines physiques ou virtuelles et répartit la
charge en fonction des ressources mutualisées (CPU, RAM, disques...). Issu du monde de la R&D,
Mesos est fréquemment utilisé pour les projets de Big Data. Parmi ses utilisateurs, on peut citer eBay,
Apple (pour Siri) ou encore Verizon.
Avec le succès de Docker, Mesos a décidé de se tourner vers l'orchestration de containers. Mesos
utilise pour cela Marathon, une interface proposée par la société Mesosphere. Cette start-up
commercialise aussi un Datacenter operating system (DC/OS), que l'on retrouve sur Microsoft
Azure.
Une techno éprouvée, mais en perte de vitesse face à Kubernetes
Pour Jérémie Monsinjon d'Ippon Technologies, "Mesos offre une technologie éprouvée en
production depuis plusieurs années notamment pour les clouds privés". Avec la particularité d'avoir
une approche multi-technologies. Marathon peut aussi bien démarrer des containers que lancer des
commandes systèmes (commande Linux, application Java, serveur appli...). Marathon est,
également, plus configurable que Kubernetes, l'utilisateur pouvant monter sa solution brique après
brique. Ce qui peut avoir son revers. Arnaud Mazin d'Octo Technology note que l'orchestrateur
nécessite "un travail d'intégration qui n'est pas anodin si on passe en phase d'industrialisation".
Mesos est soutenue par la fondation Apache. Son principal contributeur est bien entendu
Mesosphere, la société qui porte le projet. Si Mesos est, avec Kubernetes, l'orchestrateur le plus
utilisé, il serait, selon Édouard Devouge d'Octo Technology, en perte de vitesse au profit du second.
Il en tient, pour preuves, le nombre de contributeurs sur GitHub pour l'une et l'autre plateforme, mais
aussi le nombre de requêtes sur Google ciblant ces briques, ou encore les offres d'emploi (publiées
sur Indeed) portant sur des profils de compétence Kubernetes ou Mesosphere.

Mesos - Marathon en bref

Points forts Points faibles

- L'orchestrateur le plus ancien - En perte de vitesse par rapport à Kubernetes


- Soutien de la fondation Apache - Travail d'intégration

Fleet, l'orchestrateur bas niveau


Fleet est l'orchestrateur livré en standard avec la distribution Linux CoreOS, un OS allégé taillé pour
le cloud. Fleet repose sur Etcd : un système de clé-valeur distribué qui une fois installé sur les nœuds
d'un cluster va lui soumettre des "jobs" et les répartir sur les nœuds.
Proposé depuis 2013, Fleet a une approche multi technologies semblable à Mesos. Et comme lui,
gérer des containers n'était pas sa vocation originelle. Sur un cluster de serveurs, Fleet va exécuter des
commandes système et donc appeler n'importe quel processus Linux ou, dans le cas souhaité, le
programme Docker.
Un orchestrateur plus simple
Pour Jérémie Monsinjon d'Ippon Technologies, Fleet fait de l'orchestration bas niveau à la différence
d'un Marathon Mesos qui va, lui, interroger l'API du moteur d'exécution de Docker. "Très orienté
administrateur système, il est moins 'sexy' que Kubernetes, Docker Swarm ou Mesos Marathon dont
les interfaces graphiques s'adressent davantage à une population de développeurs", commente
l'expert.
Arnaud Mazin, d'Octo Technology, se fait plus tranchant. "Fleet ne soutient pas la comparaison en
termes de capacité et de scalabilité avec les trois autres orchestrateurs. C'est un petit poucet, pauvre
fonctionnellement. Il fait des choses très simples, convenant à de petits projets", pointe le
spécialiste. CoreOS ne semble, d'ailleurs, pas faire d'efforts particuliers pour le mettre en avant. "Sa
communauté compte 70 contributeurs contre mille pour Kubernetes", compare son collègue Édouard
Devouge.

Fleet en bref

Points forts Points faibles

- Antériorité - Périmètre fonctionnel limité


- Approche multi technologies - Communauté de contributeurs en déclin

Comparatif : quatre orchestrateurs de containers à la loupe

Comparatif : quatre orchestrateurs de containers à la loupe

Kubernetes Docker 1.12 Mesos Fleet


Marathon

Année de lancement 2014 2016 2009 2013

Positionnement Déclinaison Orchestrateur Surcourche Orchestrateur de


open source natif de de Mesos, CoreOS permettant
de Docker né de orchestrateur d'exécuter toute
l'orchestrateur la fusion de éprouvé pour commande système
utilisé par Swarm et les projets de
Google Docker Big Data
depuis une Engine
quinzaine
d'années.

Soutien Google, Red AWS, Fondation CoreOS


Hat, VMware Microsoft Apache
Azure
Comparatif : quatre orchestrateurs de containers à la loupe

Kubernetes Docker 1.12 Mesos Fleet


Marathon

Version commerciale Google Docker Datacenter Non


Cloud Datacenter operating
Engine, system
OpenShift (DC/OS) de
v3 de Red Mesophere
Hat, Tectonic
de CoreOS.

Vous aimerez peut-être aussi