OCP : Docker et CoreOS enterrent la hache de guerre
Poussés par les géants du Cloud, Amazon-Microsoft-Google-IBM, Docker et CoreOS ont décidé d’unir leurs efforts pour développer et adopter un standard unique et ouvert de conteneurs. Une excellente nouvelle pour les entreprises et les Clouds publics.
C’est le temps des réunifications. Après la fusion « node.js / io.js » autour d’une même fondation hébergée par la Linux Foundation, c’est au tour des technologies de conteneurs de s’unifier autour d’un projet commun, là encore sous l’égide de la Linux Foundation.
L’Open Container Project (OCP) amène les frères ennemis, à savoir Docker, CoreOS (et ses Rocket’s App Containers) et Apcera (avec Kurma), à définir une spécification de conteneur standardisé. Rappelons que CoreOS, longtemps considérée comme la distribution idéale pour exécuter Docker, avait en novembre dernier décidé de lancer et promouvoir sa propre technologie de conteneurs concurrente à Docker.
Difficile de ne pas faire de rapprochement entre ses deux « fusions » lorsque l’on regarde les membres fondateurs. Microsoft, IBM et Joyent (associés à d’autres noms comme Amazon, Cisco, EMC, Fujitsu, HP, Huawei, Mesosphere, Pivotal, Red Hat et Rancher Labs) sont en effet les premiers à rallier et soutenir l’initiative.
Un format ouvert et standardisé
L’Open Container Project est une bonne nouvelle. L’intérêt principal des conteneurs est de libérer les applications des systèmes sous-jacents afin de simplifier leur déploiement quelles que soient les infrastructures, quels que soient les Clouds. Mais pour que cette promesse se concrétise, il était devenu essentiel de disposer d’un vrai format ouvert et standardisé. La récente multiplication des technologies concurrentes à Docker n’allait pas dans ce sens. Aujourd’hui, tous les acteurs s’accordent enfin à reconnaître que le marché n’est pas dans la technologie de conteneurisation elle-même, mais bien davantage dans les outils d’administration et de Workflow DevOps.
L’Open Container Project cherche à imposer un standard de conteneur unique, lié à aucun acteur spécifique, totalement ouvert, et offrant une portabilité maximale sur différents runtime (Docker, rky, kurma), différents OS (Linux, FreeBSD, Windows, etc.), différents processeurs (Intel, ARM,…), différents Clouds.
Un format unifié pour des runtimes concurrents
L’Open Container Project s’est fixé pour objectif d’aboutir à une première ébauche de spécifications d’un conteneur standardisé d’ici trois mois. Docker a fait ainsi don des spécifications et des codes liés à son format d’image de conteneur et à son runtime (runC), éléments qui servent de point de départ.
Dans un billet, Alex Polvi, CEO de CoreOS, anticipe que les innovations propres au format « App Container » (appc) seront rapidement incorporées dans la spécification OCP.
Toutefois ni Docker, ni CoreOS n’ont l’intention d’abandonner leurs runtimes respectifs mais plutôt de faire en sorte que ces derniers exploitent nativement les conteneurs OCP. Alex Polvi écrit ainsi qu’ « un standard ouvert ne fonctionne que s’il existe de multiples implémentations de sa spécification… Nous continuerons de développer rkt comme une technologie de premier rang pour exécuter les conteneurs au nouveau format… ».
Pour les entreprises, cette réunification des couches basses des technologies de conteneurs est l’assurance de pouvoir utiliser des outils avancés comme Docker Compose pour créer des packages de déploiement évolués et de les exécuter aussi bien sur un runtime Docker que Rocket.
C’est aussi l‘assurance de pouvoir aisément déployer des applications mélangeant des conteneurs Windows et Linux. Lors du DockerCon 2015, Mark Russinovich, CTO de Microsoft Azure, a démontré en direct - et non sans humour quant aux choix technologiques - comment créer et déployer un package sous Docker Compose d’une application comportant un conteneur Linux (pour le front-end sous ASP.NET via le nouveau framework Open Source Core.NET) et un conteneur Windows (pour le back-end en Node.js sous Windows Server 2016).