Virtuell und Serverless

AWS Firecracker: microVMs für moderne Serverless-Anwendungen
Keine Kommentare

Mit AWS Lambda und AWS Fargate hat Amazon das Paradigma Serverless gesellschaftsfähig gemacht. Doch nicht in allen Bereichen gab es bislang eine Optimierung auf diesen neuen Ansatz: Die Virtualisierung blieb bei dem rasanten Fortschritt ein wenig auf der Strecke. Diese Lücke will man bei AWS nun mit dem Projekt Firecracker schließen.

Als AWS Lambda vor mittlerweile vier Jahren eine Revolution der Entwicklerwelt einläutete, hatte man möglicherweise noch nicht ahnen können, welchen Erfolg dieser neue Ansatz haben würde. Serverless Computing kommt immer mehr im Mainstream an, Entwickler rund um den Globus beginnen, sich wieder um die wichtigen Dinge des Lebens zu kümmern: Nämlich um das Schreiben von Code. Serverless hilft ihnen dabei, sich darauf konzentrieren zu können, ohne sich den Kopf um Infrastrukturen zerbrechen zu müssen.

In den letzten Jahren stellte sich allerdings heraus, dass die verfügbaren Technologien zur Virtualisierung leider nicht ganz dem Gedanken von Serverless entsprachen: Die Sicherheit, die eine virtuelle Maschine bietet, sollte nicht auf Kosten größerer Container oder unflexiblerer Funktionen gehen. Daher entwickelte man bei AWS den Virtual Machine Monitor (VMM) Firecracker, der nun Open Source verfügbar ist, und die für Serverless-Ansätze benötigte Effizienz endlich bereitstellen soll.

As our customers increasingly adopted serverless, it was time to revisit the efficiency issue. Taking our Invent and Simplify principle to heart, we asked ourselves what a virtual machine would look like if it was designed for today’s world of containers and functions!

Jeff Barr, Chief Evangelist for AWS

Firecracker: Virtuelle Maschinen für Serverless

Firecracker ist per se keine eigenständige Virtuelle Maschine, sondern ein Virtual Machine Monitor (VMM). VMMs können dazu verwendet werden, Virtuelle Maschinen zu erstellen und zu verwalten, manchmal wird auch der Begriff Hypervisor verwendet. Firecracker im Speziellen nutzt dafür die auf dem Linux-Kernel basierende virtuelle Maschine (KVM), um leichtgewichtige microVMs zu erstellen.

Im Fokus liegt dabei vor allem die Sicherheit, wie Jeff Barr in einem Blog-Beitrag betont. Das mehrschichtige Isolations- und Absicherungskonzept soll dabei eine möglichst kleine Angriffsfläche bieten.

Aber natürlich geht es auch um Schnelligkeit und Performanz: Im Bruchteil einer Sekunde (Spitzenzeit im Jahr 2018 war 125 Millisekunden) lässt sich mit Firecracker eine microVM erschaffen, die sich unter anderem perfekt für kurzlebige Workloads eignet. Im kommenden Jahr soll die Geschwindigkeit noch weiter beschleunigt werden.

Wer hat’s erfunden?

Wie Kelsey Hightower herausfand – und Amazon auch offiziell bestätigt – ist Firecracker nicht zwangsläufig ein komplett neuer Ansatz:

Auch offiziell schreibt Jaff Barr, dass Firecracker bzw. der Gedanke dahinter auf dem Tool crovsm basiert, dass damals von Google entwickelt wurde. Wie crosvm ist Firecracker in der Programmiersprache Rust geschrieben, was der etwas unpopulären Sprache vielleicht zu einem neuen Popularitätsschub verhelfen könnte. Bereits die Eclipse Foundation hat in diesem Jahr für einen kleinen Push gesorgt, als sie eine neue, auf Eclipse basierende Rust-Entwicklungsumgebung ankündigte.

Ausblick

Im kommenden Jahr soll (wie erwähnt) die Geschwindigkeit beim Erstellen von microVMs noch einmal zunehmen. Außerdem ist die Unterstützung für AMD- und ARM- Prozessoren geplant, aktuell läuft Firecracker nur in Verbindung mit den Chips von Intel.

Weitere Informationen zu Firecracker, besonders zum Thema Security, gibt es im Blog-Beitrag von Jeff Barr, eine Startanleitung haben Arun Gupta und Linda Lian zusammengestellt. Natürlich ist das Projekt auch auf GitHub vertreten und die offizielle Homepage findet sich hier.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -