Qu’est qu’un conteneur ?
Un conteneur est un package autonome léger qui encapsule un environnement d’exécution entier, comprenant une application et ses dépendances (bibliothèques, fichiers binaires et tout fichier de configuration supplémentaire), ce qui augmente la portabilité, la scalabilité, la sécurité et l’agilité d’une application.
Les conteneurs sont populaires auprès des développeurs et des opérateurs, car ils offrent un moyen simple de déployer et de gérer les applications, quel que soit l’environnement cible. Ils facilitent les pratiques DevOps et DevSecOps en améliorant les transferts entre les équipes responsables des opérations et du développement.
Les conteneurs consomment efficacement les ressources, ce qui permet une densité et une utilisation des ressources élevées. Bien que les conteneurs puissent être utilisés avec pratiquement n’importe quelle application, ils sont souvent associés à des microservices, dans lesquels plusieurs conteneurs exécutent des composants d’application ou des services distincts. Les conteneurs qui composent une application sont généralement coordonnés et gérés à l’aide d’une plate-forme d’orchestration de conteneurs comme Kubernetes.
Les conteneurs sont générés en créant des packages d’applications à partir de plusieurs images d’un ou de plusieurs référentiels, ainsi que de toutes les bibliothèques ou autres dépendances d’applications, éliminant ainsi les problèmes de portabilité et de compatibilité.

Une nouvelle façon de créer des conteneurs pour Kubernetes

Les synergies entre les conteneurs et les machines virtuelles
Conteneurs et machine virtuelle
Quels sont les avantages des conteneurs ?
L’utilisation de conteneurs pour concevoir des applications accélère la fourniture de nouvelles fonctionnalités et favorise un environnement d’innovation continue. Principaux avantages :
L’agilité : grâce à une agilité accrue pour les développeurs, la productivité et la vitesse de développement des applications augmentent. Les conteneurs rationalisent les pipelines d’intégration et de livraison continues (CI/CD) sont idéaux pour les équipes DevOps et les déploiements de microservices.
La scalabilité et la haute disponibilité : à l’aide de Kubernetes, les déploiements de conteneurs peuvent être automatiquement adaptés aux besoins des charges de travail, ce qui augmente la disponibilité des applications.
La portabilité : les conteneurs consomment moins de ressources et sont plus légers que les machines virtuelles. Les applications conteneurisées sont indépendantes de l’infrastructure et fonctionnent toujours de la même manière, quel que soit l’endroit où elles sont déployées.
La résilience : une application conteneurisée est isolée et dissociée du système d’exploitation et des autres conteneurs. Ainsi, un conteneur peut tomber en panne sans que cela affecte les autres conteneurs en cours d’exécution.
Normes relatives aux conteneurs
Sécurité des conteneurs
Les conteneurs requièrent des changements dans la manière dont les règles de sécurité sont mises en œuvre et gérées. La sécurité doit être intégrée autant que possible dans le cycle de vie des conteneurs, en utilisant une approche DevSecOps. Les équipes de sécurité, en collaboration avec les équipes responsables des opérations et du développement, adaptent les règles de gouvernance et politiques de conformité existantes pour prendre en charge les nouveaux outils et les modifications apportées au cycle de vie des applications.
Automatisation des conteneurs
Le travail manuel ralentit les équipes de développement. L’automatisation des conteneurs permet aux développeurs de se concentrer sur le code plutôt que sur le packaging. Les images de conteneur sont construites en couches. Avec une approche automatisée de la création de conteneurs, chaque fois qu’une couche est modifiée, seule cette couche doit être mise à jour. Par exemple, si seules les bibliothèques système doivent être mises à jour, seule la couche contenant les bibliothèques doit être reconstruite. Comme les autres couches restent inchangées, le fardeau des tests et de la validation est réduit, ce qui permet de mettre en production plus rapidement et plus fréquemment les conteneurs mis à jour.
Docker
Depuis son introduction en 2013, la plate-forme Docker est presque synonyme de conteneurs et continue d’être utilisée pour créer des images de conteneurs. L’environnement Docker comprend un runtime de conteneur ainsi que la gestion de la création et des images de conteneurs. Étant donné que Docker crée une image de conteneur conforme aux normes de l’OCI, les images Docker s’exécutent sur tous les runtimes de conteneur compatibles OCI.
Kubernetes
Cas d’usage des conteneurs
Pour les développeurs
- Améliorez la portabilité des applications sur différentes plates-formes et configurations, de sorte que le code développé sur une version d’un compilateur ou d’un interpréteur de langage s’exécute parfaitement sur les versions ultérieures, sans qu’aucune révision ne soit nécessaire.
- Levez la contrainte pour les développeurs d’avoir à procéder au développement, aux tests et au déploiement sur la même infrastructure, afin que les développeurs qui écrivent du code sur leurs ordinateurs portables puissent être assurés que l’application s’exécutera comme souhaité sur n’importe quelle autre infrastructure, qu’il s’agisse d’un serveur on premise ou d’une machine virtuelle Cloud.
- Facilitez les processus de développement agiles, tels que l’intégration et la livraison continues (CI/CD), en accélérant l’acceptation et le déploiement du code.
Pour les opérations informatiques
- Améliorez la sécurité des applications en les isolant des autres applications de manière simple.
- Migration transparente des applications conteneurisées sur différentes versions de système d’exploitation, topologies de réseau ou configurations de stockage, et plates-formes Cloud.
- Améliorez l’efficacité informatique en autorisant l’exécution de plusieurs conteneurs d’applications sur une seule instance de système d’exploitation. Comme les conteneurs pèsent souvent plusieurs dizaines de mégaoctets alors que les machines virtuelles font souvent dix gigaoctets ou plus, un nombre beaucoup plus important de conteneurs peut fonctionner sur une seule instance de serveur.
Offrez une scalabilité totale à la demande, en déployant des instances de conteneur supplémentaires en quelques millisecondes au lieu de devoir attendre plusieurs minutes pour déployer des machines virtuelles.
Solutions et produits associés
Modernisation des applications avec Kubernetes
Fournissez des solutions Kubernetes pour les développeurs dans le Data Center ou le Cloud
Créez des conteneurs pour Kubernetes à partir de code source
VMware Tanzu Build Service automatise la création, la gestion et la gouvernance des conteneurs à grande échelle.
Gestion Kubernetes multicloud
VMware Tanzu Mission Control est une plate-forme de gestion Kubernetes multicloud qui virtualise le Cloud en fournissant une plate-forme Kubernetes cohérente qui permet la gestion, l’exploitation et la distribution d’applications à grande échelle sur tous les Clouds.