Qu’est-ce qu’un registre de conteneurs ?

Vue aérienne de Tokyo

Auteurs

Phill Powell

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Qu’est-ce qu’un registre de conteneurs ?

Un registre de conteneurs désigne un ou plusieurs référentiels de données qui entreposent des images de conteneurs à des fins de stockage et d’accès. Les images de conteneurs sont des fichiers statiques immuables, qui contiennent du code exécutable et fonctionnent de manière isolée sur l’infrastructure informatique.

L’un des principaux avantages des registres de conteneurs réside dans leur capacité à se connecter aux systèmes d’orchestration de conteneurs, ainsi qu’aux plateformes telles que Kubernetes et Docker.

Lors du développement d’applications conteneurisées, les équipes peuvent également utiliser les registres de conteneurs selon une approche DevOps, afin d’optimiser l’intégration des workflows d’intégration continue (CI) et de livraison continue (CD). Ces deux types de workflows sont au cœur du développement logiciel. La CI et la CD s’appuient sur l’automatisation et s’adaptent aux changements fréquents de code. Principale différence : l’IC prépare le code en vue d’une éventuelle publication, tandis que la CD concerne la publication effective du code. Les registres de conteneurs prennent en charge les deux workflows.

Il existe deux types de registres de conteneurs :

  • Les registres publics permettent d’optimiser le transfert de données et d’assouplir le contrôle d’accès, mais ils ne disposent pas de protocoles de sécurité avancés.
  • Les référentiels privés sont généralement utilisés dans les situations nécessitant un niveau de sécurité plus élevé, ainsi qu’une protection renforcée des workloads.
Vue aérienne d’autoroutes

Gardez la tête dans le cloud 


Recevez la newsletter hebdomadaire Think pour obtenir des conseils d’experts sur l’optimisation des paramètres multicloud à l’ère de l’IA.

Comment fonctionnent les registres de conteneurs ?

Les registres de conteneurs stockent des images de conteneurs. Les utilisateurs peuvent les télécharger dans le registre (processus appelé « push ») ou dans un autre système (processus appelé « extraction »).

Les registres de conteneurs peuvent être utilisés seuls ou avec d’autres registres de conteneurs. Si plusieurs conteneurs sont combinés au sein d’une seule et même unité opérationnelle pour assurer la fourniture de services cloud, sa fonctionnalité imite un écosystème dont les habitants collaborent étroitement pour atteindre un objectif commun.

Object Storage

Les registres de conteneurs s’appuient sur le stockage d’objets pour inclure des métadonnées dans les images de conteneurs. Bien qu’il s’agisse d’un moyen efficace de transférer ces métadonnées, celui-ci est, par nature, limité. Par exemple, dans le cas de données pouvant impliquer plusieurs images, le nombre de balises disponibles est limité.

Conteneurs pour dépendances

Les conteneurs pour dépendances constituent une autre méthode de stockage. Ils permettent la gestion, l’enregistrement et la résolution des dépendances dans une application. En programmation, les dépendances décrivent les situations dans lesquelles un objet ou un processus doit se produire afin qu’un autre puisse fonctionner comme prévu.

Ces dépendances sont gérées par les conteneurs de dépendances, qui simplifient les tests, améliorent l’évolutivité et réduisent la nécessite de coupler le code (une interdépendance trop forte entre les objets programmés, susceptible d’entraîner des erreurs et des problèmes de contrôle des versions).

L'authentification

Compte tenu du besoin urgent de sécurité en ligne, l’authentification des personnes autorisées à accéder aux référentiels est indispensable. L’authentification repose sur une série d’autorisations spécifiques à ce registre de conteneurs. Les autorisations définissent qui peut utiliser les ressources informatiques présentes dans le registre de conteneurs.

Environnements d’exécution de conteneurs

L’importance de l’environnement d’exécution est vitale. L’environnement d'exécution est un logiciel qui permet aux conteneurs de fonctionner au sein d’un système hôte. Les environnements d’exécution suivent une série d’étapes pour assurer la création des conteneurs. Ces étapes vont de la formation des conteneurs à l’initialisation de leur environnement, guidées par une image de conteneur qui contient l’application et ses dépendances.

Une fois les conteneurs formés, l’environnement d’exécution reste activement impliqué : il gère le cycle de vie des conteneurs, suit leur viabilité et supprime leurs ressources lorsqu’elles ne sont plus nécessaires.

Equilibrage de charge

Les registres de conteneurs permettent également l’équilibrage de charge. Avec l’équilibrage de charge natif des conteneurs, le trafic de l’équilibreur est directement acheminé vers les zones destinées à recevoir ce trafic. Les registres de conteneurs et les équilibreurs de charge fonctionnent conjointement, ce qui élimine la nécessité d’acheminer le trafic via une boucle de réseau supplémentaire.

AI Academy

Se préparer à l’IA avec le cloud hybride

Dirigé par des leaders d’opinion IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires qui leur permettront d’orienter leurs investissements IA vers les opportunités les plus prometteuses.

Avantages des registres de conteneurs

Les registres de conteneurs offrent de nombreux avantages. En voici quelques-uns :

Clarté opérationnelle

Les registres de conteneurs améliorent la clarté opérationnelle, car ils disposant d’un emplacement dédié pour stocker les images à long terme. Les artistes de production et les développeurs de logiciels peinent souvent à gérer la surcharge d’actifs. Les registres de conteneurs leur simplifient la vie en regroupant les actifs dans un seul emplacement.

Performance rationalisée

Les registres de conteneurs aident à prévenir les retards de performance susceptibles de survenir lorsque l’emplacement exact des images n’est pas connu, surtout pendant les périodes de haute priorité. Les registres de conteneurs résolvent ce problème en fournissant un stock qui peut être vérifié et confirmé à tout moment.

Source d’information unique

Les registres créent une source d’information unique pour l’ensemble des composants ou applications, afin d’assurer une transparence totale sur leur composition. L’utilisation des registres de conteneurs permet de s’assurer que l’itération la plus récente est prête à être utilisée ou répliquée, pour un contrôle optimal des versions.

Sécurité renforcée

Les registres de conteneurs renforcent la sécurité des images. En effet, les protocoles d’accès permettent de les protéger. Parallèlement, l’analyse des vulnérabilités permet aux utilisateurs d’examiner en détail leurs images et d’y repérer les problèmes cachés.

Cas d’utilisation des registres de conteneurs

Les activités suivantes font largement appel aux registres de conteneurs :

développement de logiciels

Le développement logiciel est le principal cas d’utilisation des registres de conteneurs. C’est pourquoi ils ont été créés à l’origine : assister les développeurs de logiciels en leur fournissant un espace de travail pour entreposer les images, y accéder et les partager.

Livraison des logiciels d’enterprise

Les registres de conteneurs privés sont généralement considérés comme indispensables aux entreprises qui conçoivent et fournissent des applications logicielles en interne. Les registres privés offrent aux utilisateurs un niveau de contrôle plus élevé sur les chaînes d’approvisionnement logicielles.

Microservices

De nombreux registres de conteneurs facilitent la vie des utilisateurs de microservices en simplifiant la localisation et la connexion des microservices au sein des clusters. Ces registres offrent des services de système de noms de domaine qui attribuent aux images un nom et une adresse IP virtuelle.

Déploiement d’applications

Les registres de conteneurs favorisent une itération rapide des applications en raison de leur nature modulaire et légère. La portabilité et la cohérence des registres profitent également au déploiement.

Recherche scientifique

Les registres de conteneurs sont personnalisés à des fins scientifiques précises, par exemple pour la prise en charge des données génétiques et la recherche génomique. Les résultats de la recherche peuvent être facilement reproduits dans d’autres formats, ce qui permet de partager les codes et artefacts clés.

Docker et Kubernetes

Il existe deux principaux fournisseurs d’orchestration de conteneurs qui dominent le marché des logiciels de registre de conteneurs :

Docker

Docker est un système d’orchestration de conteneurs développé et lancé en 2013 pour simplifier la création, le déploiement et l’exécution des applications. Docker a vu récemment sa popularité augmenter parce qu’il facilite la création de conteneurs légers, portables et autonomes, compatibles avec tout type de plateforme, quelle que soit l’infrastructure. Sa facilité d’utilisation en a fait une option de choix pour déployer des applications consacrées à l’intelligence artificielle (IA) et au machine learning (ML).

C’est pourquoi les conteneurs Docker offrent également une portabilité exceptionnelle, puisqu’ils peuvent être déplacés d’une machine à l’autre, quelle que soit l’infrastructure. Là aussi, Docker présente l’avantage de simplifier considérablement l’introduction des applications d’IA et de ML dans un environnement alternatif tel qu’une machine locale, un appareil edge ou un serveur cloud.

Kubernetes

Kubernetes est une plateforme d’orchestration de conteneurs open source. Également lancé en 2013, Kubernetes (« timonier » en grec ancien) est utilisé pour automatiser divers processus logiciels tels que la gestion, le déploiement et la mise à l’échelle.

Dans les services Kubernetes, un ou plusieurs ordinateurs (machines virtuelles ou Bare Metal Servers) sont liés dans un cluster permettant l’exécution de workloads conteneurisées de tailles et de types différents. Kubernetes est souvent déployé grâce aux charts Helm, des collections de fichiers qui permettent de décrire les différentes ressources du cluster Kubernetes, puis de les regrouper pour former une application.

Kubernetes permet l’utilisation d’applications ML conteneurisées, facilite la mise à l’échelle et prend en charge les cadres et outils ML. Kubernetes peut également être utilisé comme plateforme pour les workloads d’entraînement de l’IA.

Docker et Kubernetes sont similaires à bien des égards. Ils diffèrent toutefois en termes d’échelle. En effet, Docker est essentiellement un environnement d’exécution des conteneurs, tandis que Kubernetes est une plateforme complète, conçue pour prendre en charge la gestion et l’exécution des conteneurs provenant de plusieurs environnements d’exécution. Pour mieux comprendre la différence entre les deux, disons que Kubernetes est tellement vaste que Docker n’est que l’un des environnements d’exécution de conteneurs qu’il prend en charge.

Autres grands fournisseurs de registres de conteneurs

Le marché des registres de conteneurs ne cesse d’évoluer ; de nouveaux acteurs du secteur y entrent, tandis que d’autres le quittent, et ce en permanence. Les fournisseurs suivants se sont toutefois forgé une réputation durable sur ce marché :

  • Alibaba : Alibaba Group s’attache à « faciliter les affaires partout ». Son Cloud Container Registry permet la réplication d’images entre les instances (entités opérationnelles) appartenant au même compte. Alibaba Cloud Container Registry est conçu pour gérer les images tout au long de leur cycle de vie.
  • Amazon : Amazon Web Services (AWS) exploite Amazon Elastic Container Registry (ECR), qui intègre Amazon Inspector, conçu pour gérer l’analyse des vulnérabilités présentes dans les images. ECR prend également en charge la réplication inter-comptes et interrégionale pour faciliter l’accès aux images.
  • DockerHub : Docker a sa propre ressource d’images, appelée DockerHub, qui offre un accès gratuit à plus de 100 000 images partagées par les utilisateurs Docker, les éditeurs de logiciels et les projets open source. Un service de registre de conteneurs payant est également proposé pour un usage privé. DockerHub utilise une interface de ligne de commande Docker (Docker CLI) qui permet des opérations clés telles que la connexion, le push et l’extraction.
  • GitHub : désormais détenu par Microsoft, GitHub a été lancé en 2007. La plateforme est plébiscitée par les développeurs car elle favorise le partage et la gestion du code, ainsi que la collaboration. (Il est à noter que GitHub est un logiciel propriétaire, bien que souvent confondu avec les logiciels open source.)
  • GitLab : souvent confondu avec GitHub, GitLab a été fondé en 2014. GitLab Container Registry est un registre privé sécurisé, dédié aux images de conteneurs. Il peut être utilisé pour produire et publier des images. Gitlab Container Registry fonctionne avec un logiciel open source. La dernière version (bêta actuellement) offre des fonctionnalités améliorées de tri et de filtrage.
  • Google : le registre de conteneurs de Google Cloud, « Artifact Registry », est intégré aux outils et aux environnements d’exécution Google Cloud et permet l’utilisation de pipelines automatisés. Google est également à l’origine de Kubernetes. Le projet est désormais géré grâce aux efforts des contributeurs, et la marque appartient à la Cloud Native Computing Foundation. Les fournisseurs de cloud public proposent désormais chacun leur propre version de Kubernetes en tant que service géré.
  • IBM : IBM Cloud Container Registry permet de lancer facilement son propre registre et d’y charger les images privées à utiliser avec IBM Cloud Kubernetes Service. Les utilisateurs bénéficient d’un registre confidentiel, entièrement géré. Le service, qui peut être testé gratuitement, est facturé à l’utilisation, permettant aux utilisateurs de ne payer que ce qu’ils consomment.
  • Microsoft : la plateforme Azure de Microsoft comprend Azure Container Registry (ACR), qui contient des images Docker et Open Container Initiative (OCI) et prend en charge les artefacts OCI et les graphiques Helm. La fonctionnalité de registre connecté d’ACR (incluse dans le service premium) crée une réplique sur site ou à distance qui synchronise les images de conteneurs et les artefacts OCI avec l’ACR cloud. Les ACR acceptent à la fois les images Windows et Linux. Une façon d’interagir avec les programmes informatiques consiste à rédiger et à saisir des lignes de texte, appelées lignes de commande. Lorsqu’un système d’exploitation utilise cette méthode d’interaction, on dit qu’il intègre une interface de ligne de commande (CLI). Bien que la plupart des utilisateurs d’ordinateurs s’appuient désormais sur des interfaces graphiques (GUI), les CLI restent privilégiées par certains, en particulier ceux qui écrivent des scripts en vue d’automatiser des programmes. Azure permet d’utiliser la CLI Docker pour exécuter des opérations clés sur les images de conteneurs (connexion, push et pull).
  • Red Hat : Red Hat promeut la programmation sous Linux depuis sa création en 1993. Son registre de conteneurs, OpenShift Container Platform (OCP), permet aux utilisateurs d’accéder automatiquement aux référentiels d’images à la demande et leur offre un emplacement standard pour envoyer les images résultant des versions de leurs applications.
Solutions connexes
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud est une plateforme de conteneurs OpenShift entièrement gérée.

Découvrir Red Hat OpenShift
Solutions de conteneurs

Les solutions de conteneurs exécutent et étendent les workloads conteneurisés avec sécurité, innovation open source et déploiement rapide.

Découvrir les conteneurs
Services de conseil cloud 

Déverrouillez de nouvelles fonctionnalités et stimulez l’agilité de votre entreprise grâce aux services de conseil d’IBM Cloud. Découvrez comment co-créer des solutions, accélérer la transformation numérique et optimiser les performances grâce à des stratégies de cloud hybride et à des partenariats d’experts.

Services cloud
Passez à l’étape suivante

Modernisez votre infrastructure grâce aux solutions de conteneurs IBM. Exécutez, mettez à l’échelle et gérez des workloads conteneurisés dans tous les environnements avec flexibilité, sécurité et efficacité en utilisant la plateforme complète de conteneurs d’IBM.

Découvrir les solutions de conteneurs Créer votre compte IBM Cloud gratuit