Red Hat Atomic Host, l'arme de Red Hat pour le déploiement de conteneurs Docker
Entretien avec Lars Herrmann (RedHat) sur Atomic Host, la nouvelle plate-forme pour les conteneurs Docker qui préserve la compatibilité avec RHEL.
Red Hat a dévoilé la semaine dernière sa distribution Linux optimisée pour l’exécution de conteneurs Docker, Red Hat Atomic Host. Un projet lancé en avril 2014 et qui était en bêta depuis le mois de novembre dernier.
Il s’agit dans la pratique d’une version réduite de RHEL, spécifiquement optimisée pour le déploiement d’applications en conteneur. L’idée générale est de fournir un OS suffisamment compact mais préservant tous les attributs clés de RHEL - et notamment les multiples certifications obtenues par l’OS Linux de Red Hat, ce qui veut dire que le nouvel OS fonctionne sur toutes les plates-formes certifiées pour RHEL et qu’il peut accueillir toutes les applications certifiées pour l’OS Linux de Red Hat sous forme de conteneurs.
Red Hat Atomic Host est la réponse de l’éditeur à des concurrents comme Core OS (qui a été le premier à imaginer un OS Linux spécifiquement optimisé pour Docker), mais aussi Ubuntu, qui a récemment produit Snappy Ubuntu Core, un JeOS (pour Just enough OS - un système spécialement taillé pour répondre à une utilisation particulière) conçu spécifiquement pour héberger des applications conteneurisées.
À l’occasion du lancement de l’OS, Le MagIT s’est entretenu avec Lars Herrmann, le directeur Senior de la stratégie Produit et Business chez Red Hat, pour faire le point sur la stratégie plus générale de l’éditeur autour des conteneurs.
LeMagIT : L’idée de faire tourner des applications dans des conteneurs n’est pas nouvelle. Elle a été popularisée par des acteurs comme Sun avec Solaris ou comme Parallels avec Virtuozzo, notamment sur le marché des hébergeurs. Qu’est ce qui a changé aujourd’hui pour que Red Hat s’y intéresse ?
Lars Herrmann : Effectivement la capacité d’héberger des conteneurs dans certains OS existe depuis longtemps et nous sommes les premiers à reconnaître que les conteneurs ont eu un vrai succès sur le marché des hébergeurs.
Les conteneurs ont à l’origine été conçu pour faciliter la tâche des administrateurs systèmes en leur fournissant un moyen de gérer facilement des architectures multitenant. Dans le business de l’hébergement, cela avait tout son sens. Le problème est qu’avec la technologie disponible alors, la mise en œuvre des conteneurs n’était possible que sur des environnements très standardisés.
Soudain, les conteneurs deviennent une boîte à outils pour améliorer la productivité des développeurs
Cela a radicalement changé avec le support général des conteneurs dans le noyau Linux. Le fait que Linux soit devenu une plate-forme d’entreprise, et les évolutions en matière de gestion des ressources dans le système ont été aussi importants.
Aujourd’hui toutes les technologies de PaaS s’appuient sur cette capacité du noyau Linux à gérer des conteneurs. Les « Kernel namespaces » ont aussi permis d’éliminer tous les hacks qui étaient nécessaires à des technologies comme Virtuozzo. On a donc maintenant une vraie isolation des conteneurs dans Linux.
Enfin, l’arrivée de Docker et le fait qu’ils ont rendu open source leur technologie et leur format d’images pour packager les applications a rendu l’utilisation des conteneurs si simple, que l’on peut aujourd’hui déplacer des images d’une manière qui n’existait pas auparavant.
Enfin un dernier changement important est celui des applications. Les applications web ont modifié en profondeur la façon dont les entreprises conçoivent leurs applications. Avec Docker, on a un conteneur parfait pour les applications élastiques et un overhead très inférieur à celui des VM. Soudainement les conteneurs deviennent une boîte à outils pour améliorer la productivité des développeurs.
LeMagIT : On pourrait comparer Red Hat Atomic Host à un JeOS (Just Enough OS), une technologie ironiquement promue il y a près de dix ans par Suse…
Lars Herrmann : Nous offrons depuis longtemps la capacité de personnaliser la distribution RHEL, mais nous pensons qu’il ne faut pas fragmenter l’écosystème entre Linux incompatibles, ce qui est un des risques des stratégies JeOS.
Sur le même sujet
On veut éviter que, pour des raisons d’optimisation, l'on assiste à l’apparition de multiples plates-formes incompatibles entre elles, avec des phénomènes de lock-in. Avec Atomic Host, on a créé un hôte compact, mais pas un hôte avec un kernel différent qui aurait risqué la fragmentation.
RHEL Atomic Host est un JeOS, mais ce qui est au coeur de l'OS est le noyau RHEL. Et il fournit « Out of the box » toutes les technologies pour développer et opérer des conteneurs (Docker, Kubernetes). D’un point de vue licence rien ne change, RHEL Atomic Host n’est qu’un modèle de déploiement pour votre souscription RHEL [ce qui veut dire dans la pratique qu’il reste facturé à l’hôte].
LeMagIT : Quelles sont les caractéristiques essentielles de Red Hat Atomic Host ?
Lars Herrmann : Nous avons une vision globale de la façon dont on amène les conteneurs aux entreprises. Pour que les bénéfices des conteneurs leur soient accessibles, il faut que les équipes systèmes et celles qui produisent les applications disposent des outils nécessaires pour faire leur travail. C'est pourquoi nous avons intégré ces technologies avec RHEL pour être sûrs que ces technologies fonctionnent bien sur notre plate-forme. Le support des conteneurs dans RHEL 7 permet de fournir une pile conçue pour supporter les conteneurs.
Pour la sécurité, on ne s’appuie pas que sur la sécurité du noyau. Nous avons intégré les conteneurs avec SELinux. Dans la pratique cela veut dire que Red Hat Atomic Host encapsule les conteneurs avec un niveau de sécurité gérable depuis les hôtes.
Nous avons aussi introduit le concept de conteneurs super privilégiés qui permet aux applications d'un conteneurs d'accéder à l'hôte et aux autres conteneurs de façon sécurisée [N.D.L.R. : ce qui permettra par exemple d'avoir des conteneurs fournissant des services de sécurité ou des services réseau à d'autres conteneurs].
Nous avons enfin mis en oeuvre un système de certification des conteneurs pour garantir à nos clients qu’ils peuvent faire confiance à ce qu’il y a dans un conteneur certifié. (...)
Contenus Premium
Pour les administrateurs systèmes, Red Hat Atomic Host se déploie en bare metal comme une distribution Linux traditionnelle. On utilise Kubernetes [N.D.L.R. : l'outil d’orchestration de conteneurs né à l’origine chez Google] pour orchestrer les conteneurs et rendre possibles des scénarios tels que le déploiement dans un modèle de cloud hybride de conteneurs applicatif. [N.D.L.R : On peut alors imaginer des scénarios où une application interne en conteneurs va consommer des ressources sur un cloud externe en cas de débordement de capacité]. Dans ce dernier scénario, CloudForms fournit la gestion multi-environements