Entretien : Le CTO de VMware fait le point sur Bonneville et les conteneurs

Dans un entretien, le CTO de VMware, Kit Colbert explique comment le projet Bonneville va permettre d'intégrer les conteneurs dans une infrastructure vSphere.

VMware n’a pas l’intention de rester immobile face à l’émergence des technologies de conteneurs. La société a rapidement adopté Docker et bâti une stratégie agressive autour des conteneurs.

L'année dernière, VMware a créé un groupe dédié aux applications cloud et a choisi l’un de ses vétérans, Kit Colbert pour en prendre la direction technique. Depuis, la société a dévoilé plusieurs projets axés sur les conteneurs et les applications de cloud natives, dont le projet Photon (un système d'exploitation linux léger) et le projet Lightwave (une suite de gestion des identités et des accès pour les conteneurs).

Plus récemment, la firme a fait la démonstration des technologies du projet Bonneville, qui a permis de clarifier la façon dont la firme entend répondre à la problématique de gestion des conteneurs dans une infrastructure vSphere. Nos collègues de SearchServerVirtualization ont pu discuter avec Kit Colbert en amont de VMworld San Francisco afin de faire le point sur le projet Bonneville et sur les plans de la société en matière de conteneurs.

Kit Colbert, CTO Cloud Native Apps, VMwareKit Colbert,
CTO Cloud Native Apps,
VMware

 

Pourquoi une entreprise voudrait-elle utiliser des conteneurs, et qui les utilise vraiment ?

Kit Colbert : Nous pensons que les conteneurs ont un rôle précieux à jouer dans le workflow des développeurs. Docker a fait en sorte que les développeurs puissent adopter les conteneurs de façon et les intégrer de façon transparente à leur flux de travail. Cela leur permet de travailler plus rapidement. Cela est précieux mais cela n’empêche pas que pour basculer les conteneurs en production, il faut avoir résolu toutes les questions opérationnelles. Et de ce point de vue, le domaine des conteneurs est encore dans son enfance. Nous pensons donc qu’il y a une opportunité pour fournir de quoi gérer les conteneurs.

 

Comment fonctionne le projet Bonneville et quels sont les rôles des technologies de clone instantané de VM et de « forking » de VM ?

Colbert : la question qui se pose est la suivante : comment puis-je très rapidement mettre à disposition une nouvelle VM ? Il y a différentes façons s’attaquer à ce problème. Un des moyens est le Project Photon. Une VM du projet Bonneville VM faisant tourner l’OS Photon est extrêmement compacte - environ 20 Mo en taille. Mais nous voulons faire encore mieux et c’est là que les clones instantanés entrent en jeu.

L’idée est d’exécuter une VM Photon et de la maintenir dans un état impeccable - il n'y a pas d’applications démarrées dans la VM, mais juste un OS fraîchement démarré et propre. C’est cette base que nous utilisons pour déployer des clones instantanés. Vous disposez donc de copies identiques fraîchement démarrées de VM Photon et nous mettons en œuvre un conteneur dans cette VM. La durée de vie de la VM est celle du conteneur qu’elle encapsule, ce qui est un élément vraiment essentiel.

Cela nous donne est la possibilité de démarrer très rapidement une nouvelle VM - en environ une demi-seconde- et avec une très faible empreinte mémoire car la nouvelle VM partage sa mémoire avec la VM utilisée comme référence. C’est une façon de faire de la virtualisation bien plus légère.

 

Votre description de la machine virtuelle et du conteneur étant détruits après utilisation semble faire référence à la notion de déploiement immuable (les instances ne sont pas mises à jour mais détruites et redéployées). Est-ce dans cette voie que nous allons ?

Colbert : Le terme que j’entends est celui d’infrastructure immuable. Je pense que nous parlons de la même chose, qui est cette notion qu'une fois que vous déployez quelque chose, vous ne le changez plus du tout. Cela permet un mécanisme très précis de contrôle de version, et cela modifie aussi la façon dont vous gérez vos déploiements. C’est un changement fondamental, car ce que l’on fait généralement aujourd'hui est de déployer quelque chose et puis de changer son état au fil du temps. Des outils sont apparu au fil du temps, comme Chef, Puppet, Ansible et SaltStack pour gérer l'état de ces systèmes provisionnés. Le concept d’infrastructures immuable met se modèle à bas car une fois un environnement provisionné, on ne le touche plus.

Je pense que vous avez raison, c’est une direction que nous explorons. Plutôt que d'avoir à gérer une machine virtuelle comme un élément à long terme – qui peut vivre pendant des semaines ou des mois - nous pouvons imaginer une machine virtuelle comme étant plus transitoire. Elle est instanciée lorsque nous en avons besoin, elle dure aussi longtemps que nécessaire, puis est détruite [pour être remplacée par une nouvelle version]. Voilà une notion vraiment puissante, et qui permet de comprendre bien plus facilement l'état d’un système à un moment donné. C’est exactement le genre de modèle que nous étudions.

 

En plus de Docker, Photon supporte également les technologies de conteneurs Rocket et Garden. Qu'en est-il de Bonneville ? Envisagez-vous d'ajouter le support pour les technologies de conteneurs supplémentaires ?

Colbert : Docker est le premier supporté, mais nous voulons en supporter d’autres. Par exemple, nous étudions aussi [Google] Kubernetes, et regardons s’il est possible d’exposer une interface Kubernetes dans Bonneville. Nous étudions Garden de Pivotal. Le modèle de Bonneville est très puissant et peut s’adapter à un grand nombre de technologies de conteneurs.

 

Pourquoi prendre l'approche de l'exécution d'un conteneur à l'intérieur d'une VM ?

Colbert : On me pose souvent cette question. Prenant un peu de recul, vous n’avez jamais vraiment eu besoin d’une VM pour exécuter quoi que ce soit ? Une VM n’est après tout qu’une abstraction d'une machine physique. Mais la virtualisation a offert un très grand nombre de bénéfices et c’est pour cela que son adoption a progressé si vite. Au début, le principal cas d’utilisation de la virtualisation a été la consolidation, mais aujourd’hui les avantages opérationnels l’emportent sur la consolidation. La virtualisation offre une plate-forme commune pour exécuter de nombreuses technologies différentes.

C’est ce que nous imaginons aussi pour les conteneurs. Avez-vous besoin des machines virtuelles pour exécuter des conteneurs ? Non ... Mais il y a des bénéfices à l'exécution des conteneurs sur une VM comme les aspects de sécurité - les conteneurs sont loin d’avoir le même niveau de sécurité multi-locataire que les VM – ou les aspects opérationnels. Rappelez-vous que, même si les conteneurs sont à la mode en ce moment, les gens ont encore des tonnes d'applications traditionnelles dans leurs entreprises. La plupart des nouvelles applications seront probablement pour partie basée sur des conteneurs et pour partie sur des technologies traditionnelles. Je crois donc que beaucoup de nos clients sont à la recherche d’une plate-forme commune pour l'exécution de ces applications et que la virtualisation offre un très grand nombre d'avantages.

En fait, [pour ce qui est de la question de l’encapsulation des conteneurs dans des VM] il est moins question de besoin que d’avantages.

 

Est-ce que l’encapsulation des conteneurs dans des VM est la réponse à long terme, ou allons-nous voir par la suite des produits qui pourront gérer les conteneurs de la même façon que nous gérons les machines virtuelles tout en fournissant la sécurité dont nous avons besoin ?

Colbert : Je pense en réalité que la virtualisation va évoluer. Nous voyons déjà cela avec des technologies comme Clear Containers d’Intel.

Ce qu’Intel a fait avec Clear Containers est commencer à ajouter plus de fonctionnalités au sein de leurs processeurs pour permettre une version plus légère de la virtualisation. Avec Clear Containers, chaque fois que vous exécutez un conteneur, il démarre une machine virtuelle très légère – selon un concept très semblable à Bonneville. Donc, à bien des égards, vous ne savez même vous utilisez une machine virtuelle, mais vous obtenez les avantages dont nous avons déjà parlé. Pour moi l’avenir est à l’exécution des conteneurs dans des machines virtuelles, sauf que le concept de virtualisation sera un peu différent des méthodes traditionnelles de virtualisation pour les applications traditionnelles.

La virtualisation est un concept très résistant et il y a beaucoup de choses que nous pouvons faire qui offrent beaucoup de valeur. La réalité est que c’est un vrai défi que de sécuriser les interfaces des conteneurs – Il s’agit en fait à la base de sécuriser Linux. Cela prend beaucoup de temps et on parle d’un très large ensemble d'API. De plus des cas étranges peuvent vous vous revenir à la figure. La virtualisation en revanche a été construite dès le départ être sécurisée, de telle sorte que le chemin est bien plus facile. Je pense que nous verrons la virtualisation évoluer pour être bénéfique pour les applications en conteneurs.

Qu'est-ce que l'industrie doit encore résoudre pour faire des conteneurs une technologie prête à déployer en production ?

Colbert : Il y a pas mal de choses. Les aspects réseau et stockage sont des domaines qui vont avoir besoin de beaucoup d'innovation dans le secteur des conteneurs. La question de l’administration est un autre enjeu – notamment la gestion du cycle de vie et la gestion de la performance. Il y a quelques domaines dont nous n’avons qu'effleuré la surface. VMware aura beaucoup de choses intéressantes à annoncer dans ce domaine au cours des prochains mois, lors de VMworld et au-delà. Attendez-vous à voir bien plus encore.

Pour approfondir sur Stockage de conteneurs