Bedeutet serverlos tatsächlich „ohne Server“? Was genau ist Serverless Architecture
Anbieter zum Thema
Trotz ihres Namens ist serverlose Architektur nicht wirklich serverlos. Der Name kann Verwirrung darüber stiften, worum es sich dabei tatsächlich wirklich handelt. Schließlich müssen Anwendungen irgendwo auf einem Server laufen, um zu funktionieren. Was genau ist also eine Serverless Architecture, wie funktioniert sie und für wen ist sie geeignet?

Serverlose Architektur bedeutet im Wesentlichen, dass ein Cloud-Anbieter – wie Google, Amazon Web Services (AWS) oder Microsoft Azure – die Back-End-Infrastruktur der eigenen Anwendung zur Verfügung stellt. Zu ihrer Beliebtheit tragen Dienste wie Kubernetes bei, aufgrund derer sich viele Unternehmen in kurzer Zeit dafür interessiert haben, ihre Anwendungen kostenpflichtig über Cloud-Dienste hosten zu lassen. Doch trotz der vielen Vorteile bringt diese Vorgehensweise auch Herausforderungen mit sich.
Zeit ist Geld
Der größte Vorteil der Implementierung einer serverlosen Architektur besteht darin, dass sie Entwickler von zeitaufwändigen Wartungsaufgaben befreit und dem Unternehmen viele Betriebskosten spart.
Wenn Entwickler die Back-End-Infrastruktur, auf der Anwendungen laufen, nicht selbst besitzen, müssen sie sich deutlich weniger um Wartung, Provisionierung und Skalierung kümmern. Einer der attraktivsten Gründe für die Nutzung dezentraler Back-End-Infrastrukturen ist die automatisierte Skalierung und Fehlerbehebung, die Cloud-Anbieter bei serverlosen Architekturen bieten. Indem sie die Last der Back-End-Wartung mit anderen teilen, gewinnen Entwickler mehr Zeit für wichtigere Projekte. Sie müssen sich beispielsweise nicht mehr um die Kapazitätsplanung kümmern, da diese von anderen erledigt wird. Gleichzeitig automatisiert der Cloud-Dienstanbieter die serverlose Architektur, sodass Skalierungen oder Reduzierungen ohne Anweisung der Entwickler erfolgen.
Auch bezüglich Verantwortlichkeit und Rechenschaftspflicht hat eine serverlose Architektur positive Auswirkungen. Wenn im Back-End etwas schief geht, liegt die Verantwortung für die Problemlösung beim Anbieter, nicht beim Entwickler. Somit müssen die Entwickler im Problemfall keine Arbeitszeit und Tools dafür aufwenden.
Zu guter Letzt kann eine serverlose Architektur je nach Unternehmensgröße und -anforderungen eine kostengünstige Option sein. Den Entwicklern Zeit zu sparen, bedeutet auch Kostenersparnis und reduziert die Gesamtbetriebskosten. Ein zusätzlicher Vorteil, den viele nicht im Blick haben: Durch die Nutzung externer Back-End-Infrastrukturen wird die Einstellung eines „Serverexperten“ überflüssig. Für Unternehmen, denen hohe Betriebskosten Probleme bereiten, sind serverlose Architekturen also eine interessante Option.
Diese Hürden gilt es zu meistern
Trotz aller Vorteile ist die Serverless Architecture nichts so einfach, wie es anfangs scheint, denn die dezentrale Natur serverloser Architekturen kann auch einige Probleme verursachen. Da IT-Teams die Back-End-Infrastruktur nicht selbst besitzen und überblicken, wird es fast unmöglich, die hinter den Kulissen laufenden Anwendungen zu überwachen. Diese mangelnde Transparenz kann dazu führen, dass Entwickler zur Leistung von Anwendungen nur ungenaue Vermutungen anstellen können. Wenn es darum geht, Leistungsprobleme anzugehen oder Leistungsanalysen zu verfolgen, führt das schnell zu einem unguten Dominoeffekt.
Doch das noch größere Problem ist die Sicherheit. Die größere Angriffsfläche serverloser Architekturen im Vergleich zu internen Umgebungen kann ein höheres Sicherheitsrisiko darstellen. Hier kommt es letztendlich ganz darauf an, wie gut der Cloud-Dienstanbieter Risiken managt. Eine gründliche Recherche vor Beginn der Cloud-Migration ist daher unabdingbar. Schließlich ist bekanntermaßen jedes System nur so stark wie sein schwächstes Glied.
Zuletzt gibt es auch Anwendungen, die einfach nicht für eine serverlose Architektur geeignet sind. Serverlose Architekturen sind keine Universallösung für sämtliche Back-End-Probleme. Die Preise hängen beispielsweise oft von der Ressourcen- und Anwendungsnutzung ab. Anwendungen, die enorme Rechenressourcen verschlingen, führen zu einem drastischen Anstieg der Kosten für das Unternehmen, sodass ein internes Hosting wahrscheinlich lohnender ist.
Wann sind serverlose Architekturen sinnvoll?
Einer der Hauptanwendungsfälle für serverlose Architekturen sind Anwendungen, die Code und getriggerte Aufgaben ausführen. Sie werden oft als „Set-it-and-forget-it“-Anwendungen bezeichnet. Hier bleibt die Anwendung in der Infrastruktur passiv und wartet auf ein auslösendes Ereignis, den Trigger. Für solche Anwendungen sind serverlose Architekturen sinnvoll, da die Anwendung die Ressourcenauslastung abhängig vom ausgelösten Ereignis nach Bedarf steuert und so die Kosten niedrig hält.
Außerdem sind serverlose Architekturen ideal für CI/CD-Projekte (Continuous Integration / Continuous Delivery), da Entwickler den Code in der Produktion durchgehend aktualisieren können, ohne sich Gedanken über die Serveraktualisierung zu machen. Diese Möglichkeit zur Echtzeitaktualisierung von Code ermöglicht eine schnellere Bereitstellung der Software.
Auch für Unternehmen, bei denen die Wartung im laufenden Betrieb eine Belastung darstellt, können serverlose Architekturen eine kostengünstige Lösung sein. Dabei sollten sie jedoch nichts überstürzen, sondern genau recherchieren, wer der Cloud-Anbieter ist, wie robust die Sicherheitsmaßnahmen sind und ob die Anforderungen der eigenen Anwendungen von serverlosen Architekturen auch wirklich erfüllt werden.
Über die Autorin
Chrystal Taylor ist Head Geek bei SolarWinds.
(ID:48607562)