WebAssembly-Framework Spin 1.0: Serverless-Anwendungen mit Wasm

Das neue Release der Open-Source-Software soll die Anforderungen der Full-Stack-Entwickler durch eine breite Unterstützung verschiedenster Sprachen erfüllen.

In Pocket speichern vorlesen Druckansicht

(Bild: Adrian Grosu/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Frank-Michael Schlede

Die Softwarefirma Fermyon hat mit Spin 1.0 die erste stabile Version ihres Open-Source-Tools veröffentlicht. Es soll Entwicklern und Entwicklerinnen die Möglichkeit geben, ihre Anwendungen in WebAssembly für die serverlose Bereitstellung zu übersetzen. Dazu können sie unter anderen Sprachen wie Rust, TypeScript, Python oder C# verwenden und die Programme dann auf verschiedenen Cloud-Plattformen oder auch via Kubernetes bereitstellen.

Radu Matei, Mitbegründer und CTO von Fermyon hebt in seinem Blogeintrag ganz besonders die Bedeutung von WebAssembly für sein Unternehmen und die Open-Source-Software Spin hervor. Nach seiner Meinung verfügt Wasm heute über die Laufzeiteigenschaften, die die Grenzen von Serverless überwinden können.

Ein Beispiel für die Verwendung der Spin-CLI zum Erstellen einer neuen Spin-Python-Anwendung.

(Bild: Fermyon)

Zu diesen Grenzen zählt er unter anderem die Bindung an einen bestimmten Anbieter, mangelnde Portabilität und Kaltstarts, wobei er die Kaltstarts für das überzeugendste Argument für Wasm hält.

Als Kaltstart bezeichnet er in seinen Ausführungen die Verzögerung, die auftritt, wenn eine serverlose Anwendung nach einer Ruhephase wieder eine Anfrage erhält. Das kann ein Problem für Anwendungen sein, die von einer Laufzeitumgebung wie Java oder .NET abhängig sind.

Grundsätzlich unterstützt Spin nach Aussagen des Entwicklerteams prinzipiell jede Sprache, die nach WASI (WebAssembly System Interface) kompiliert werden kann.

Wie diese Auflistung zeigt, wird Rust aktuell von Spin am besten unterstützt.

(Bild: Fermyon)

Entwickler und Entwicklerinnen, die einen Blick auf die detaillierte Sprachunterstützung von Spin werfen, werden aber noch einige Einschränkungen finden. Am besten wird aktuell Rust unterstützt, während andere Sprachen nur teilweise alle Funktionen von Spin unterstützen. So fehlen in einigen Fällen Funktionen wie die SQLite-Unterstützung oder ein Treiber für MySQL.

Der Fermyon-CTO formuliert ebenfalls die Pläne für die Zukunft der Software: Dazu gehört die Umstellung auf das Wasm-Komponentenmodell, das eine Standard-ABI (Application Binary Interface) enthalten wird, die es Wasm-Modulen erlauben soll, dynamisches Linking zu unterstützen. Zudem soll die bevorstehende Unterstützung von WASI-Netzwerken die Unterstützung für weitere Datenbanktreiber ermöglichen. Ein Blogeintrag erläutert ausführlich und mit vielen Beispielen, wie Entwicklerteams Spin einsetzen können.

(fms)