Conteneurs : pourquoi l’approche de Docker séduit tant les entreprises
Le nom Docker est aujourd’hui synonyme de conteneurs, mais il existe aussi d’autres outils permettant de gérer des conteneurs.
Docker n’est pas de la virtualisation de conteneurs. Son approche s’appuie sur une plateforme Open Source qui permet aux administrateurs d’automatiser le déploiement d’applications dans des conteneurs. Des outils, comme Docker, s’adossent à une couche de conteneur implémentée dans Linux, via certains composants, comme LXC (Linux Containers), libvirt, ou systemd-nspawn. Docker comprend sa propre librairie pour l’opération de conteneurisation, appelée libcontainer. Les autres options, en matière de gestion de cette très populaire technologie, sont cgroups, Checkpoint/ Restaure for Linux in Userspace (CRIU) et bien sûr Kubernetes.
La raison pour laquelle l’approche de Docker a attiré autant l’attention du marché repose sur sa capacité à englober l’ensemble des fonctions dans une plateforme unique. Celle-ci permet en effet d’assembler et de gérer efficacement une application ainsi que toutes ses dépendances dans un paquet unique qui peut être placé dans un conteneur, lui-même placé sur n’importe quel serveur Linux. La façon dont Docker package l’application lui permet de s’exécuter soit sur site, dans un Cloud privé ou encore dans un Cloud public, par exemple. En ce sens, Docker apporte cette capacité de portabilité et de flexibilité au niveau de l’application. Ce sont d’ailleurs ces attributs qui ont attiré l’attention de nombre d’entreprises utilisatrices.
Docker est désormais intégré aux plateformes des principaux fournisseurs de Cloud, comme AWS, Google Cloud Platform et Microsoft Azure, associé à d’autres outils comme Cloud Foundry Diego, OpenStack Nova, OpenSVC, Chef, Puppet, Salt, parmi tant d’autres. II se peut qu’au final Docker soit aussi intégré à OpenShift Origin de Red Hat.
Même si la plateforme Docker est centrée sur les environnements Linux, l’Open Container Project a pour vocation de créer un standard ouvert capable de supporter plusieurs OS. Ainsi, dans l’idéal, un développeur pourra à terme packager une application et être sûr qu’elle fonctionnera avec Docker, rkt de CoreOS, ou encore avec Jetpack de FreeBSD ou l’environnement Kurma d’Apcera. L’idée est de créer un unique environnement de conteneurs plutôt que de créer plusieurs plateformes concurrentes.
Les conteneurs offrent de nouvelles perspectives aux développeurs ainsi qu’aux opérateurs de datacenters, mais ils posent aussi de nouveaux problèmes qui doivent encore être résolus. La bonne nouvelle est que cette technologie de conteneur n’est pas exclusive. Les conteneurs sont simplement un autre outil, aux côtés d’autres dédiés à la virtualisation. Ils peuvent donc cohabiter avec des environnements virtualisés via un hyperviseur – dans le même environnement -, permettant de tester cette dimension conteneurs et, à terme, de l’implémenter à son propre rythme.
Traduit et adapté par la rédaction