Was ist Serverless-Computing? | Was bedeutet Serverless

Serverless-Computing ist eine Methode zur Bereitstellung von Backend-Services auf Grundlage der tatsächlichen Nutzung. Server werden weiterhin verwendet, aber ein Unternehmen, das Backend-Dienste von einem serverlosen Anbieter erhält, wird basierend auf der Nutzung berechnet, nicht auf der Grundlage einer festen Bandbreite oder Anzahl von Servern.

Share facebook icon linkedin icon twitter icon email icon

Serverless

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Was heißt Serverless-Computing
  • Die Vorteile einer serverlosen Architektur

Was ist Serverless-Computing?

Serverless-Computing ist eine Methode zur Bereitstellung von Back-End-Diensten auf der Grundlage der tatsächlichen Nutzung. Mit einer serverlosen Architektur können Benutzer Code schreiben und bereitstellen, ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen. Einem Unternehmen, das Backend-Dienste von einem Serverless-Anbieter erhält, wird die verwendete Rechenleistung berechnet. Es muss keine feste Bandbreite oder Anzahl von Servern reservieren und bezahlen, da der Service automatisch skaliert. Beachten Sie, dass man zwar den Begriff „serverlos“ verwendet, jedoch weiterhin physische Server eingesetzt werden – die Entwickler müssen sich über diese Server nur keine Gedanken mehr machen.

Im Anfangsstadium des Web musste jeder, der eine Webanwendung erstellen wollte, auch die physische Hardware besitzen, die zum Ausführen eines Servers erforderlich ist – ein umständliches und teures Unterfangen.

Dann kam die Cloud, in der eine feste Anzahl von Servern oder eine bestimmte Menge an Serverplatz für den Fernzugriff gemietet werden konnte. Entwickler und Unternehmen, die diese festen Servereinheiten mieten, kaufen für gewöhnlich zu viel davon, damit Traffic- oder Aktivitätsspitzen ihre monatlichen Limits nicht überschreiten und dadurch ihre Anwendungen beeinträchtigen. Das bedeutete aber auch, dass ein Großteil des bezahlten Serverplatzes normalerweise ungenutzt blieb. Um dieses Problem zu beheben, führten Cloud-Anbieter Modelle zur automatischen Skalierung ein. Doch auch bei automatischer Skalierung konnte ein unerwünschter extremer Aktivitätsanstieg, wie beispielsweise ein DDoS-Angriff, sehr hohe Kosten verursachen.

Vorteile des Serverless-Computing

Beim Serverless-Computing können Entwickler Backend-Dienste auf einer flexiblen „Pay-as-you-go“-Basis erwerben. Das heißt, dass Entwickler nur für Dienste bezahlen müssen, die sie tatsächlich verwenden. Das ist wie ein Wechsel von einem Handy-Datentarif mit einem monatlich festen Limit zu einem, der nur jedes tatsächlich verwendete Datenbyte in Rechnung stellt.

Der Begriff „serverlos“ ist in diesem Fall aber etwas irreführend, da diese Backend-Dienste immer noch von Servern bereitgestellt werden. Doch alle Serverplatz- und Infrastrukturangelegenheiten erledigt nun der Anbieter. Serverlos bedeutet also, dass die Entwickler ihre Arbeit erledigen können, ohne sich um die Server Gedanken machen zu müssen.

Was sind Backend-Dienste? Was ist der Unterschied zwischen Frontend und Backend?

Die Entwicklung von Anwendungen lässt sich im Allgemeinen in zwei Bereiche unterteilen: das Frontend und das Backend. Das Frontend ist der Teil der Anwendung, den Benutzer sehen und mit dem sie interagieren, z. B. das visuelle Layout. Das Backend ist der Teil, den der Benutzer nicht sieht. Dies umfasst den Server, auf dem sich die Dateien der Anwendung befinden, und die Datenbank, auf der Benutzerdaten und Geschäftslogik beibehalten werden.

Frontend vs Backend einer Anwendung

Stellen wir uns zum Beispiel eine Website vor, auf der Konzertkarten verkauft werden. Wenn ein Benutzer eine Anfrage in das Browserfenster eingibt, sendet der Browser eine Anfrage an den Backend-Server, der dann mit den Website-Daten antwortet. Der Benutzer sieht das Frontend der Website, also Text, Bilder und Formularfelder, die er ausfüllen kann. Der Benutzer kann dann mit einem der Formularfelder im Frontend interagieren, um nach einer Band zu suchen. Wenn der Benutzer auf „Senden“ klickt, wird eine weitere Anfrage an das Backend ausgelöst. Der Backend-Code überprüft in seiner Datenbank, ob eine Band mit diesem Namen vorhanden ist, und wenn ja, wann sie als nächstes spielt und wie viele Tickets verfügbar sind. Das Backend leitet diese Daten dann an das Frontend zurück, und das Frontend zeigt die Ergebnisse auf eine Art und Weise an, die für den Benutzer sinnvoll ist. Wenn der Benutzer ein Konto erstellt und Finanzinformationen eingibt, um die Tickets zu kaufen, erfolgt eine ähnliche Hin- und Her-Kommunikation zwischen dem Frontend und dem Backend.

Welche Art von Backend-Diensten kann Serverless-Computing bereitstellen?

Die meisten Serverless-Provider bieten ihren Kunden Datenbank- und Speicherdienste an. Viele verfügen außerdem über Function-as-a-Service-Plattformen (FaaS), wie z. B. Cloudflare Workers. Diese Plattformen können Codeteile am Netzwerkrand ausführen, ohne Daten zu speichern.

Was sind die Vorteile von Serverless Computing?

  • Geringere Kosten: Serverless-Computing ist im Allgemeinen sehr kostengünstig, da die Nutzung herkömmlicher Cloud-Provider für Backend-Dienste (Serverzuweisung) häufig dazu führt, dass Benutzer Speicherplatz oder CPU-Zeit bezahlen, die sie gar nicht nutzen.
  • Einfache Skalierbarkeit: Entwickler, die eine serverlose Architektur verwenden und ihren Code skalieren möchten, müssen sich keine Gedanken über Richtlinien machen. Der Serverless-Anbieter passt die gesamte Skalierung dem Bedarf des Kunden an.
  • Vereinfachter Backend-Code: Mit FaaS können Entwickler einfache Funktionen erstellen, die unabhängig voneinander einen einzigen Zweck erfüllen, z. B. einen API-Aufruf zu tätigen.
  • Schnellere Abwicklung: Serverlose Architektur kann die Zeit bis zur Markteinführung erheblich verkürzen. Anstatt Fehlerkorrekturen und neue Features über einen komplizierten Bereitstellungsprozess einzuführen, können Entwickler den Code stückweise hinzufügen und ändern.