Tous les articles

Éviter le verrouillage des fournisseurs grâce à un distributeur de conteneurs compatible, facile à migrer et transparent

Sam Katzen, responsable du marketing produit

Selon Gartner, d'ici 2027, plus de 90 % des organisations mondiales utiliseront des applications conteneurisées en production, contre seulement 40 % en 2021. Les composants open source représentant 70 à 90 % de la base de code moyenne d'une entreprise, la grande majorité de l'innovation actuelle est alimentée par des systèmes d'exploitation open source.

Pour les développeurs, les ingénieurs de plateforme, les équipes informatiques et les responsables DevOps, cela signifie que l'adoption de la bonne distribution Linux pour soutenir leurs charges de travail conteneurisées n'est pas une décision à prendre à la légère. La distribution que vous adoptez détermine non seulement l'efficacité et l'efficience de vos applications aujourd'hui, mais aussi la capacité d'adaptation de votre pile aux innovations de demain.

Si vous êtes curieux de connaître les raisons et le contexte de la décision de Chainguard de démarrer sa propre distribution, consultez notre série de blogs sur la genèse de Chainguard OS.

L'évaluation des distributions Linux est complexe. Ayant travaillé en partenariat avec plus de 250 clients, Chainguard entend souvent des clients poser la question de l'enfermement dans un fournisseur, lorsque le passage à une alternative ou l'interopérabilité en dehors d'une plate-forme donnée devient prohibitif, technologiquement difficile ou risqué.

Pour aider à évaluer les distributions dans le contexte du verrouillage, il est utile de poser quatre questions fondamentales :

  1. La plateforme interagit-elle bien avec mes outils et mes processus, ainsi qu'avec l'ensemble de l'écosystème ?

  2. Les processus de construction de la distribution sont-ils transparents et accessibles ?

  3. Est-il facile de migrer vers la distribution ?

  4. Si je dois le faire, à quel point est-il difficile d'abandonner cette distribution ?

Si vous pouvez répondre à ces quatre questions, vous êtes déjà en mesure de prendre des décisions plus intelligentes et plus sûres pour l'avenir. Voyons ce qu'il en est pour chacun d'entre eux.

Compatibilité : quelle est sa place dans l'écosystème ?

La compatibilité et l'interopérabilité sont essentielles dans les environnements conteneurisés. La distribution que vous choisissez doit s'intégrer de manière transparente à votre chaîne d'outils existante, y compris les pipelines CI/CD, les scanners de vulnérabilité, les référentiels d'artefacts et les registres privés, sans vous contraindre à des flux de travail fragmentés ou à des duplications inutiles.

Au minimum, cela signifie qu'il faut adhérer à des normes et protocoles largement adoptés. En voici quelques exemples :

  • des conteneurs conformes à l'OCI qui garantissent la portabilité.

  • SBOMs construits sur CycloneDX ou SPDX pour des métadonnées transparentes de la chaîne d'approvisionnement.

  • Prise en charge de plusieurs architectures, y compris x86 et ARM.

Cela signifie également qu'il faut adopter des architectures sous-jacentes qui, sans être des normes explicites, sont des ensembles d'outils largement adoptés. Dans le cas des charges de travail conteneurisées, il peut s'agir de bibliothèques standard comme glibc, de la conformité FHS et de gestionnaires de paquets largement utilisés comme apk.

Dans la pratique, une distribution largement compatible réduit les frictions entre le développement et les opérations, réduit la prolifération des outils et le changement de contexte, et facilite l'application des politiques de sécurité et le respect des obligations de conformité.

Transparence de la construction : Les processus de construction de la distribution sont-ils transparents et accessibles ?

Outre la compatibilité et l'interopérabilité, il y a la transparence et l'accessibilité. La distribution met-elle à la disposition du public les outils et les processus nécessaires pour construire avec elle ? Cela devient un élément critique pour "ouvrir le capot" d'une distribution donnée afin de comprendre sa reproductibilité, tout en fournissant une compréhension claire de l'outillage nécessaire du côté de la distribution pour obtenir le résultat final de votre propre cas d'utilisation.

Si le processus de construction est obscurci, ou si l'outil est inaccessible ou ne dispose pas d'une documentation accessible, il convient de se demander si la distribution n'exploite pas des processus propriétaires qui pourraient vous bloquer.

Migration : Quelle est la facilité d'adoption ?

La migration des charges de travail vers une nouvelle distribution peut être simple ou décourageante. Le facteur décisif est souvent le degré de standardisation et d'exhaustivité de l'écosystème de la distribution.

Les éléments clés à prendre en compte sont les suivants

  • Disponibilité des paquets : Un référentiel profond et bien entretenu augmente les chances que les logiciels dont vous dépendez déjà soient pris en charge dès leur sortie de l'emballage.

  • Prise en charge par l'entreprise : Pour les distributions commerciales, les accords de niveau de service, l'expertise professionnelle et le soutien des fournisseurs peuvent être inestimables pour gérer les cas particuliers.

  • Documentation et outils : Des guides de migration, des scripts d'automatisation et une documentation solide facilitent la transition.

Ne négligez pas non plus la qualité de vie après la migration. Posez-vous la question :

  • À quelle vitesse la distribution corrige-t-elle les CVE ?

  • Réduit-elle la surface d'attaque avec des images de base plus petites ?

  • Des bibliothèques cryptographiques modernes sont-elles incluses par défaut ?

  • Le fournisseur publie-t-il des SBOM signés, des données de provenance et des signatures ?

Une distribution qui excelle dans ce domaine simplifie non seulement la migration, mais rend également le changement utile en améliorant la sécurité, les performances et la maintenabilité.

Arrêt de la migration : est-il difficile de partir ?

Lorsque l'on décide de migrer vers quelque chose de nouveau, il est difficile d'imaginer un avenir où l'on serait déjà en train de migrer. Mais les priorités technologiques changent, les besoins opérationnels évoluent et, parfois, la direction de l'organisation prend un tournant inattendu. Dans ce cas, vous ne voulez pas être prisonnier de l'écosystème d'un fournisseur ou soumis aux caprices de son pouvoir de licence.

Pour évaluer les coûts de sortie, il faut rechercher les mêmes caractéristiques que celles qui ont rendu possible votre migration initiale : des composants et une architecture basés sur des normes, une large disponibilité de progiciels et un verrouillage propriétaire minimal. Idéalement, la distribution que vous choisissez devrait éviter d'introduire des dépendances uniques qui vous lient à un seul fournisseur ou écosystème. Pour éviter le verrouillage, il est essentiel de s'assurer que vous conservez un accès perpétuel au système d'exploitation que vous abandonnez, que ce soit dans le cadre de votre accord commercial initial ou de l'open source.

Comment Chainguard OS se positionne

Chainguard OS est un système d'exploitation minimal et renforcé basé sur Linux, conçu pour la livraison sécurisée de logiciels en conteneur. Construit en interne par Chainguard, il sert de base aux produits de conteneurs de Chainguard et met l'accent sur l'intégration continue, les artefacts immuables et l'alignement avec les logiciels en amont. Le projet Wolfi est le pendant open source de Chainguard OS, qui alimente les images de conteneurs de démarrage gratuites de Chainguard. En quelques années, les deux projets ont gagné en popularité auprès des entreprises et des adeptes de l'open source, en combinant des pratiques modernes de sécurité et de performance avec l'interopérabilité demandée par les équipes.

Compatibilité

Chainguard OS s'appuie sur l'implémentation de la glibc et de l'apk, deux blocs de construction largement adoptés qui permettent une large compatibilité avec les entreprises. Il fonctionne à la fois sur x86 et ARM, et offre désormais un noyau complet pour les hôtes de conteneurs, les applications et les images de base VM, ce qui permet de standardiser Chainguard OS pour les cas d'utilisation en dehors de la conteneurisation. Pour illustrer la compatibilité de Chainguard, nos images de conteneurs validées FIPS sont indépendantes du noyau, ce qui signifie qu'elles peuvent rester conformes tout en fonctionnant sur n'importe quel système d'exploitation sous-jacent.

Toutes les images de conteneurs Chainguard sont conformes à la norme OCI, avec les intégrations SPDX, CycloneDX et Sigstore/Cosign pour simplifier la génération de SBOM et la signature cryptographique. Cela permet à Chainguard OS de s'intégrer parfaitement dans les flux de travail CI/CD et DevSecOps existants, tout en étant compatible avec un large éventail de scanners et de référentiels d'artefacts.

Transparence de la construction et outils Open Source

Chainguard OS dispose d'outils ouverts et accessibles pour permettre à quiconque de recréer une image Chainguard. Melange et apko sont deux des principaux outils utilisés par Chainguard pour s'assurer que les constructions d'images sont totalement transparentes et reproductibles. Melange est un système de construction de paquets qui vous permet de définir comment les logiciels sont construits à partir des sources dans des paquets APK dans un format YAML simple et déclaratif, et apko est un outil pour assembler ces paquets APK dans des images de conteneurs minimales et conformes à l'OCI.

Ensemble, ils permettent à quiconque de prendre les mêmes définitions de construction que Chainguard utilise, de les exécuter localement ou dans leurs propres systèmes CI/CD, et de reproduire de manière fiable une image de conteneur basée sur Chainguard OS ou Wolfi.

Même si vous n'êtes pas intéressé par la reconstruction de votre image de base complète à partir de zéro, l'ouverture et la disponibilité de l'outil garantissent la vérifiabilité, la transparence de la chaîne d'approvisionnement et la confiance, tout en indiquant clairement que les utilisateurs ne sont pas pris en otage par un outil propriétaire.

Migration

Contrairement aux distros traditionnelles, Chainguard OS met l'accent sur des images de conteneurs minimales, sans distro et conçues à cet effet. Il fait la distinction entre les variantes -dev (avec shells et gestionnaires de paquets) et les variantes de production (réduites à l'essentiel), réduisant ainsi la surface d'attaque sans compromettre les fonctionnalités. Cela permet de rationaliser l'adoption de nos images. De plus, nous avons développé des outils open source tels que Dockerfile Converter, qui aide les développeurs à automatiser la migration vers Chainguard Containers.

Avec un référentiel de plus de 15 000 paquets (qui s'enrichit en fonction des besoins des clients), Chainguard OS élimine de nombreux maux de tête liés à la migration grâce à une couverture complète des dépendances des développeurs. Les équipes sont beaucoup plus susceptibles de trouver les paquets et les versions dont elles ont besoin sans avoir à réécrire leurs applications ou à remplacer les dépendances - ce qui simplifie l'adoption.

Chainguard OS et Wolfi bénéficient également d'une communauté open source en plein essor, ainsi que d'une documentation, d'outils et d'un support professionnel de niveau entreprise. Des clients tels que Snowflake, BitDefender, Confluent, Shift5 et Snap ont fait confiance à Chainguard, citant non seulement la compatibilité mais aussi l'amélioration de la sécurité et des performances des images de conteneurs Chainguard.

Migration Off

L'abandon de Chainguard OS impliquerait très probablement de modifier les fichiers Docker et éventuellement les configurations Helm Chart pour utiliser des images et des paquets alternatifs. Grâce aux fondations architecturales comme la glibc et le large dépôt de paquets de Chainguard construit à partir des sources, les organisations peuvent être sûres que les paquets dont elles ont besoin seront disponibles dans les distros en amont.

Nous savons tous à quel point il peut être frustrant de voir des entreprises essayer de changer de licence après avoir investi pour favoriser l'adoption. Soyez assuré que quelle que soit la direction que vous décidez de prendre, vous aurez toujours une licence perpétuelle pour utiliser le système d'exploitation Chainguard que vous avez payé, de sorte que toutes les images de conteneurs tirées et/ou mises en miroir puissent continuer à être utilisées.

En résumé, Chainguard OS est ancré dans l'open source, exploite des outils de construction open source et librement accessibles, et embrasse des normes largement adoptées, permettant aux organisations de créer des applications sur une base sécurisée par conception sans risque de verrouillage de l'éditeur. La compatibilité, l'étendue des packages et l'approche basée sur les standards qui facilitent la migration vers Chainguard réduisent également les frictions liées à la migration.

Si vous souhaitez aller plus loin, consultez notre article "Chainguard your OS" pour en savoir plus sur l'approche derrière Chainguard OS, ou contactez notre équipe pour explorer comment les conteneurs Chainguard peuvent s'intégrer dans votre environnement.

Share this article

Articles connexes

Vous souhaitez en savoir plus sur Chainguard?

Contactez-nous