« back

Docker 1.0 est sorti. Mais qu’est-ce que Docker au juste ?

Docker est un gestionnaire de conteneurs qui vous permet d’héberger un grand nombre d’applications sur vos serveurs. Cette technologie est désormais largement utilisé alors que la version 1.0 est très récente. Jusqu’à présent, Docker recense 2.75 millions de téléchargement et est utilisé par de grands éditeurs de logiciels comme Microsoft, ce qui est remarquable pour une technologie open-source d’un an et demi. Comparé à des machines virtuelles avec hyperviseur telles qu’Hyper-V, KVM ou Xen, les gestionnaires de conteneurs comme Docker se content de l’OS de la machine. Les machines virtuelles émulent du hardware sur un OS client hébergé par un OS commun, ce qui tend à consommer davantage de resources que plusieurs conteneurs isolés sur un même OS. James Bottomley, le CTO de Parallels en charge de la virtualisation serveur et développeur kernel actif,  explique que les hyperviseurs ont une chose en commun: « Ils sont basés sur l’émulation du matéreil. » Avec des conteneurs Docker, vous pouvez « laisser derrière 99,9% de ce qui constitue une VM, et ne garder qu’une capsule contenant votre application ». Sur une machine parfaitement configurée, vous pouvez faire tourner quatre à six fois plus d’applications que si vous utilisiez des machines virtuelles Xen ou KVM. En revanche, si vous voulez faire tourner différents OS sur un même serveur, il est préférable de configurer des machines virtuelles. Les conteneurs ne sont pas nouveaux. Ils datent des années 2000 et des Jails sur FreeBSD. Docker est une surcouche des Linux Containers (LXC). Docker rend juste le développement et le déploiement beaucoup simples qu’auparavant. Docker peut être associé à Puppet, Chef, et même à des machines virtuelles de développement comme Vagrant. Grâce à un accord avec ses compétiteurs Red Hat et Parrallels sur un composant open-source, libcontainer, les conteneurs Docker sont maintenant standardisés. Les ingénieurs de ces entreprises travaillent ensemble sur ce composant. En résumé, Docker vous permet de faire tourner de multiples applications séparées sur un seul serveur avec un seul OS, et vous évite d’avoir à configurer une machine virtuelle. Il est facile de développer et de déployer du code sur des conteneurs, et la technologie commune aux conteneurs de différents acteurs du secteur est maintenant standardisée et maintenue par des développeurs des différentes parties-prenantes. Le fait de pouvoir multiplier les applications grâce aux conteneurs, plus qu’avec des machines virtuelles, est moins gourmand en ressources et peut permettre d’économiser des millions en matériel et en énergie.

Laisser un commentaire