Les conteneurs figurent parmi les plus fortes tendances du cloud, et vont continuer de façonner le nuage, en particulier pour les développeurs qui l’associent à la démarche DevOps.

Depuis la création de Docker, il y a 5 ans, les conteneurs ont fait le buzz et continuent de figurer parmi les tendances majeures des infrastructures de cloud. Le rapport « State of the Cloud 2018 » de RightScale constate que l'adoption de Docker par l'industrie est passée de 35 % en 2017 à 49 % cette année. Un chiffre proche de celui évoqué par Cloud Foundry, qui estime que 53 % des organisations étudient ou utilisent des conteneurs en développement ou en production.

Les conteneurs permettent en particulier aux développeurs de gérer et de migrer facilement le code logiciel, donc les applications. C’est ainsi que, selon Docker, plus de 3,5 millions d'applications ont été placées dans des conteneurs utilisant sa technologie et plus de 37 milliards d'applications conteneurisées ont été téléchargées.

D’où vient l’engouement pour les conteneurs ?

Les hyperviseurs de machines virtuelles (VM), tels que Hyper-V, KVM et Xen, sont tous basés sur l’émulation de matériel virtuel. Les conteneurs utilisent des systèmes d'exploitation partagés. Cela se traduit par une efficacité supérieure à celle des hyperviseurs en termes de ressources système. Au lieu de virtualiser le matériel, les conteneurs reposent sur une seule instance Linux.

Conteneur-vs-VM

Concernant les développeurs, la popularité des conteneurs vient du fait qu'ils se prêtent à l’intégration et au déploiement continus (CI/CD). C’est une méthodologie DevOps conçue pour encourager les développeurs à intégrer leur code dans un référentiel partagé de manière précoce et fréquente, puis à déployer le code rapidement et efficacement. Le développeur peut ainsi emballer, expédier et exécuter facilement n'importe quelle application sous la forme d'un conteneur léger, portable et autosuffisant, pouvant fonctionner pratiquement n'importe où. Et l’isolation du code dans un seul conteneur facilite la modification et la mise à jour du programme.

Le conteneur et DevOps

A mesure qu'elles développent leurs stratégies DevOps pour une production de logiciels plus rapide, de nombreuses entreprises utilisent les conteneurs pour permettre la portabilité entre les services cloud AWS, Microsoft Azure et Google Cloud.

La solution de conteneur la plus utilisée est open source (Docker), ce qui signifie que les développeurs peuvent facilement étendre ou ajouter de nouvelles fonctionnalités et plugins sans avoir à se soucier du verrouillage du fournisseur. Enfin, de son côté, Kubernetes invite à déployer des conteneurs basés sur la virtualisation au niveau du système d'exploitation plutôt que sur la virtualisation matérielle.