Conteneurs Les registres fournissent un emplacement de stockage pour les images de conteneurs inactives, les protègent et permettent aux administrateurs de définir des règles pour gérer ces images.
Les conteneurs, qui sont des fichiers légers contenant toutes les dépendances nécessaires à l’exécution d’une application, peuvent être exécutés dans plusieurs environnements et transférés de l’un à l’autre. Les registres de conteneurs hébergent des dépôts qui stockent les images de conteneurs lorsqu’elles ne sont pas activement exécutées, ainsi que des fonctionnalités permettant aux développeurs d’automatiser leurs pratiques de gestion des conteneurs.
Voir ci-dessous pour tout savoir sur la technologie des registres de conteneurs et les principaux fournisseurs de registres de conteneurs du marché :
Choisir le bon fournisseur de registre de conteneurs
- Principaux fournisseurs de registres de conteneurs
- Comparatif des registres de conteneurs
- Fonctionnalités des registres de conteneurs
- Avantages des registres de conteneurs
- Cas d’utilisation des registres de conteneurs
- Éléments à rechercher dans un logiciel de registre de conteneurs
À lire aussi : Les meilleures solutions logicielles pour conteneurs
Principaux fournisseurs de registres de conteneurs
Azure Container Registry
Azure Container Registry est une solution de stockage proposée par le fournisseur cloud Microsoft Azure. Elle prend en charge les images Docker et Open Container Initiative (OCI). Azure prend également en charge tous les autres artefacts OCI, comme les images non conteneurisées stockées dans un registre. Les administrateurs peuvent envoyer
et récupérer des artefacts depuis et vers un registre Azure.
Azure Container Registry peut être connecté à Azure Kubernetes Service et Azure Red Hat OpenShift, deux autres solutions de conteneurs. Lorsque Azure Kubernetes Service et Azure Container Registry fonctionnent tous deux sur Azure Stack Hub, les utilisateurs peuvent déployer les images de conteneurs stockées pour les exécuter dans AKS.
La géoréplication permet aux entreprises de répliquer leurs registres vers d’autres régions géographiques Azure, afin que les images puissent être récupérées dans la région la plus proche de leur hôte de conteneurs. Cette proximité physique peut réduire les coûts de transfert des données ; elle améliore également la résilience en cas de panne d’une région.
Azure propose trois niveaux tarifaires journaliers :
- Basic : 0,167 $, 10 Go de stockage
- Standard : 0,667 $, 100 Go de stockage
- Premium : 1,667 $, 500 Go de stockage
Principaux éléments différenciateurs
- Intégrations avec d’autres solutions de conteneurs Azure
- Géoréplication des registres pour une résilience accrue
- Prise en charge des images Docker et OCI ainsi que des artefacts OCI
Docker Hub
Docker Hub est une bibliothèque de conteneurs hébergée et gratuite pour les entreprises qui ne souhaitent pas payer pour un registre de conteneurs ni en assurer la gestion. Elle est idéale pour les développeurs qui souhaitent collaborer : Docker Hub permet aux ingénieurs logiciels de partager publiquement des images de conteneurs et de
communiquer avec d’autres développeurs. Mais si votre entreprise souhaite renforcer la sécurité de ses images de conteneurs ou ne prévoit pas de les partager avec des développeurs externes, elle peut souscrire à un abonnement Docker Hub privé.
Les utilisateurs de Hub ont également accès aux images de qualité fournies officiellement par Docker. Ils peuvent en outre envoyer et récupérer des images auprès de fournisseurs externes dont la qualité des images a été vérifiée par Docker. Envisagez Docker Hub si votre entreprise utilise principalement des images Docker et si vos développeurs souhaitent accéder aux ressources de conteneurs de la communauté, notamment à celles dont la qualité a déjà été vérifiée.
Si vos développeurs utilisent Bitbucket ou GitHub pour les images de conteneurs, ils peuvent envoyer des images depuis ces plateformes vers Docker Hub.
Docker propose trois offres professionnelles payantes : Pro, Team et Business. Elles incluent l’accès à Hub.
Principaux éléments différenciateurs
- Gratuit pour les petites entreprises et stockage public d’images de conteneurs
- Accès aux images Docker officielles et aux images de fournisseurs externes vérifiées
- Intégration avec Bitbucket et GitHub
À lire aussi : Bitbucket ou GitHub : comparatif des outils DevOps
Red Hat Quay
Red Hat propose Quay, un registre de conteneurs privé destiné aux images de ses clients, ainsi que des intégrations avec des outils de développement comme GitHub et Bitbucket. Les utilisateurs peuvent déployer de nouveaux conteneurs en récupérant des données depuis ces dépôts. Red Hat conserve pendant deux semaines l’historique des balises des dépôts, que les développeurs peuvent utiliser pour revenir à une version d’image donnée. Si une
équipe de développement décide d’utiliser la version d’une image qui a été modifiée cinq jours plus tôt dans le dépôt, elle peut utiliser les balises à cette fin.
Red Hat utilise des intégrations tierces pour analyser les images de conteneurs à la recherche de vulnérabilités. Pour l’authentification et le contrôle d’accès, Red Hat permet aux entreprises d’utiliser des protocoles existants comme Lightweight Directory Access Control (LDAP) et l’authentification ouverte (OAuth), ainsi que de créer des autorisations permettant aux équipes d’accéder aux dépôts.
Red Hat prend en charge plusieurs systèmes de stockage principaux pour conserver les conteneurs. À des fins d’audit, Quay crée des journaux des événements du plan de contrôle et du plan de données, des actions de l’interface de programmation d’application (API) et des actions de l’interface utilisateur (UI). Cela améliore la visibilité des administrateurs sur les modifications apportées aux dépôts ou aux images.
Le tarif professionnel de Quay est disponible en contactant l’équipe commerciale de Red Hat.
Principaux éléments différenciateurs
- Géoréplication pour une résilience accrue
- Intégrations avec GitHub et Bitbucket
- Journaux d’audit des événements du plan de contrôle, du plan de données et de l’API
Amazon ECR
Amazon Elastic Container Registry, ou ECR, est un service de registre fourni par AWS. AWS propose une offre gratuite du registre qui fournit jusqu’à 500 Mo de stockage pour les dépôts privés. ECR est entièrement géré et permet aux équipes de développement d’écrire du code, de le conditionner sous forme d’image Docker,
puis de le stocker dans le registre. Les équipes peuvent récupérer des conteneurs depuis le registre pour les exécuter dans Amazon Elastic Kubernetes Service (EKS) et Elastic Container Service (ECS).
Avec ECR, les développeurs peuvent définir des règles automatiques indiquant la durée de conservation d’une image de conteneur, en fonction de la version la plus pertinente. ECR prend en charge les registres de conteneurs privés avec des autorisations utilisant AWS identity and access management (IAM) pour contrôler l’accès des utilisateurs aux ressources. Les utilisateurs et les instances EC2 autorisés peuvent accéder aux images contenues dans les dépôts.
La réplication interrégionale permet aux entreprises de répliquer leurs dépôts dans une autre région afin de protéger leurs images de conteneurs en cas de défaillance du stockage dans leur région. Ce paramètre est configuré séparément pour chaque région.
Une fois les limites de l’offre gratuite dépassées, le stockage dans les dépôts privés coûte 0,10 $/Go/mois. Les utilisateurs paient également le transfert de données lié aux images envoyées et récupérées ; les coûts varient selon la région.
Principaux éléments différenciateurs
- Intégrations disponibles avec Amazon EKS et ECS
- Règles automatisées de stockage pour les versions d’images
- AWS IAM pour l’accès des utilisateurs aux registres privés
À lire aussi : Les meilleurs outils de sécurité des conteneurs
Harbor Container Registry
Harbor est un registre de conteneurs open source qui fonctionne dans les environnements Kubernetes et sur les systèmes prenant en charge Docker. Harbor utilise les solutions open source tierces Trivy et Clair pour effectuer des analyses de vulnérabilités sur les images et les artefacts de conteneurs. La
colonne des vulnérabilités au sein d’un dépôt sélectionné répertorie l’état de l’analyse de chaque artefact. Les administrateurs peuvent sélectionner un artefact à analyser ou sélectionner tous les artefacts du dépôt. Harbor utilise six couleurs différentes pour indiquer si une vulnérabilité a été détectée et en préciser la gravité.
Les intégrations de Harbor avec Notary et Cosign renforcent la validité des images récupérées depuis le registre : Notary et Cosign vérifient et signent les images et les artefacts de conteneurs. Les administrateurs peuvent configurer Harbor pour qu’il ne récupère que les images vérifiées par l’un de ces outils ou par les deux.
La documentation de Harbor répertorie les autorisations dont disposent les utilisateurs selon leur rôle dans un projet de registre, afin que les administrateurs sachent exactement ce que chaque membre peut consulter. Harbor propose aux entreprises plusieurs options d’authentification : l’authentification par base de données est gérée directement dans Harbor ; l’authentification LDAP/Active Directory est gérée par un fournisseur LDAP ou AD externe ; et l’authentification par fournisseur OIDC est gérée par un fournisseur OIDC externe.
Principaux éléments différenciateurs
- Intégrations avec des analyseurs de vulnérabilités open source et fiches détaillées des vulnérabilités
- Intégrations avec des outils de vérification des signatures
- Plusieurs options d’authentification des utilisateurs
Comparatif des registres de conteneurs
| Gratuit (offre ou solution) | Intégration avec GitHub ou Bitbucket | Prend en charge les artefacts OCI | |
|---|---|---|---|
| Azure Container Registry | X | ✅ | ✅ |
| Docker Hub | ✅ | ✅ | X |
| Red Hat Quay | X | ✅ | ✅ |
| Amazon ECR | ✅ | ✅ | ✅ |
| Harbor Container Registry | ✅ | ✅ | ✅ |
Fonctionnalités des registres de conteneurs
- Proposer des registres publics et privés : En général, les entreprises devraient choisir des registres privés, qui offrent une meilleure sécurité pour leurs images de conteneurs.
- Stocker plusieurs versions des images de conteneurs : Si une entreprise souhaite revenir à un état antérieur d’une image, ses ingénieurs peuvent récupérer cette image depuis le stockage du registre.
- S’intégrer à d’autres outils de développement : GitHub et Bitbucket, où les développeurs collaborent sur du code au sein de dépôts, en sont des exemples populaires.
- Authentifier les utilisateurs du registre : Les données contenues dans les conteneurs doivent être protégées, ce qui implique de limiter l’accès des utilisateurs aux images et de vérifier leur identité.
Avantages des registres de conteneurs
Accroître la flexibilité du développement : Les registres aident les développeurs à tirer parti de la flexibilité des conteneurs : les images peuvent être récupérées depuis un registre et exécutées dans plusieurs environnements. Comme les conteneurs regroupent toutes les dépendances d’une application dans un emplacement isolé, ils peuvent fonctionner sur plusieurs systèmes d’exploitation. Cette flexibilité aide les entreprises et les équipes qui utilisent différents systèmes d’exploitation et plateformes à exécuter des charges de travail critiques.
Fluidifier le workflow de développement : Les intégrations des registres avec des outils de développement comme GitHub permettent aux équipes de développement de travailler commodément sur du code dans un dépôt distinct, puis de l’envoyer vers le registre de conteneurs. Les intégrations avec d’autres logiciels offrent aux développeurs davantage de flexibilité pour créer et stocker des images de conteneurs.
Accélérer les déploiements : Les développeurs peuvent réduire les fenêtres de déploiement des applications conteneurisées grâce à des fonctionnalités comme le déploiement en une seule commande et les notifications locales de récupération.
Cas d’utilisation des registres de conteneurs
« Grâce à son architecture standardisée et à son environnement de test virtualisé et automatisé, le groupe VW a réduit de 50 % les coûts des tests système. Il a également amélioré la collaboration entre les équipes et les partenaires grâce à sa nouvelle plateforme et à ses processus agiles. Le groupe prévoit d’améliorer et d’étendre son environnement logiciel Red Hat afin de soutenir les innovations actuelles et futures. Il évalue la création d’un processus de test d’intégration de bout en bout pour son organisation Car.Software, avec pour objectif de passer de la validation du code au déploiement dans les véhicules des clients en seulement 24 heures. » –étude de cas du service Electric Development du groupe Volkswagen, qui utilise des solutions Red Hat, notamment le registre de conteneurs Quay
« La plateforme système conteneurise les applications par service et par fonction, puis les gère sur Azure Kubernetes Service (ci-après, AKS), un service Kubernetes géré. Les moteurs principaux des services électroniques sont le géocodage et la récupération d’informations géospatiales, qui s’exécutent également sous forme d’applications conteneurisées. » – Koji Kagaya, ingénieur senior chez UPWARD, dans une étude de cas sur les services Azure et la manière dont ils ont aidé UPWARD à moderniser son infrastructure, notamment grâce au déploiement automatisé d’applications avec Azure Container Registry et GitHub, afin de « réduire la charge de travail et garantir l’évolutivité ».
Éléments à rechercher dans un logiciel de registre de conteneurs
Recherchez des fonctionnalités de sécurité des registres de conteneurs adaptées aux exigences de votre entreprise. Si votre entreprise exerce dans un secteur comme la santé ou les services financiers et doit exécuter des applications critiques dans des conteneurs, choisissez un registre qui stocke les images avec des fonctionnalités de sécurité supplémentaires.
Choisissez un fournisseur prenant en charge des contrôles d’accès configurables et flexibles. Les conteneurs peuvent contenir des données importantes pour les applications, et votre entreprise doit limiter les personnes qui y ont accès.
Si vos équipes de développement conçoivent et partagent des images de conteneurs au sein d’un outil comme GitHub ou Bitbucket, choisissez une solution qui s’intègre à l’un de ces outils ou aux deux, afin que les développeurs puissent continuer à travailler dans les applications qu’ils utilisent déjà pour développer des conteneurs.
À lire ensuite : Le marché de la conteneurisation