Pour gérer vos consentements :

Open Source : comment Docker est en passe de démoder les VM

Mis au point par l’équipe à l’origine du PaaS DotCloud, « Docker est un système de packaging qui permet de prendre n’importe quel code source, n’importe quelle application et de l’envelopper, avec toutes ses dépendances, dans un objet unique, « self-contained », que l’on peut déplacer et faire tourner sur n’importe quel serveur, n’importe où sur la planète », explique Solomon Hykes, le diplomé d’Epitech en 2006 à l’origine de DotCloud et qui vit désormais en Californie, là où Docker vient d’être gratifié de 15 M$ de capital-risque qui s’ajoutent au 11 M$ déjà accordé à DotCloud depuis 2010.

Red Hat s’embarque

Trop beau pour être vrai ? Pourtant, Docker permet de créer de tels containers sur toutes les principales distributions Linux depuis fin novembre 2013. Il est déjà utilisé pour gérer les développements de sociétés à la pointe de la technologie comme eBay. Google l’a intégré à son IaaS GCE et il a donné naissance à CoreOS, une distribution Linux dédiée aux datacenters conçue pour ne recevoir que des applications en containers. Quant à Yandex, le moteur de recherche numéro un en Russie, il lance Cocaine (*), une PaaS open source qui intègre aussi Docker. Docker est également embarqué dans le projet OpenStack, tant au niveau traitement (Nova) qu’orchestration (Heat).

Enfin, et surtout, Red Hat, dont vingt développeurs travaillent avec Docker depuis l’été dernier, a commencé à supporter Docker dans RHEL 6.5, paru en décembre. L’éditeur vient d’annoncer un programme de certification de la maintenance et du support d’applications « dockérisées », préalable à l’intégration complète de cette technologie dans RHEL 7 (avec un noyau 3.10). Cette version est attendue pour cet été. Docker pourrait bien être alors la « killing » caractéristique de sa PaaS OpenShift.

Exploiter une fonction de Linux

Illustré par les 10 000 étoiles obtenuessur le service web d’hébergement et de gestion de développement GitHub, l’enthousiasme des développeurs explique l’adoption aussi massive que rapide de Docker. Son interface haut-niveau leur permet de mettre facilement leurs applications dans un container autonome et agnostique. Celui-ci tire parti de LxC (Linux Containers), une fonction d’isolation des process désormais complètement intégrée au noyau de Linux depuis sa version 3.8.

En prise directe avec l’OS et indifférent aux langages, frameworks et bases de données qu’il contient, le container permet de faire tourner l’application de façon totalement isolée du reste de l’environnement. Docker libère donc les développeurs de toutes les tâches de portage sur les systèmes cibles. La structure en couches (layers) des containers leur permet aussi de faire évoluer leur contenu par incrémentation, ce qui participe aussi aux gains de productivité.

Mieux que les VM traditionnelles

Par rapport à l’approche machine virtuelle (VM), qui consiste à virtualiser un environnement complet, OS compris, Docker présente plusieurs avantages. Chaque container n’embarque que le code indispensable à l’application et s’adresse à l’OS et aux ressources logicielles présentes sur le serveur pour le reste. Les containers sont donc nettement moins gros et moins voraces en ressources que les VM, particulièrement en mémoire. Enfin les différents types et versions de VM génèrent des problèmes de compatibilité qu’ignorent les containers Docker.

Bien sûr, les VM sont l’outil idéal pour virtualiser les applications déjà existantes. Mais les caractéristiques des containers Docker correspondent mieux aux nouvelles applications. D’autant plus qu’ils en facilitent et en accélèrent le développement en permettant une optimisation de la gestion des versions et de leurs tests. En l’état actuel de la technologie de Docker, qui n’en est qu’à la version 0.9, les VM gardent toutefois l’atout de la migration à chaud. Mais rien n’empêche d’installer des containers Dockers dans des VM.

En France, Docker est au cœur de l’offre PaaS CloudUnit de TreeptiK, une société fondée il y a deux ans dans les Bouches-du-Rhône. Son offre d’environnement de développement J2EE embarqué dans des containers Docker est en phase de POC (Proof of concept) auprès de plusieurs grandes SSII françaises. Par rapport à un PaaS comme l’OpenShift de Red Hat, qui n’est proposé qu’en nuage public et depuis les Etats-Unis, CloudUnit présente l’avantage d’être installable sur un nuage privé. Là, la technologie de container de CloudUnit permet aux entreprises de déployer très vite des environnements de développement. Et de les faire évoluer en souplesse.

(*) Cocaine : Configurable Omnipotent Custom Applications Integrated Network Engine (humour russe)

Pour en savoir plus sur Docker

– Présentation de Solomon Hykes

En juin dernier, Solomon Hykes a passé une heure avec les étudiants de l’Epitech. Pour une fois qu’un patron de start-up s’exprime en français et qu’il répond avec beaucoup de spontanéité… Avec, en prime, une démo qui devrait ravir les développeurs (durée : une heure)

– Docker 0.9: introducing execution drivers and libcontainer

L’annonce de la dernière version

– How To Install and Use Docker: Getting Started.

Un texte à la fois pédagogique et technique

Recent Posts

Les logiciels libres entrés au SILL au deuxième trimestre 2024

D'AgentJ à YesWiki, voici les dernières entrées au SILL (Socle interministériel de logiciels libres).

2 heures ago

WSL2 fait le grand saut vers Linux 6.6

En parallèle de diverses expérimentations, Microsoft livre une première version de WSL2 basée sur Linux…

7 heures ago

Google pétri d’incertitudes sur l’empreinte environnementale de l’IA

Le dernier rapport environnemental de Google comporte peu d'indicateurs spécifiques à l'IA. Quelles perspectives l'entreprise…

9 heures ago

Optimisation du processus commercial : la clé de la croissance pour les TPE/PME ?

Booster les performances des forces de vente en fondant les processus commerciaux sur ce que…

10 heures ago

Red Hat France : la problématique VMware plus concrète que les LLM

Respectivement DG et CTO de Red Hat France, Rémy Mandon et David Szegedi évoquent le…

1 jour ago

À l’aune des conteneurs, Canonical étend son approche LTS

Canonical formalise un service de conception de conteneurs minimalistes et y associe des engagements de…

1 jour ago