Connectez-vous avec nous

Ordinateurs et informatique

Qu'est-ce que la technologie des conteneurs? | TechRadar

La technologie des conteneurs, également simplement connue sous le nom de conteneur, est une méthode pour empaqueter une application afin qu'elle puisse être exécutée, avec ses dépendances, isolée des autres processus. Les principaux fournisseurs d'informatique en nuage publique, y compris Amazon Web Services, Microsoft Azure et Google Cloud Platform, ont adopté la technologie de conteneur, avec des logiciels de conteneur dont les noms incluent les choix populaires de Docker, Apache Mesos, rkt (prononcé «fusée») et Kubernetes.

La technologie des conteneurs tire son nom de l'industrie du transport maritime. Plutôt que de proposer une façon unique d'expédier chaque produit, les marchandises sont placées dans des conteneurs d'expédition en acier, qui sont déjà conçus pour être ramassés par la grue sur le quai, et s'insèrent dans le navire conçu pour s'adapter à la taille standard du conteneur. En bref, en standardisant le processus et en gardant les articles ensemble, le conteneur peut être déplacé comme une unité, et cela coûte moins cher de le faire de cette façon.

Avec la technologie des conteneurs informatiques, c'est une situation analogue. Avez-vous déjà eu la situation où un programme fonctionne parfaitement bien sur une machine, mais se transforme ensuite en un désordre maladroit lorsqu'il est déplacé vers la suivante? Cela peut se produire lors de la migration du logiciel du PC d'un développeur vers un serveur de test, ou un serveur physique dans un centre de données d'entreprise, vers un serveur cloud. Des problèmes surviennent lors du déplacement de logiciels en raison des différences entre les environnements de la machine, tels que le système d'exploitation installé, les bibliothèques SSL, le stockage, la sécurité et la topologie du réseau.

Tout comme la grue ramasse le conteneur entier comme une unité pour le mettre sur le navire ou le camion pour le transport, ce qui facilite le mouvement, la technologie des conteneurs informatiques accomplit la même chose. La technologie de conteneur contient non seulement le logiciel, mais aussi les dépendances, y compris les bibliothèques, les fichiers binaires et les fichiers de configuration, tous ensemble, et ils sont migrés en tant qu'unité, évitant les différences entre les machines, y compris les différences de système d'exploitation et le matériel sous-jacent, qui entraînent des incompatibilités et des plantages. Les conteneurs facilitent également le déploiement de logiciels sur un serveur.

Machines virtuelles

Avant que les conteneurs ne gagnent en popularité, les machines virtuelles étaient une approche antérieure. Ici, un serveur physique a pu être utilisé pour plusieurs applications via la technologie de virtualisation, également connue sous le nom de machine virtuelle, où chaque machine virtuelle contient l'intégralité du système d'exploitation, ainsi que l'application à exécuter.

Le serveur physique exécute ensuite plusieurs machines virtuelles, chacune avec son propre système d'exploitation, avec une seule couche d'émulation d'hyperviseur au-dessus. En exécutant plusieurs systèmes d'exploitation simultanément, il y a beaucoup de surcharge sur le serveur à mesure que les ressources sont utilisées et le nombre de machines virtuelles est limité à quelques-unes.

En revanche, avec la technologie des conteneurs, le serveur exécute un seul système d'exploitation, car chaque conteneur peut partager ce système d'exploitation unique avec les autres conteneurs sur le serveur. Les parties du système d'exploitation partagées sont en lecture seule pour ne pas interférer avec les autres conteneurs. Cela signifie que, par rapport aux machines virtuelles, les conteneurs nécessitent moins de ressources du serveur avec une surcharge réduite et sont nettement plus efficaces, de sorte que beaucoup plus de conteneurs peuvent être regroupés sur un seul serveur. Par exemple, alors que chaque machine virtuelle peut nécessiter des gigaoctets de stockage, chaque conteneur exécutant un programme similaire peut ne nécessiter que des mégaoctets.

Comment fonctionnent les conteneurs?

Les conteneurs sont configurés pour accomplir le travail dans une architecture à conteneurs multiples, appelée cluster de conteneurs. Dans un cluster de conteneurs Kubernetes, il existe un seul maître de cluster, avec les autres conteneurs associés désignés comme nœuds, qui sont les multiples machines de travail. Le rôle du maître de cluster est de planifier les charges de travail pour les nœuds, mais également de gérer leur cycle de vie et leurs mises à niveau.

La technologie des conteneurs n'est pas un phénomène nouveau et a longtemps été une caractéristique essentielle de Linux. Les progrès réalisés ces dernières années dans la technologie des conteneurs sont devenus plus faciles à utiliser, et les développeurs de logiciels les ont adoptés pour leur simplicité et pour éviter les problèmes de compatibilité. Ils permettent également de décomposer un programme en petits morceaux, appelés microservices.

L'avantage d'avoir le programme en tant que microservices de composants est que différentes équipes peuvent travailler séparément sur chacun des conteneurs tant que les interactions entre les différents conteneurs sont maintenues, ce qui facilite le développement de logiciels plus rapidement. Enfin, la technologie des conteneurs permet un contrôle granulaire complet des conteneurs.

Alors que les conteneurs peuvent exécuter tous les types de logiciels, les anciens programmes conçus pour s'exécuter sur une machine virtuelle ne migrent pas bien vers la technologie des conteneurs. Cet ancien logiciel exécuté sur une machine virtuelle peut être placé sur un plateforme cloud tels que Microsoft Azure, il est donc peu probable que les conteneurs remplacent complètement les machines virtuelles dans un avenir prévisible.

Comment les entreprises gèrent-elles les conteneurs?

Avec autant de logiciels fonctionnant en tant que conteneurs, la gestion des conteneurs est maintenant devenue une exigence et il est difficile de délimiter impossible d'effectuer cette tâche manuellement. Un logiciel spécialisé pour la gestion des conteneurs est requis, et une solution open source populaire est Kubernetes, qui a plusieurs distributions, y compris Red Hat OpenShift. Le logiciel de gestion des conteneurs facilite le déploiement des conteneurs et fonctionne bien avec les stratégies de déploiement rapide du DevOps philosophie.

Une autre grande caractéristique de la technologie des conteneurs est sa flexibilité. Avec une machine virtuelle, il faut plusieurs minutes pour démarrer, tout comme le PC sur votre bureau démarre en début de journée. Au contraire, avec la technologie des conteneurs, comme le système d'exploitation est déjà en cours d'exécution sur le serveur, un conteneur peut être démarré en quelques secondes. Cela permet aux conteneurs d'être démarrés et arrêtés selon les besoins, de fléchir à un moment de forte demande et de fléchir lorsqu'ils ne sont pas nécessaires.

De plus, si un conteneur tombe en panne, il peut être redémarré rapidement pour qu'il puisse reprendre la tâche. Ce type de gestion est appelé orchestration de conteneurs, et des logiciels tels que Docker Swarm peuvent contrôler ce type d'orchestration et répartir les tâches entre les clusters de conteneurs.

Comme plusieurs conteneurs partagent le même système d'exploitation, il est à craindre que la technologie des conteneurs soit moins sécurisée qu'une machine virtuelle. Cela est dû au fait que s'il y a une faille de sécurité dans le noyau hôte, cela affectera plusieurs conteneurs. Des efforts ont été faits pour rendre les conteneurs plus sûrs. Une approche inclut Docker nécessitant une infrastructure de signature pour empêcher le démarrage de conteneurs non autorisés. Il existe également un logiciel de sécurité de conteneur, tel que Twistlock, qui décrit le comportement d'un conteneur, puis arrête un conteneur qui ne fait pas partie du profil attendu.

Les offres de produits Hi-tech en rapport avec cet article

Continuer la lecture
Cliquez pour commenter

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ARTICLES POPULAIRES