Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Amazon Web Services annonce la disponibilité générale de Bottlerocket
Un nouvel OS open source Linux conçu spécialement pour faire fonctionner des conteneurs

Le , par Stéphane le calme

16PARTAGES

4  0 
C'est en mars qu'Amazon Web Services a dévoilé Bottlerocket, un système d'exploitation open source Linux qui est conçu spécialement pour faire fonctionner des conteneurs. Bottlerocket est basé sur une distribution Linux qui s'apparente à des projets tels que le projet Container Linux de CoreOS, aujourd'hui disparu, et le système d'exploitation optimisé pour les conteneurs de Google.

« Aujourd'hui, Amazon Web Services (AWS) a annoncé la disponibilité générale de Bottlerocket, un nouveau système d'exploitation (OS) open source Linux qui est conçu spécialement pour faire fonctionner des conteneurs. Bottlerocket inclut uniquement le logiciel nécessaire à l'exécution des conteneurs et est fourni avec un mécanisme de mise à jour transactionnel. Ces propriétés permettent aux clients d'utiliser des orchestrateurs de conteneurs pour gérer les mises à jour du système d'exploitation avec un minimum de perturbations, ce qui permet d'améliorer la sécurité et de réduire les coûts d'exploitation des applications conteneurisées. Les images Bottlerocket fournies par AWS sont disponibles pour Amazon EKS (disponibilité générale) et Amazon ECS (version préliminaire). Bottlerocket est développé comme projet open source sur GitHub.

« Aujourd'hui, la plupart des conteneurs fonctionnent sur des systèmes d'exploitation polyvalents conçus pour prendre en charge des applications empaquetées dans différents formats. De tels systèmes d'exploitation incluent des centaines de packages, et ont besoin de mises à jour de sécurité et de maintenance fréquentes même si vous n'utilisez que quelques packages pour exécuter vos applications conteneurisées. Bottlerocket vise à renforcer la sécurité et à réduire l'exposition aux attaques en incluant uniquement le logiciel essentiel à l'hébergement des conteneurs. Bottlerocket est fourni avec Security-Enhanced Linux (SELinux) en mode application d'isolement supplémentaire et utilise la vérification de cibles (dm-verity) de Device Mapper, une fonctionnalité du noyau Linux qui permet d'éviter les attaques rootkit. Outre ces améliorations relatives à la sécurité, des mises à jour de Bottlerocket sont appliquées et restaurées de manière atomique afin de simplifier davantage la gestion des mises à jour.

« Les builds de Bottlerocket fournies par AWS sont couvertes dans les plans AWS Support. La première version majeure de Bottlerocket bénéficie de mises à jour de sécurité et de corrections de bugs pendant trois ans. De plus, de nombreux partenaires AWS offrent une prise en charge de leurs applications sur Bottlerocket, ce qui permet aux clients d'exécuter les applications partenaires courantes ».

Bottlerocket Linux écrit en grande partie en Rust

Amazon Web Services (AWS) a annoncé que son nouveau Bottlerocket Linux pour les conteneurs est en grande partie écrit en Rust.

Rust a été choisi, car il se prête plus facilement à l'écriture de logiciels sécurisés. Samartha Chandrashekar, chef de produit AWS, a déclaré que cela « contribue à garantir la sécurité des threads et à éviter les erreurs liées à la mémoire, telles que les dépassements de mémoire tampon qui peuvent conduire à des failles de sécurité ». De nombreux autres développeurs sont d'accord avec Chandrashekar.


Bottlerocket a également amélioré sa sécurité en utilisant la vérification de cibles (dm-verity) de Device Mapper, une fonctionnalité du noyau Linux qui permet d'empêcher les attaquants d'écraser le logiciel système principal ou d'autres attaques de type rootkit. Il comprend également extended Berkeley Packet Filter (eBPF). Sous Linux, eBPF est utilisé pour une surveillance sûre et efficace des fonctions du noyau.

Ce nouveau Linux décourage les connexions administratives aux serveurs de production. Le conteneur d'administration exécute Amazon Linux 2. Il contient des utilitaires de dépannage et de débogage de Bottlerocket et s'exécute avec des privilèges élevés. L'objectif est de rendre la connexion à une instance de Bottlerocket de production individuelle largement inutile, sauf pour le débogage et le dépannage avancés.

Pour s'assurer que les instances Bottlerocket sont aussi sécurisées que possible, elles s'exécutent avec Security-Enhanced Linux (SELinux) en mode d'application. Cela augmente l'isolation entre les conteneurs et le système d'exploitation hôte.

Normalement, lorsque quelqu'un mentionne SELinux, les administrateurs craignent d'avoir des difficultés à exécuter des applications dessus. AWS assure aux utilisateurs que ce n'est pas le cas ici. Outre la sécurité, Bottlerocket est également conçu pour être rapide et facile à maintenir.

Il le fait, comme d'autres distributions Linux orientées conteneur telles que Flatcar Container Linux, Red Hat Enterprise Linux CoreOS (RHCOS) et RancherOS, en incluant le strict nécessaire pour exécuter les conteneurs. De nombreux partenaires AWS prennent déjà en charge leurs applications sur Bottlerocket telles que Datadog, Splunk et Puppet.

Un support de trois ans

Pour administrer Bottlerock, vous devez initialement utiliser Amazon Elastic Container Service (ECS) ou Amazon Elastic Kubernetes Service (EKS). Notez qu'AWS déclare qu'un support de trois ans pour ses propres builds de Bottlerocket est fourni. Pour l'instant, le projet est très axé sur AWS, bien sûr, mais le code est disponible sur GitHub avec une multitude d'outils et de documentation pour soutenir son utilisation. Parmi ceux-ci figure une charte de Bottlerocket, qui affirme que le système d'exploitation est ouvert et « n'est pas une distribution Kubernetes, ni une distribution Amazon ». Mais malgré sa nature ouverte, le système d'exploitation est optimisé pour fonctionner au mieux avec les outils AWS prêts à l'emploi.

Selon l'annonce sur GitHub, Bottlerocket dispose d'un conteneur "de contrôle", activé par défaut, qui fonctionne en dehors de l'orchestrateur dans une instance séparée de "containerd". « Ce conteneur exécute l'agent SSM d’Amazon qui vous permet d'exécuter des commandes, ou de lancer des sessions shell, sur les instances de Bottlerocket dans EC2 », d’après l’annonce. L'annonce indique également que vous pouvez facilement remplacer ce conteneur "de contrôle" par le vôtre.

Le système d’exploitation dispose également d'un conteneur d’administration, désactivé par défaut, qui fonctionne en dehors de l'orchestrateur dans une instance séparée de "containerd". « Ce conteneur dispose d'un serveur SSH qui vous permet de vous connecter en tant qu'utilisateur EC2 en utilisant votre clé SSH enregistrée dans EC2. Là aussi, l’annonce sur GitHub indique que vous pouvez facilement remplacer ce conteneur d'administration par le vôtre.

Bottlerocket prend en charge les images Docker et les images conformes au format d'image de l'Open Container Initiative, ce qui signifie qu'il fera fonctionner tous les conteneurs basés sur Linux que vous pourrez lui lancer. L'une des caractéristiques qui distinguent Bottlerocket, selon Barr, est qu'il élimine le système de mise à jour par paquets.

Comme le souligne Jeff Barr, Chief Evangelist chef d'AWS, Bottlerocket prend en charge les images Docker et les images conformes au format d'image de l'Open Container Initiative, ce qui signifie qu'il fera fonctionner tous les conteneurs basés sur Linux que vous pourrez lui lancer. L'une des caractéristiques qui distinguent Bottlerocket, selon Barr, est qu'il élimine le système de mise à jour par paquets.

Il utilise plutôt un modèle basé sur une image qui « permet un retour en arrière rapide et complet si nécessaire », comme l’indique Barr, ce qui permet de réduire les temps d'arrêt et de minimiser les défaillances du processus, l'idée ici étant que cela facilite les mises à jour. Cela contraste avec la plupart des systèmes d'exploitation à usage général qui utilisent une approche paquet par paquet. Au cœur de ce processus de mise à jour, se trouve "The Update Framework", un projet open source hébergé par la Cloud Native Computing Foundation.

AWS retient quelques caractéristiques notables de son système d’exploitation dédié à l’hébergement des conteneurs : un accès à l'API pour configurer votre système, avec des méthodes d'accès hors bande sécurisées lorsque vous en avez besoin ; des mises à jour basées sur les changements de partition, pour des mises à jour rapides et fiables du système ; une configuration modélisée qui est automatiquement migrée par les mises à jour et la sécurité comme priorité absolue.

Source : Amazon

Une erreur dans cette actualité ? Signalez-le nous !