Docker entend désormais révolutionner les systèmes distribués

Docker entend désormais révolutionner les systèmes distribués Nouvelle étape dans la R&D de Docker, la start-up dote sa technologie de container open source d'une couche d'orchestration d'application distribuée.

Docker entend bien faire monter en puissance sa technologie de container virtuel en vue de permettre la prise en charge d'architecture d'application fortement distribuée. Pour répondre à ce défi, la start-up avait dévoilé lors de sa conférence européenne une nouvelle série d'outils qui viennent se greffer à sa plateforme historique. Ils doivent ainsi pouvoir gérer des systèmes embarqués dans de multiples containers répartis sur des fermes de serveurs. Ces nouveaux outils sont lancés officiellement ce 26 février.

Derrière cette solution, la société de San Francisco entend cibler les architectures orientées micro-services, à traverse lesquelles chaque composant (de la couche applicative, de la base de données...) peuvent être gérés indépendamment, notamment en termes de maintenance. Grâce à la légèreté des containers Docker, ces micro-services deviennent potentiellement portables sur d'autres serveurs ou clouds, ou déclinables à loisir en vue d'encaisser une montée en charge par exemple. 

Gérer les applications containérisées hyperdistribuées

solomon
Solomon Hykes, CTO et fondateur de Docker, est français. © JDN / Antoine Crochet-Damais

"Comme nos clients évoluent vers des infrastructures d'hébergement de plus en plus importantes, avec à la clé des systèmes multi-containers en clusters de plus en plus complexes, il était important pour nous de répondre à ce besoin", explique Solomon Hykes, CTO et fondateur de Docker. 

La solution annoncée à la DockerCon Europe, désormais en version finale, se compose de plusieurs outils d'orchestration d'applications multi-containers. D'abord, la Docker Machine permet de gérer le provisionnement de containers sur n'importe quel service cloud public ou serveur interne doté du moteur Docker. Avec à la clé une gestion des transactions avec l'hôte choisi de manière chiffrée (en SSL). Il est d'ores et déjà compatible avec les clouds Amazon EC2, Microsoft Azure, Google Cloud Platform, DigitalOcean, ou encore les clouds reposant sur OpenStack et VMware.

Ensuite, Docker Swarm est conçu pour associer finement un pool de ressources machines à une application et ses composants distribués sur plusieurs containers. Swarm permet de gérer jusqu'à l'ordonnancement des tâches et l'allocation de ressources par container. Mais aussi d'assurer la continuité entre environnement de pré-production (plus limité en ressources machines), et environnement de production (plus large et plus hétérogène). 

Industrialiser les déploiements d'applications sur de vastes clusters

"Swarm utilise les API standards de Docker, et si vous utilisez Docker vous ne serez pas perdu", insiste Solomon Hykes. "Swarm est aussi très ouvert pour pouvoir inter opérer avec les solutions d'exploitation de cluster que vous avez. C'est le cas d'Apache Mesos de Mesosphere avec lequel nous avons signé un partenariat d'intégration." Mais Docker prévoit également d'intégrer à terme son outil au service de gestion de grappes d'EC2 (EC2 Container Service), mais aussi avec IBM Bluemix et Microsoft Azure.

Dernier outil de la série, Docker Compose exécute des scripts qui permettront de déployer en un clic une application distribuée sur de multiples containers, tout en gérant les dépendances entre composants containerisés. La promesse de cet outil est aussi de faciliter les migrations d'une application containerisée d'une infrastructure à l'autre (qu'elle soit publique ou privée).