AccueilActualités informatiqueLe microhyperviseur d'Amazon est arrivé - mais à qui s'adresse Firecracker ?

Le microhyperviseur d’Amazon est arrivé – mais à qui s’adresse Firecracker ?

Le projet Firecracker a franchi une étape importante en publiant la version 1.0.0. C’est un grand pas – les propres directives pour une nouvelle version complète sont assez strictes. Mais qu’est-ce que Firecracker et d’où vient-il ? Le géant du cloud Amazon AWS joue un rôle déterminant dans le développement. Celui-ci veut mettre à disposition de ses services comme Lambda ou Fargate une base petite mais sûre.

Sommaire

On voit ici se manifester un dilemme qui existe depuis les premiers jours du voyage en conteneur : La plupart des gens ne font confiance qu’à la technologie de virtualisation pour assurer une séparation suffisamment sûre des différentes applications, de leurs processus ou même des clients. Mais cette protection s’accompagne d’efforts supplémentaires lors du démarrage ou de la consommation de ressources.

Les conteneurs ont ici une nette longueur d’avance – mais doivent s’avouer vaincus par les hyperviseurs connus en matière d’isolation ou de sécurité. Est-il possible de réunir les avantages des deux mondes sans avoir à en supporter les inconvénients ? C’est ce qu’essaie de faire Firecracker.

Les experts parlent ici de ce que l’on appelle un micro-hyperviseur. La virtualisation classique sous Linux se compose de deux parties. La première est généralement KVM. Ce soi-disant hyperviseur de type I fonctionne directement sur le matériel et nécessite un système d’exploitation absolument minimal. Sa tâche consiste à transmettre la virtualisation accélérée par le matériel à la deuxième composante. C’est là qu’intervient généralement QEMU. Ses processus s’exécutent dans le pays d’utilisation. Ils émulent de nombreux composants matériels tels que les disques durs, les cartes d’interface et les bus système.

La traduction des appels système depuis la machine virtuelle en fait également partie. Les experts parlent ici de VMM (Virtual Machine Monitors). Firecracker prend la place de QEMU et consomme nettement moins de puissance CPU, de mémoire principale et d’espace disque. Le démarrage des soi-disant micro-VM est également nettement plus rapide. Mais ces avantages ont un prix : par rapport à QEMU, Firecracker supporte nettement moins de périphériques et même ceux-ci avec des restrictions. Vous trouverez plus de détails dans la documentation du projet et également dans un article d’iX.

L’interaction entre Firecracker et KVM.

AWS a porté Firecracker sur les fonts baptismaux, notamment pour ses propres services de cloud. Il s’agit néanmoins d’un logiciel libre sous licence Apache 2.0, disponible sur GitHub. Le passage de la version 0.25.2 à la version 1.0.0 est significatif. Les directives propres au projet prévoient ici par exemple de nouvelles fonctions ou des modifications des interfaces. Même une certaine incompatibilité avec les anciennes versions est autorisée.

Un coup d’œil en coulisses ne révèle cependant que deux indices qui justifient une nouvelle version complète. D’une part, les développeurs s’engagent désormais pleinement à respecter leurs propres directives en matière de support des versions du noyau Linux. La partie la plus importante concerne la durée. Firecracker 1.0.0 soutiendra chaque version du noyau Linux officiellement confirmée pendant deux ans. Compte tenu de l’évolution rapide actuelle de l’informatique, il s’agit d’une promesse ambitieuse. D’ailleurs, seuls les noyaux Linux des versions 4.14 et 5.10 font actuellement partie de ce cercle restreint.

En outre, la nouvelle version complète remet les pendules à l’heure en ce qui concerne le soutien général du projet. En d’autres termes : quelles versions recevront des correctifs en cas de bogues ou de failles de sécurité ? Pour l’instant, cela signifie que seules les futures versions 1.x.y bénéficieront de ces mises à jour pour les 12 prochains mois.

Malgré la version 1.0.0, Firecracker ne peut pas encore être considéré comme un outil quotidien – il s’agit plutôt, pour les utilisateurs réguliers, d’une option de recherche pour le laboratoire à domicile ou même au sein du cloud AWS. Pour ces derniers, cette version apporte quelques améliorations concernant le noyau Linux 5.10 et les gabarits de CPU pour T2 et C3. C’est Amazon lui-même qui tire le plus grand profit de Firecracker. De plus, ceux qui s’intéressent aux approches minimalistes en matière de serveurs ou de systèmes d’exploitation trouveront également des idées et des mises en œuvre intéressantes dans le camp Unikernel. Mais jusqu’à présent, celles-ci ne semblent susciter qu’un intérêt « académique » et ne trouvent pas de diffusion visible dans la masse.

La situation change quelque peu dans l’environnement des conteneurs Kata. Firecracker fait partie des VMMs supportés depuis un certain temps. La boucle est ainsi bouclée avec le dilemme décrit au début : réunir les avantages mais pas les inconvénients de la virtualisation et des conteneurs. En d’autres termes, quiconque utilise déjà des conteneurs Kata à grande échelle devrait également jeter un coup d’œil à Firecracker en tant que partie intégrante de cet écosystème. On trouve des implémentations apparentées via gVisor de Google ou les conteneurs Nabla.

Plus d'articles