MicroVMs sécurisées et rapides pour l'informatique serverless.
Notre mission est de permettre l'exécution sécurisée, multi-locataire et à faible surcoût de charges de travail conteneurisées et de fonctions.
En savoir plus sur la charte Firecracker ici.
Firecracker est une technologie de virtualisation open source conçue spécifiquement pour créer et gérer des services sécurisés, multi-locataires, basés sur des conteneurs et des fonctions, offrant des modèles opérationnels serverless. Firecracker exécute des charges de travail dans des machines virtuelles légères, appelées microVM, qui combinent les propriétés de sécurité et d'isolation fournies par la technologie de virtualisation matérielle avec la rapidité et la flexibilité des conteneurs.
Le composant principal de Firecracker est un moniteur de machine virtuelle (VMM) qui utilise le Kernel Virtual Machine (KVM) de Linux pour créer et exécuter des microVM. Firecracker a une conception minimaliste. Il exclut les périphériques inutiles et les fonctionnalités orientées invité afin de réduire l'empreinte mémoire et la surface d'attaque de chaque microVM. Cela améliore la sécurité, diminue le temps de démarrage et augmente l'utilisation du matériel. Firecracker a également été intégré dans des environnements d'exécution de conteneurs, par exemple Kata Containers et Flintlock.
Firecracker a été développé chez Amazon Web Services pour accélérer la vitesse et l'efficacité de services comme AWS Lambda et AWS Fargate. Firecracker est publié en open source sous licence Apache version 2.0.
Pour en savoir plus sur Firecracker, consultez firecracker-microvm.io.
Pour démarrer avec Firecracker, téléchargez les binaires de la dernière version ou compilez-le à partir des sources.
Vous pouvez compiler Firecracker sur tout système Unix/Linux disposant de Docker
(nous utilisons un conteneur de développement) et de bash installé, comme suit :
git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"
Le binaire Firecracker sera placé dans
build/cargo_target/${toolchain}/debug/firecracker. Pour plus d'informations sur
la compilation, les tests et l'exécution de Firecracker, consultez le
guide de démarrage rapide.
La sécurité globale des microVM Firecracker, y compris la capacité à satisfaire aux critères d'un calcul multi-locataire sûr, dépend d'un système d'exploitation hôte Linux bien configuré. Une configuration que nous estimons conforme à cette exigence est incluse dans le document de configuration de l'hôte de production.
Firecracker exécute déjà des charges de travail de production au sein d'AWS, mais nous n'en sommes qu'au premier jour du parcours guidé par notre mission. Il reste encore beaucoup à construire et nous accueillons volontiers toutes les contributions.
Pour contribuer à Firecracker, consultez la section sur la configuration de développement dans le guide de démarrage, puis les directives de contribution de Firecracker.
Les nouvelles versions de Firecracker sont publiées via la page releases du dépôt GitHub, généralement toutes les deux ou trois mois. Un historique des modifications est consigné dans notre journal des modifications.
La politique de publication de Firecracker est détaillée ici.
L'architecture globale de Firecracker est décrite dans le document de conception.
Firecracker se compose d'un unique processus de gestionnaire de micro machine virtuelle qui expose un point de terminaison API à l'hôte une fois démarré. L'API est spécifiée au format OpenAPI. Pour en savoir plus, consultez la documentation de l'API.
Le point de terminaison API peut être utilisé pour :
[BETA] Configurer l'arborescence de données du service de métadonnées
orienté invité. Le service n'est disponible pour l'invité que si cette
ressource est configurée.[Aperçu développeur] Brancher et débrancher à chaud
des périphériques PCI virtio pendant que la VM est en cours d'exécution.Capacités intégrées :