Docker
L’essentiel sur Docker
Docker n'est pas un outil standard de gestion de configuration, mais ses fonctionnalités en font un acteur en pleine expansion sur ce marché.
Docker est un outil de conteneurisation des systèmes et des applications IT, qui gère l'intégration, le provisioning et la gestion du code dans un environnement d'exploitation. Il est de plus en plus utilisé dans les entreprises pour ses fonctionnalités de gestion de code sur les déploiements DevOps et Agile.
ADP, PayPal et l'université de l'Indiana comptent parmi ses clients.
Bien que n'assurant pas une gestion typique de la configuration, le logiciel de conteneurisation dispose de fonctionnalités proches de celles d'un système standard de gestion de configuration.
Docker est proposé en versions open source et entreprise. La version open source comptabilise plus de 450 millions de téléchargements.
La version open source se compose de Docker Engine et de Docker Hub.
Docker Engine permet de créer, de partager et de distribuer des images dans un environnement via Docker Hub. Docker gère le provisioning et la portabilité des conteneurs, évitant ainsi aux utilisateurs d'utiliser des variables d'environnement.
Il peut arrêter, interchanger et redémarrer des conteneurs localement sans rédaction de scripts complexes, ce qui améliore l'identification et la remédiation des problèmes.
RunC, l'outil à interface de ligne de commande de Docker, génère dynamiquement et exécute les conteneurs selon les spécifications du groupe Open Container Initiative. Il assure pour l'essentiel la gestion de configuration de Docker via une CLI. En combinant Docker Engine et runC, Docker fournit une grande partie des fonctionnalités d'un système de gestion de configuration.
Outre Docker Engine, Docker dispose d'autres composants open source :
- Docker Compose, pour la définition d'applications multi-conteneurs ;
- Docker Registry, pour la distribution de conteneurs Docker open source ;
- Docker Machine, pour le provisioning automatisé de conteneurs Docker ;
- Docker Swarm, pour la gestion en cluster des hôtes et la planification des conteneurs ;
- Kitematic, interface utilisateur de bureau pour Docker.
La gestion de configuration Docker se décline en deux versions entreprise :
Docker Datacenter, pour les installations sur site, derrière le pare-feu. Un abonnement à 150 dollars par instance et par mois donne droit à un support Business Day (en heures ouvrées), tandis que le support Business Critical (24 h/24 et 7 j/7) coûte 300 dollars par instance et par mois.
Chaque abonnement peut être réglé pour un an avec une remise de deux mois. Pour Docker Engine seul, les abonnements annuels s'élèvent à 1 000 dollars par instance pour le support Business Day, et à 2 000 dollars par instance pour le support Business Critical.
Docker Datacenter se compose de plusieurs modules interconnectés :
- La plateforme sous-jacente Docker Engine gère l'orchestration et la mise en réseau, de même que les plug-ins, les volumes et les runtimes des conteneurs.
- Le registre Docker Trusted Registry gère les images et leur distribution.
- L'environnement Docker Universal Control Plane gère les applications et les clusters.
Docker gère également la sécurité soit directement soit par le biais de Docker Content Trust, soit avec des systèmes externes tels que des systèmes de contrôle d'accès par rôles ou des annuaires de sécurité tels que LDAP/AD.
Docker Cloud, la seconde version entreprise, est un environnement hébergé qui sert de base à l'intégration et à la fourniture en continu de projets dans la plateforme d'une entreprise, sur site ou via des fournisseurs Cloud tels qu'Amazon Web Services.
Docker Cloud est proposé en premier prix à 7 dollars pour 5 référentiels non gérés, ou à 15 dollars par mois et par noeud géré. Le support par e-mail est compris dans les deux cas.
Bien qu'intégrant des fonctionnalités de gestion de configuration, Docker est souvent utilisé avec d'autres outils plus classiques, tels que Chef et Puppet. Ce mariage, qui ajoute les fonctionnalités hyper spécialisées d'un outil dédié, n'est pourtant pas indispensable si l'entreprise dispose des compétences nécessaires pour créer et gérer les conteneurs Docker tout au long de leur cycle de vie via les seules fonctionnalités de Docker.
Docker a déjà atteint la masse critique dans les entreprises de toutes tailles et est largement pris en charge par les fournisseurs de logiciels cherchant à proposer des offres intégrées. Il constitue ainsi un choix logique pour les entreprises qui aspirent à mettre en oeuvre les méthodes Agile et DevOps, avec l'intégration et la fourniture en continu comme éléments essentiels de l'approche technologique.
Ce n'est plus qu'une question de temps avant que Docker améliore encore ses fonctionnalités de gestion de configuration et concurrence sur ce terrain les outils mieux établis.