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

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

20 heures ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

22 heures ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

1 jour ago

Accord Microsoft-CISPE : comment Google a tenté la dissuasion

Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…

1 jour ago

Vers des mises à jour cumulatives intermédiaires pour Windows

Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…

1 jour ago

RH, finances, stratégie… Les complexités de la Dinum

De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…

2 jours ago