Les conteneurs sont une solution au problème du fonctionnement fiable des logiciels lorsqu'ils sont déplacés d'un environnement informatique à un autre. En exemple, Kubernetes est un moteur open source d'orchestration de conteneurs pour automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Le rôle des conteneurs dans le monde IT démontre de la nécessité de bien sécuriser les environnements dans lesquels ils sont créés et déployés. Cependant, un récent rapport de NeuVector stipule que plus de 60 % des équipes DevOps sacrifient la sécurité des conteneurs au profit de la vitesse.Que sont les conteneurs et pourquoi en avez-vous besoin ?
Les conteneurs permettent aux applications de continuer à fonctionner de manière fiable même lorsqu'ils sont déplacés d'un environnement informatique à un autre. Cela peut être du portable d'un développeur à un environnement de test, d'un environnement de mise en scène à la production, et peut-être d'une machine physique dans un centre de données à une machine virtuelle dans un cloud privé ou public. « Les problèmes surviennent lorsque l'environnement logiciel qui sert de support n'est pas identique », a expliqué Solomon Hykes, créateur de Docker, un logiciel libre permettant de lancer des applications dans des conteneurs logiciels.
« Vous allez tester en utilisant Python 2.7, puis il va fonctionner sur Python 3 en production et quelque chose de bizarre va se produire. Ou alors vous vous fierez au comportement d'une certaine version d'une bibliothèque SSL et une autre sera installée. Vous ferez vos tests sur Debian et la production se fera sur Red Hat et toutes sortes de choses bizarres se produiront. Et ce n'est pas seulement les différents logiciels qui peuvent causer des problèmes. La topologie du réseau diffère souvent, ou les politiques de sécurité et de stockage peuvent être différentes, mais le logiciel doit fonctionner dessus », ajoute-t-il sur la nécessité d'user des conteneurs.
Pour résoudre le problème qu'explique Solomon Hykes, les conteneurs embarquent un environnement d'exécution spécifique. En effet, un conteneur est constitué d'un environnement d'exécution complet : une application, en plus de toutes ses dépendances, les bibliothèques et autres binaires, et les fichiers de configuration nécessaires à son exécution, regroupés dans un seul paquet. La conteneurisation de la plateforme d'application et de ses dépendances permet d'éliminer les différences entre les distributions de systèmes d'exploitation et l'infrastructure sous-jacente.
Dans l'édition 2021 de son enquête sur la sécurité des conteneurs, NeuVector, un fournisseur de services de sécurité pour les conteneurs, a expliqué que la sécurisation des conteneurs exige une nouvelle approche et de nouvelles technologies. Lors de la KubeCon North America 2020, il a interrogé 156 participants pour identifier les tendances et les défis auxquels les entreprises sont confrontées lorsqu'elles entrent dans le domaine de l'informatique distribuée. Environ, 80 % des répondants avaient un déploiement actif de conteneurs et 87 % prévoyaient d'en avoir un nouveau dans les 6 à 12 prochains mois. Voici ce qu'il a découvert.
Tendances des plateformes utilisées dans la conteneurisation
NeuVector a cherché à comprendre dans un premier temps quelles plateformes et quels outils les répondants utilisaient pour construire, exploiter et sécuriser leurs infrastructures de conteneurs. L'étude a révélé que Kubernetes est la norme de facto pour l'orchestration des conteneurs. Ce n'est pas une surprise au KubeCon, mais NeuVector dit l'avoir constaté également dans d'autres recherches. OpenShift, Rancher, VMware et Docker occupant les autres places du podium. Parmi les fournisseurs de cloud computing, différentes versions d'AWS dominent, Microsoft Azure et Google Cloud Plateform prenant respectivement la deuxième et la troisième place.
Et comment font-ils pour mettre toutes...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.