Clusters Swarm, réseaux virtuels… : Docker s’attaque à la production

Venu du monde du développement, Docker livre ses propres solutions pour exploiter ses conteneurs en production. A commencer par Swarm, son système de cluster, qui arrive en version 1.0.

Annoncé en décembre 2014, Swarm, le service de clustering de Docker, sort dans sa première version de production (la 1.0 donc). Rappelons que ce système de cluster utilise l’API de Docker et fonctionne de concert avec les autres outils de l’écosystème de la start-up. Il permet de regrouper plusieurs Docker Engines en une ressource unique, prise en charge par un gestionnaire. Dans un billet de blog, la start-up fondée par des Français dans la Silicon Valley explique que Swarm est « la façon la plus simple de faire tourner des applications Docker à l’échelle d’un cluster ». De facto, les utilisateurs ont à leur disposition d’autres solutions, comme Kubernetes (un projet de Google) ou Mesos. Ce dernier, un projet Open Source de la fondation Apache, s’avère très puissant (il est notamment exploité par des géants du Web comme Airbnb ou Twitter), mais sa mise en œuvre est réputée complexe.

En mars dernier, dans nos colonnes, Jérôme Petazzoni, ingénieur senior chez Docker, expliquait d’ailleurs : « Mesos et Swarm ne sont pas deux systèmes concurrents. Le premier se révèle très puissant en termes d’optimisation optimale des ressources. Même si Swarm dispose de ses propres mécanismes de placement des tâches sur les ressources du cluster, nous n’envisageons pas d’approcher Mesos sur ce terrain. »

Les mêmes API que lors du développement

Si Swarm semblait donc, au départ, plutôt destiné à des clusters de taille modeste, Docker assure aujourd’hui que la technologie est aujourd’hui prête à fonctionner « à n’importe quelle échelle » : « au cours de nos tests, nous l’avons fait tourner sur EC2 avec 1 000 nœuds et 30 000 conteneurs et Swarm continuait à ordonnancer des conteneurs en moins d’une demi-seconde », écrit Andrea Luzzardi, un ingénieur logiciel de Docker. La start-up star des conteneurs précise d’ailleurs que le Cloud public Rackspace a choisi Swarm pour monter son nouveau service de conteneurs. « Nous avons retenu Swarm pour motoriser Carina (le nom dudit nouveau service) parce que c’est simple d’usage et basé sur des API natives Docker. Nos utilisateurs peuvent passer leurs applications à l’échelle pour la production tout en utilisant les mêmes outils et API que ceux utilisés en développement », explique Simon Jakesch, directeur de produit Carina chez Rackspace. Un argument évidemment clef pour Docker, technologie venant du monde du développement.

[A lire notre dossier : Docker : déjà bon pour le service ?]

Swarm 1.0 sort en même temps que la version 1.9 du Docker Engine, qui embarque notamment des fonctions de virtualisation des réseaux (via l’application Networking) et des améliorations pour le stockage. « Les conteneurs peuvent être attachés à ces réseaux virtuels où qu’ils se trouvent, vous offrant un contrôle total de votre topologie réseau et des communications entre conteneurs », écrit Andrea Luzzardi. Ce dernier assure aussi que Swarm supporte les systèmes de stockage distribué comme Flocker ou Ceph. Combinées à Compose désormais en version 1.5 (l’outil de Docker permettant de définir et déployer des applications multi-conteneurs), les arrivées de Engine 1.9 et de Swarm dessinent la stratégie de Docker pour étendre ses technologies vers les environnements de production.

A lire aussi :

Clusters Docker : Swarm pour simplifier les mises en œuvre ?

Comment BlaBlaCar a automatisé sa production IT

Crédit Photo : Donvitorio-Shutterstock