Serverless Java: „Serverless wird immer mehr an Bedeutung zunehmen“

© Shutterstock / Gonzalo Aragon
Für viele schon Teil des Alltags, für andere noch ein etwas „wolkiges“ Thema: Serverless. Im Zuge der Veröffentlichung des aktuellen Java Magazin mit eben diesem Schwerpunkt haben wir mit zwei Experten zum Thema gesprochen: Christian Bannes, Lead Developer bei ip.labs GmbH, und Vadym Kazulkin, Head of Technology Strategy, ebenfalls bei ip.labs GmbH. Uns interessiert, was genau für die beiden Serverless ausmacht, wie groß die Bedeutung des Themas jetzt ist beziehungsweise in Zukunft sein wird und natürlich auch, was potenzielle Nachteile sind.
JAXenter: Serverless ist und war ein kontroverses Schlagwort. Für manche ist es nichts anderes als „FaaS“, für andere steckt mehr dahinter. Daher vielleicht zunächst einmal die Frage: Was ist Serverless für Dich?
Christian Bannes/Vadym Kazulkin: FaaS ist zwar ein Herzstück von Serverless, aber Serverless ist mehr als nur FaaS. Serverless bedeutet, dass sich Entwickler nicht mehr um die Provisionierung, Skalierung und den Betrieb von Servern kümmern müssen, indem man Faas und andere „Fully-Managed Services“ miteinander kombiniert. Dadurch können sich Entwickler auf die Implementierung der Kerndomäne konzentrieren, während sie andere Bereiche möglichst durch den Zukauf von Managed Services abdecken sollten.
JAXenter: Die großen Cloud-Anbieter kämpfen um die Gunst der Entwickler. Gibt es signifikante Alleinstellungsmerkmale bei Amazon, Google, IBM, Oracle und Co. oder geht es im Endeffekt nur um die Kosten pro Service-Aufruf?
Je nach FaaS-Anbieter gibt es in Sachen Unterstützung von Sprachen teilweise erhebliche Unterschiede.
Christian Bannes/Vadym Kazulkin: Wir sind vor allem Experten für AWS, aber soweit wir wissen, gibt es schon Unterschiede – allein in der Bepreisung von Serverless-Diensten – zwischen den FaaS-Anbietern. Zum Beispiel darin, ob nach dem allokierten oder tatsächlich verbrauchten Speicher abgerechnet wird, wie die Ausführungsdauer gerundet wird (z.B. auf 100 Millisekunden oder auf eine Millisekunde), ob HTTP Endpoints extra bepreist werden oder nicht usw. Kosten sind zwar ein wichtiger Aspekt, jedoch gibt es auch noch andere Punkte, wie zum Beispiel Plattform- und Tooling-Reife, Performanz, Skalierbarkeit und Nebenläufigkeit, Integration von FaaS mit anderen Services (sowohl des gleichen Anbieters als auch von SaaS-Lösungen generell), Unterstützung der Programmiersprachen usw. Je nach FaaS-Anbieter gibt es da teilweise erhebliche Unterschiede.
Schnuppern Sie in die aktuelle Ausgabe des Java Magazins mit diesen Leseproben
JAXenter: Wird Serverless an Bedeutung zunehmen oder wird es eine Nische bleiben?
Christian Bannes/Vadym Kazulkin: Wenn wir die Wardley-Map betrachten, sehen wir, dass FaaS (das eine weitere Erhöhung der Abstraktionsebene gegenüber IaaS, CaaS und PaaS bedeutet) mit Diensten wie AWS Lambda längst einen Commodity-Stand und auch Reifegrad erreicht hat. Was wir gerade bei Serverless beobachten, nennt Simon Wardley Ko-Evolution der Praktiken, wodurch ganz neue Arbeitsweisen etabliert werden und neues Tooling entsteht. Das Tooling für Serverless steckt immer noch in den Kinderschuhen, reift aber zunehmend. Deswegen wird Serverless immer mehr an Bedeutung zunehmen. In der Zeit der Digitalisierung kommt es darauf an, immer schneller zu werden. Das Serverless-Paradigma begünstigt dies.
JAXenter: Kannst Du uns ein Beispiel für eine Applikation nennen, für die Serverless nicht die richtige Variante ist?
Serverless kann sehr teuer sein, wenn die Applikation API-getrieben ist.
Christian Bannes/Vadym Kazulkin: Serverless kann sehr teuer sein, wenn die Applikation API-getrieben ist. In AWS sind die Kosten für Lambda in der Regel nicht die größten Brocken. Wird ein API-Gateway verwendet, ist das meist viel teurer. Auch wenn die Applikation ein konstantes Lastverhalten hat, ist Serverless in der Regel sehr teuer. Für manche Szenarien wie Gaming und Bidding-Plattformen braucht man konstant eine sehr hohe Performanz, wo die sogenannten Cold Starts in der Serverless-Welt den Einsatz etwas einschränken. Wir gehen in unserem Artikel im Java Magazin sehr tief auf diesen Punkt ein.
JAXenter: Warum ist es schwierig, Serverless in Unternehmen zu etablieren, und welche Hürden technischer und vielleicht auch menschlicher Natur müssen überwunden werden?
Christian Bannes/Vadym Kazulkin: Die Hürden sind tatsächlich vielseitig: Ein Punkt, mit dem sich viele Unternehmen unkomfortabel fühlen, ist, auf viele Managed Services zu setzen und Roadmap, Preis, SLA, Support und Compliance nicht unter Kontrolle zu haben – vor allem, wenn das eigene Produkt eine gewisse Marktreife erreicht und bereits viele Benutzer hat. Es ist auch eine echte Kunst, so wenig Code wie möglich zu schreiben, die Komplexität – so gut es geht – wegzulassen und dadurch die langfristige Wartung der eigenen Lösungen zu ermöglichen. Der sensibelste Punkt ist die Zusammenarbeit zwischen Devs und Ops, da diese Trennung bei Serverless nahezu komplett verschwimmt. Wir gehen in unserem aktuellen Artikel im Java Magazin auch auf diesen Punkt sehr tief ein. Es lohnt sich, ihn zu lesen 😉!
JAXenter: Vielen Dank für das Interview!


Hinterlasse einen Kommentar