La version d'Ubuntu que Canonical va livrer cette semaine combine la dernière itération d’OpenStack et son « hyperviseur de conteneurs » LXD. Comme d'autres éditeurs, Canonical proposera OpenStack et une solution de conteneurs dans le même pack, répondant ainsi à la demande pour ces deux technologies. Et comme d’autres, Canonical offre sa propre solution de conteneurisation.
L'environnement du runtime de conteneur LXD de Canonical se situe entre un conteneur Docker - c’est-à-dire léger et rapide à démarrer - et une machine virtuelle complète, avec toutes les ressources nécessaires à l’exécution d’une machine virtualisée. Le runtime permet ainsi à un seul hôte physique de faire tourner beaucoup plus de conteneurs LXD que ne pourrait le faire une machine virtuelle. De plus, les applications installées dans les conteneurs ne sont pas soumises aux contraintes liées à la virtualisation. La migration en temps réel des conteneurs - qui permet de déplacer les applications en cours d’exécution dans un conteneur entre les hôtes - est également prise en charge par la nouvelle version. L'autre différence majeure d’Ubuntu 15.04 vient d’OpenStack Kilo, Canonical affirmant que sa distribution est la première à proposer une version de production de Kilo au public. Les grands apports de Kilo se situent dans l'amélioration de la mise en réseau virtuelle, de la gestion mémoire, plus des améliorations sur d’autres fonctions courantes.
Une intégration étroite aussi avec Openstack Nova
Mais, ce qui devrait surtout susciter l’intérêt d’Ubuntu 15.04, c’est l'intégration étroite entre OpenStack Nova et LXD, qui permet de déployer et de gérer les charges de travail des conteneurs dans OpenStack en utilisant LXD, au lieu de les traiter dans KVM. Néanmoins, Canonical tient à ce que LXD et OpenStack soient complémentaires sans être exclusifs, pour tenir compte du profil des clients qui utilisent la distribution OpenStack d’Ubuntu, les sociétés télécoms et autres clients big data ayant une grande influence sur les orientations. Selon Mark Baker, Ubuntu Server & Cloud Product Manager, « le support de LXD dans OpenStack signifie que les spécialistes du big data [comme Hadoop] peuvent désormais utiliser les API OpenStack pour le provisionnement, et profiter de performances bare-metal pour leurs analytiques ».
Depuis l’annonce de LXD, de nombreux produits promettant une façon radicalement différente de gérer la conteneurisation sont arrivés sur le marché. C’est le cas de CoreOS qui a livré son propre format de conteneur, ou de Joyent qui a dévoilé un hôte de conteneur sans VM, exécutant les conteneurs en bare-metal, ou encore de Red Hat avec son évolution Atomic Host optimisée pour le déploiement et la gestion des conteneurs Linux. Outre le fait que ces solutions sont toutes basées sur le conteneur, ces produits ont des approches plus divergentes que similaires - et c’est l’objectif. Il y a donc peu de chances de trouver une solution qui convienne à tout le monde, mais celle qui s’adaptera au plus grand nombre de projets risque de s’imposer.
Le mode de fonctionnement de LXD est intéressant, et le fait qu’Ubuntu se positionne comme la distribution pour OpenStack pourrait donner au runtime de conteneurs la capacité de bousculer le secteur. Mais LXD ne sera identifié comme une vraie valeur que s’il peut fonctionner dans l'écosystème global des technologies de conteneurisation hors d'Ubuntu et d’OpenStack.