Sichere und schnelle MicroVMs für serverless Computing.
Unsere Mission ist es, eine sichere, mandantenfähige Ausführung von Container- und Funktions-Workloads mit minimalem Overhead zu ermöglichen.
Lesen Sie mehr über die Firecracker Charter hier.
Firecracker ist eine Open-Source-Virtualisierungstechnologie, die speziell für die Erstellung und Verwaltung sicherer, mandantenfähiger container- und funktionsbasierter Dienste entwickelt wurde, die serverlose Betriebsmodelle bieten. Firecracker führt Workloads in leichtgewichtigen virtuellen Maschinen aus, sogenannten microVMs, die die Sicherheits- und Isolationseigenschaften der Hardware-Virtualisierungstechnologie mit der Geschwindigkeit und Flexibilität von Containern kombinieren.
Die Hauptkomponente von Firecracker ist ein Virtual Machine Monitor (VMM), der die Linux Kernel Virtual Machine (KVM) verwendet, um microVMs zu erstellen und auszuführen. Firecracker kann einen Gast auch als Nitro Sandbox ausführen, isoliert durch das AWS Nitro System anstelle von KVM. Firecracker hat ein minimalistisches Design. Es schließt unnötige Geräte und gastseitige Funktionalität aus, um den Speicherbedarf und die Angriffsfläche jeder microVM zu reduzieren. Dies verbessert die Sicherheit, verkürzt die Startzeit und erhöht die Hardware-Auslastung. Firecracker wurde auch in Container-Runtimes integriert, zum Beispiel Kata Containers und Flintlock.
Firecracker wurde bei Amazon Web Services entwickelt, um die Geschwindigkeit und Effizienz von Diensten wie AWS Lambda und AWS Fargate zu steigern. Firecracker ist als Open Source unter Apache Version 2.0 verfügbar.
Um mehr über Firecracker zu erfahren, besuchen Sie firecracker-microvm.io.
Um mit Firecracker zu beginnen, laden Sie die neuesten Release-Binaries herunter oder bauen Sie es aus dem Quellcode.
Sie können Firecracker auf jedem Unix/Linux-System bauen, auf dem Docker läuft (wir verwenden einen Entwicklungscontainer) und bash installiert ist, wie folgt:
git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"
Die Firecracker-Binärdatei wird unter
build/cargo_target/${toolchain}/debug/firecracker abgelegt. Weitere
Informationen zum Erstellen, Testen und Ausführen von Firecracker finden Sie im
Schnellstartleitfaden.
Die Gesamtsicherheit von Firecracker-microVMs, einschließlich der Fähigkeit, die Kriterien für sicheres Multi-Tenant-Computing zu erfüllen, hängt von einem gut konfigurierten Linux-Host-Betriebssystem ab. Eine Konfiguration, von der wir glauben, dass sie diese Messlatte erfüllt, ist im Dokument zur Einrichtung des Produktionshosts enthalten.
Firecracker führt bereits Produktions-Workloads innerhalb von AWS aus, aber es ist immer noch Tag 1 auf der von unserer Mission geleiteten Reise. Es gibt noch viel zu bauen, und wir begrüßen alle Beiträge.
Um zu Firecracker beizutragen, sehen Sie sich den Abschnitt zur Entwicklungsumgebung im Einstiegsleitfaden und dann die Beitragsrichtlinien von Firecracker an.
Neue Firecracker-Versionen werden über die Seite releases des GitHub-Repositories veröffentlicht, in der Regel alle zwei bis drei Monate. Ein Verlauf der Änderungen wird in unserem Changelog festgehalten.
Die Firecracker-Release-Richtlinie ist hier im Detail beschrieben.
Die Gesamtarchitektur von Firecracker ist im Design-Dokument beschrieben.
Firecracker besteht aus einem einzigen micro Virtual Machine Manager-Prozess, der nach dem Start einen API-Endpunkt für den Host bereitstellt. Die API ist im OpenAPI-Format spezifiziert. Lesen Sie mehr darüber in der API-Dokumentation.
Der API-Endpunkt kann verwendet werden, um:
[BETA] den Datenbaum des gastseitigen Metadatendienstes zu konfigurieren.
Der Dienst ist für den Gast nur verfügbar, wenn diese Ressource konfiguriert
ist.[Developer Preview] virtio-PCI-Geräte hot-plug und hot-unplug
durchzuführen, während die VM läuft.Integrierte Fähigkeiten: