Serverless mit Laravel Vapor

Serverless mit Laravel Vapor

Serverless mit Laravel Vapor

Vereinfachte Server-Skalierung – dank Laravel Vapor

Zum Glück keine Vaporware: Mit Vapor stellt Laravel eine Serverless-Lösung bereit, die sich für Kunden insbesondere durch eine deutlich geringere Komplexität im Vergleich zu anderen Produkten aus dieser Sparte auszeichnen soll. Wir haben die ersten Informationen für Sie zusammengetragen.

Die Schwierigkeiten bei aktuellem Hosting

Bei Vapor geht es prinzipiell um das Hosting einer beliebigen, auf Laravel basierenden Infrastruktur, wobei AWS von Amazon das Grundgerüst dahinter bereitstellt. Unternehmen können dort also beispielsweise Web-Anwendungen hosten, wobei jedoch der Begriff Serverless etwas irreführend ist.

Denn: Server gibt es nach wie vor. Die klassische Methode würde darin bestehen, jenen Server zu kaufen oder zu mieten, um darauf beispielsweise eine Webseite zu hosten. Jegliche Updates an der Webseite selbst oder auch an der Software des Servers würden in den Händen des Betreibers liegen (entweder das Unternehmen selbst oder ein Partner in Form eines Hosting-Anbieters).

Diese Lösung funktioniert, aber sie ist gelegentlich auch fehleranfällig. Hoher Traffic beispielsweise würde eine Webseite praktisch zusammenbrechen lassen und für den Nutzer nicht mehr erreichbar machen. Dieses Problem lässt sich beheben, indem weitere Server hinzugeschaltet sowie Load-Balancing zwischen den verschiedenen Servern betrieben wird (wofür noch einmal ein separater Server notwendig ist). Fällt der Traffic wieder unter ein bestimmtes Niveau, werden die nun überflüssigen Server abgeschaltet.

Die Schwierigkeiten in dieser eigentlich gut funktionierenden Lösung waren technischer Natur, denn die Komplexität hinter einem solchen Server-Setup ist hoch – und was komplex ist, kostet Geld. Kleinere Unternehmen können sich derartige Mechanismen oftmals einfach nicht leisten.

Serverless als Lösung

Die Serverless-Methode verwendet ebenfalls Server, allerdings sind diese für den Kunden weniger sichtbar. Anbieter wie Amazon stellen weiterhin einen Service bereit, allerdings mietet der Kunde nicht mehr direkt einen Server. Es geht nicht um die Miete von spezieller Hardware, die vorher verglichen werden muss, sondern um die „Miete von Performance“.

Laravel kümmert sich in diesem Fall um die komplette Aufsetzung der Server, um die Verwaltung und auch die oben angesprochene Skalierung im Ernstfall. Eine Abrechnung für den Kunden basiert nicht auf der gemieteten Hardware, sondern auf Zugriffszahlen in Form von Web-Requests. Hier schnüren die Anbieter von Serverless-Produkten in der Regel ein „Schnupper-Paket“, denn eine bestimmte Menge an Requests ist meist kostenlos (bei Amazon sind dies beispielswese 1 Millionen Zugriffe pro Monat). Erst, wenn die Zugriffszahlen darüber hinausgehen, wird gezahlt.

Serverless-Produkte für Unternehmen sind daher praktisch eine All-in-One-Lösung, denn man drückt dem Anbieter alle relevanten Daten in die Hand und beauftragt ihn dann, alles in die Wege zu leiten, damit die Webseite unter allen Umständen erreichbar bleibt – ganz egal, wie hoch die Traffic-Spitzen ausschlagen. Kunden müssen sich um gar nichts kümmern und pro Monat nur eventuell eine Rechnung begleichen. Der Server selbst gerät bei dieser Methode in den Hintergrund – was auch den Begriff Serverless erklärt.

Insgesamt handelt es sich also um die Auslagerung des notwendigen technischen Know-hows, um Server-Skalierung fehlerfrei zu betreiben, sodass Unternehmen jeder Größe davon profitieren können.

Die Basis von Vapor

Vapor ist eine Plattform, auf der mit Laravel erstellte Web-Anwendungen gehostet werden können. Die Vorteile sieht das Unternehmen vor allem in den Vorzügen, die auch andere Serverless-Lösungen auszeichnen: Web-Anwendungen und Worker skalieren innerhalb von Sekunden, sodass auch extreme, unerwartete Lastspitzen wie selbstverständlich abgefedert werden und der Nutzer weiterhin eine normale Performance erleben kann.

Verwalten können Unternehmen Vapor dabei über ein Dashboard, das als Administrationszentrale agiert und alle wichtigen Funktionen bereitstellt. Vielleicht noch wichtiger ist ein mitgeliefertes Paket, mit dem sich Anwendungen, die auf Laravel basieren, auf den Betrieb in einer Serverless-Umgebung vorbereiten lassen. Auf einer Präsentation Ende Juli, als Vapor das erste Mal vorgestellt wurde, führte Taylor Otwell (Initiator von Laravel) dafür einige simple Kommandozeilenbefehle vor. Die sind für das Deployment notwendig und noch immer sehr viel einfacher als der traditionelle Weg über die Verknüpfung diverser Services bei Amazon und Google.

In der Praxis wäre es nur notwendig, ein von Amazon bereitgestelltes AWS-Token im eigenen Vapor-Konto abzulegen. Danach können Kunden über das erwähnte Dashboard alle gewünschten Services einrichten und nach Belieben verwalten. Der Großteil der anschließenden Arbeit geschieht über Schnittstellen, die im Hintergrund agieren und unbemerkt bleiben. Ebenso, wie Laravel den Umgang mit PHP wieder „spannend“ machen wollte, hat man es sich mit Vapor offenbar zum Ziel gesetzt, auch die letzten Hürden bei der Verwendung von Serverless-Lösungen für Anwendungen oder Webseiten einzureißen.

Welche Funktionen unterstützt Vapor?

Neben den genannten Basisfunktionen bringt die Plattform einige weitere Vorteile mit – die wie folgt ausfallen:

Rollback-Features

Über das Dashboard können Kunden den Zustand der Anwendung sekundengenau wiederherstellen, inklusive Daten wie Umgebungsvariablen. Wer versehentlich ein fehlerhaftes Update ausgeliefert hat und nun der Wut der Kunden ausgeliefert ist, kann mit Vapor also einen funktionsfähigen Zustand mit wenigen Klicks wiederherstellen.

Unterschiedliche Umgebungen

Kunden dürfen diverse Umgebungen einrichten, sodass Nutzer etwa auf die Live-Umgebung zugreifen, während Entwickler eine andere, individuelle Umgebung verwenden. Für jede gewünschte Umgebung produziert Vapor automatisch eigene Domains. Praktisch: Ein fließender Wechsel zwischen den Domains ist möglich, sodass etwa von den Entwicklungs- in den Live-Zustand ohne störende „Wir führen gerade Wartungsarbeiten durch“-Meldungen ablaufen.

Messbares

Vapor stellt darüber hinaus diverse Metriken bereit, um etwa Daten wie Zugriffe und – damit verbunden – auch die Kosten für diese Requests im Auge zu behalten. Da AWS die Infrastruktur im Hintergrund bereitstellt, gelten auch die dortigen Preise. Im Dashboard können Unternehmen auch Grenzen definieren. Wenn also vielleicht 5 Millionen Zugriffe im Monat überschritten werden, sendet das System automatisch einen E-Mail-Alarm an die Verantwortlichen. Eine typische „Kostenfalle“ steht also eher nicht zur Befürchtung.

Übrigens soll die Verwendung von Vapor für all jene, die ohnehin bereits mir Laravel arbeiten, simpel bleiben: Applikationen, die mit Laravel als Framework geschrieben werden, können exakt in derselben Art bestehen bleiben. Entwickler müssen nicht eine einzige Zeile Code ändern, um die Anwendung über Vapor bereitzustellen.

Auch für größere Projekte eignet sich die Plattform, denn ein automatisches Queueing-System nimmt alle gewünschten Jobs auf führt diese anschließend gleichzeitig aus. Eine besondere Konfiguration ist dafür nicht notwendig, was ohnehin eines der wichtigen Themen von Vapor ist. Alles soll Out of the Box einfach funktionieren, ohne dass dafür besonderes Fachwissen oder aufwendige Konfigurationsschritte notwendig wären.

Zu guter Letzt garniert Laravel die Plattform noch mit ein wenig Gruppen-Management, denn Projekte jeglicher Größe lassen sich in Teams einrichten, um so einfacher miteinander arbeiten zu können. Eine Grenze existiert nicht: Kunden dürfen so viele Projekte und Deployments anstoßen, wie sie möchten. Die Kosten belaufen sich im besten Fall übrigens auf überschaubare 399 US-Dollar im Jahr, wobei hier noch nicht weitere Kosten für die Zugriffe über AWS einberechnet sind.

Fazit: Was bringt Laravel Vapor?

Beim Vergleich aller Vorteile der neuen Serverless-Lösung steht auch hier als größter Pluspunkt im Raum, dass selbst kleinere Unternehmen eine automatisierte Skalierung, basierend auf den realen Zugriffszahlen und dem daraus resultierenden Traffic, bekommen. Ob diese Unternehmen das überhaupt brauchen, steht zwar auf einem anderen Blatt. Dennoch ist unserer Meinung nach Laravel dafür zu loben, dass dieser Service überhaupt angeboten wird – und wer ohnehin bereits Web-Anwendungen auf Basis dieses Frameworks bereitstellt, wird sich Vapor sicherlich genauer ansehen.

Mehr Informationen zu Webentwicklung mit Laravel und Wordpress

Ob nach außen für Ihre Kunden oder nach innen für die Verknüpfung mit existierenden Systemen: Wenn es um Web-Technologie geht, sind wir die Spezialisten.