Il y a un cycle vertueux de la technologie qui repousse les limites de ce qui est construit et comment il est utilisé. Un nouveau développement technologique émerge et attire l’attention du monde. Les gens commencent à expérimenter et à découvrir de nouvelles applications, des cas d’utilisation et des approches pour maximiser le potentiel de l’innovation. Ces cas d’utilisation génèrent une valeur significative, alimentant la demande pour la prochaine itération de l’innovation et, à son tour, une nouvelle vague d’innovateurs créent la prochaine génération de cas d’utilisation, ce qui entraîne d’autres progrès.
La conteneurisation est devenue le fondement du développement de logiciels modernes et natifs du cloud, soutenant les nouveaux cas d’utilisation et les approches pour créer des applications résilientes, évolutives et portables. Il contient également les clés de la prochaine innovation de livraison de logiciels, nécessitant simultanément l’évolution pour des logiciels sécurisés par conception et en permanence et servant de moyen d’y arriver.
Ci-dessous, je vais parler de certaines des innovations qui ont conduit à notre révolution conteneurisée, ainsi qu’à certains des traits du développement de logiciels natifs du cloud qui ont conduit à ce point d’inflexion – celui qui a amorcé le monde à s’éloigner des distros linux traditionnels et vers une nouvelle approche de la livraison de logiciels open source.
L’itération nous a rapprochés de l’ubiquité
Il y a eu de nombreuses innovations qui ont ouvert la voie à une livraison open source plus sûre et performante. Dans l’intérêt de votre temps et de mon nombre de mots, j’appellerai trois jalons particuliers. Chaque étape, des conteneurs Linux (LXC) à Docker et, finalement, l’Open Container Initiative (OCI), construite sur son prédécesseur, abordant les limitations et déverrouillant de nouvelles possibilités.
LXC a jeté les bases en exploitant les capacités du noyau Linux (à savoir les groupes et les espaces de noms), pour créer des environnements isolés légers. Pour la première fois, les développeurs pouvaient emballer des applications avec leurs dépendances, offrant un certain degré de cohérence entre différents systèmes. Cependant, la complexité de LXC pour les utilisateurs et son manque de catalogue de distribution d’images standardisé ont entravé une adoption généralisée.
Docker est devenu un changement de jeu et démocratisant la technologie des conteneurs. Cela a simplifié le processus de création, de course et de partage de conteneurs, ce qui les rend accessibles à un public plus large. L’interface conviviale de Docker et la création de Docker Hub, un référentiel central pour les images de conteneurs, ont favorisé un écosystème vibrant. Cette facilité d’utilisation a alimenté l’adoption rapide, mais a également soulevé des préoccupations concernant le verrouillage des fournisseurs et le besoin d’interopérabilité.
Reconnaissant le potentiel de fragmentation, l’OCI (Open Contaters Initiative) est intervenu pour normaliser les formats de conteneurs et les temps d’exécution. En définissant des spécifications ouvertes, l’OCI a assuré que les conteneurs pouvaient être construits et se dérouler sur différentes plates-formes, favorisant un paysage sain et concurrentiel. Des projets comme RUNC et Containerd, nés de l’OCI, ont fourni une base commune pour les temps d’exécution des conteneurs et ont permis une plus grande portabilité et interopérabilité.
Les normes OCI ont également permis à Kubernetes (une autre norme neutre du fournisseur) de devenir une plate-forme véritablement portable, capable de fonctionner sur un large éventail d’infrastructures et de permettre aux organisations d’orchestrer leurs applications de manière cohérente entre différents fournisseurs de cloud et environnements locaux. Cette normalisation et ses innovations associées ont débloqué le plein potentiel des conteneurs, ouvrant la voie à leur présence omniprésente dans le développement de logiciels modernes.
[Containerized] Le logiciel mange le monde
Les progrès de Linux, la démocratisation rapide des conteneurs via Docker et la normalisation de l’OCI ont toutes été propulsées par la nécessité, avec l’évolution des cas d’utilisation des applications natifs dans le cloud poussant l’orchestration et la normalisation. Ces caractéristiques d’application native du cloud soulignent également pourquoi une approche à usage général des distros de Linux ne sert plus de développeurs de logiciels avec les fondations les plus sécurisées et les plus mises à jour sur:
Architecture orientée microservice: les applications natives dans le cloud sont généralement construites en tant que collection de petits services indépendants, chaque microservice remplissant une fonction spécifique. Chacun de ces microservices peut être construit, déployé et maintenu indépendamment, ce qui offre une énorme flexibilité et une résilience. Étant donné que chaque microservice est indépendant, les constructeurs de logiciels ne nécessitent pas de packages logiciels complets pour exécuter un microservice, ne s’appuyant que sur les éléments essentiels nus dans un conteneur.
Conscient des ressources et efficaces: les applications natives dans le cloud sont conçues pour être efficaces et soucieuses de ressources pour minimiser les charges sur l’infrastructure. Cette approche dépouillée s’aligne naturellement bien avec les conteneurs et une stratégie de déploiement éphémère, avec de nouveaux conteneurs en cours de déploiement et d’autres charges de travail en cours de mise à jour vers le dernier code disponible. Cela réduit les risques de sécurité en tirant parti des nouveaux packages logiciels, plutôt que d’attendre des correctifs de distribution et des back-sports.
Portabilité: Les applications natives dans le cloud sont conçues pour être portables, avec des performances et une fiabilité cohérentes, quel que soit le fonctionnement de l’application. À la suite de conteneurs standardisant l’environnement, les développeurs peuvent aller au-delà des maux de tête «cela a bien fonctionné sur ma machine» du passé.
Le cycle vertueux de l’innovation stimule de nouveaux cas d’utilisation et, finalement, de nouvelles innovations est claire en ce qui concerne la conteneurisation et l’adoption généralisée d’applications natives dans le cloud. Surtout, ce point d’inflexion de l’innovation et des demandes de cas d’utilisation a entraîné un taux de changement incroyable au sein des logiciels open source – nous avons atteint un point où la sécurité, les performances et les inconvénients de l’innovation des distros linux traditionnels “Frozen in-temps” l’emportent sur la familiarité et la stabilité perçue de la dernière génération de la livraison de logiciels.
Alors, à quoi devrait ressembler la prochaine génération de livraison de logiciels open source?
Entrez: Chainguard OS
Pour répondre aux attentes modernes de la sécurité, des performances et de la productivité, les constructeurs de logiciels ont besoin des derniers logiciels sous la plus petite forme conçue pour leur cas d’utilisation, sans aucun des CVE qui mènent à un risque pour l’entreprise (et une liste de “Fix-its” des équipes de sécurité). Il est bon sur ces paramètres nécessite plus que la simple fabrication du passé. Au lieu de cela, la prochaine génération de livraison de logiciels open source doit commencer à partir de la source de logiciel sécurisé et mis à jour: les maintenants en amont.
C’est pourquoi Chainguard Construit cette nouvelle approche de distro, reconstruire en continu des packages de logiciels basés sur les distros en aval, mais sur les sources en amont qui suppriment les vulnérabilités et l’ajout d’améliorations de performances. Nous l’appelons Chainguard OS.
Chainguard OS sert de base aux résultats généraux de sécurité, d’efficacité et de productivité que les produits Chainguard fournissent aujourd’hui, “Chainguarding” un catalogue en croissance rapide de plus de 1 000 images de conteneurs.
Chainguard OS adhère à quatre principes clés pour rendre cela possible:
- Intégration et livraison continue: met l’accent sur l’intégration, les tests et la libération continus de logiciels en amont, assurant un pipeline de développement rationalisé et efficace par l’automatisation.
- Mises à jour et reconstruction de Nano: favorise les mises à jour incrémentielles et les reconstructions non-stop par rapport aux mises à niveau de libération majeures, assurant des transitions plus lisses et minimisant les changements perturbateurs.
- Artefacts minimaux, endurcis et immuables: se détache des fournisseurs inutiles à partir des artefacts logiciels, en faisant des packages de side-car et des extras optionnels à l’utilisateur tout en améliorant la sécurité grâce à des mesures de durcissement.
- Minimisation Delta: maintient les écarts de l’amont à un minimum, incorporant des correctifs supplémentaires uniquement lorsqu’ils sont essentiels et uniquement pendant que nécessaire jusqu’à ce qu’une nouvelle version soit coupée en amont.
La meilleure façon de mettre en évidence la valeur des principes de Chainguard OS est de voir l’impact sur les images de Chainguard.
Dans la capture d’écran ci-dessous (et visible ici), vous pouvez voir une comparaison côte à côte entre un
Mis à part l’écart très clair du nombre de vulnérabilité, il vaut la peine d’examiner la différence de taille entre les deux images de conteneurs. L’image Chainguard ne représente que 6% de l’image alternative open source.
En plus de la taille de l’image minimisée, l’image Chainguard a été mise à jour pour la dernière fois une heure avant le Screengrab, quelque chose qui se passe quotidiennement:
Une analyse rapide des données de provenance et de SBOM illustre l’intégrité de bout en bout et l’immuabilité des artefacts – une sorte d’étiquette nutritionnelle complète qui souligne la sécurité et la transparence qu’une approche moderne de la livraison de logiciels open source peut fournir.
Chaque image de Chainguard est un exemple pratique de la valeur que Chainguard OS fournit, offrant une alternative austère à ce qui s’est précédé. Le plus grand indicateur est peut-être les commentaires que nous avons reçus des clients, qui ont partagé comment les images de conteneurs de Chainguard ont contribué à éliminer les CVE, à sécuriser leurs chaînes d’approvisionnement, à atteindre et à maintenir la conformité, et à réduire le travail des développeurs, leur permettant de rétrommandation de précieuses ressources de développeur.
Notre conviction est que les principes et l’approche de Chainguard OS peuvent être appliqués à une variété de cas d’utilisation, en étendant les avantages des packages de logiciels entièrement reconstruits à la source à encore plus de l’écosystème open source.
Si vous avez trouvé cela utile, assurez-vous de vérifier Notre livre blanc sur ce sujet ou Contactez notre équipe Pour parler à un expert de l’approche distroleuse de Chainguard.
Note: Cet article est rédigé de manière experte et apportée par Dustin Kirkland – VP de l’ingénierie à Chainguard.




