Interview mit Vadym Kazulkin

„Auch Serverless ist keine Silver Bullet“

Marius Nied

Das Serverless-Architekturmuster wird momentan heiß diskutiert. Welche Vorteile bringt es? Läutet es gar eine Revolution in der Software-Entwicklung ein? Oder bleibt Serverless auf eine überschaubare Anzahl bestimmter Use Cases beschränkt? Vadym Kazulkin, Software-Architekt bei ip.labs und Sprecher auf der W-JAX 2019, gibt im Interview eine Einschätzung.

JAXenter: Deine Session trägt den Untertitel „Sichtbare und nicht sichtbarbare Vorteile von Serverless Paradigma“  – kurz zusammengefasst: Was sind die Vorteile?

Serverless: Mehr Fokus auf das Wesentliche ist das Schlüsselwort.

Vadym Kazulkin: Da man bei Serverless viele Ops-Aufgaben (Infrastruktur-Maintenance inklusive Plattformsicherheit, Skalierbarkeit) vom Provider erledigen lässt, und auch Basis-Logging und Monitoring geschenkt bekommt, kann man sich auf die Businesslogik konzentrieren und mit wenigen Kollegen schneller mehr schaffen.

Nicht zu vergessen ist, dass Wartungskosten über den ganzen Software-Lebenszyklus Entwicklungskosten deutlich übersteigen. Daher sollte man sich – soweit es geht – nur auf die Entwicklung in den Kernbereichen konzentrieren und alles andere womöglich als Software-as-a-Service dazukaufen (idealerweise mit „pay as you go“-Kostenmodell) und miteinander verbinden (AWS EventBridge ist eine sehr vielversprechende Technologie für diese Zwecke). Mehr Fokus auf das Wesentliche (Kern Businesslogik) ist das Schlüsselwort.

JAXenter: Die zweite Frage ergibt sich ein wenig aus der ersten: Was sind die Nachteile?

Vadym Kazulkin: Serverless ist noch nicht für alle Use Cases ausgereift, z.B. im ML/AI-Bereich. Auch für Big Data gibt es Nachholbedarf, obwohl man in AWS mit Kinesis einiges umsetzen kann. Mit Lambda Layers und Lambda Runtime API (Custom Runtimes) werden wir in Zukunft noch mehr Umsetzungen der genannten Use Cases sehen. Für manche Szenarien wie Gaming und Bidding-Plattformen braucht man konstant sehr hohe Performanz, wo die so genannten „cold starts“ in der Serverless-Welt den Einsatz etwas einschränken.

Außerdem haben einige Serverless-Plattformen Nachholbedarf, was Observability, Alterting und Sicherheit angeht, sodass man zurzeit nicht um die kommerzielle SaaS in diesen Bereichen (die nicht gerade günstig sind) herumkommt. Außerdem gibt es viel zu verbessern, was den Durchsatz bei der Kommunikation mit dem Storage angeht (z.B. beim Schreiben von Lambda nach S3) und einige harte Limits einiger Plattformen (z.B. maximal 3 GB Speicher, die man Lambda zuweisen kann), die die Einsatzgebiete einschränken.

Jedoch sehe ich, dass auch solche Einschränkungen Jahr für Jahr von den Plattformen abgeschwächt werden (z.B. maximale Ausführungszeit von Lambda von fünf auf 15 Minuten erhöht, maximal zur Verfügung stehender Speicher von 1.5 auf 3 GB erhöht usw.).

Ein weiterer 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. Dazu gehört eine sehr große Portion Vertrauen in die ausgewählten Anbieter, und diese müssen dieses Vertrauen auch rechtfertigen können. Und ja, Kostenkontrolle ist nicht mehr so trivial, denn diese Kosten können theoretisch unendlich hoch sein.

Serverless Expert Check 2019

Comprehensive Expert Knowledge For Free

16 experts from all over the world discuss how serverless is changing the way developers, operators, and administrators work. Expand your knowledge with the help of our Serverless Architecture Whitepaper. Stay on top of the latest trends in the field of knative, kubernetes, serverless testing as well as their drawbacks and advantages.

JAXenter: Aus welchem Grund wird häufig über Lambda-Kosten gesprochen, weniger häufig aber über die Kosten von AWS Services?

Es lohnt sich, sich mit den Preis-Modellen aller Dienste umfassend auseinander zu setzen.

Vadym Kazulkin: Lambda ist für viele das Kernstück einer Serverless-Anwendung, obwohl man durchaus in vielen Fällen auf Lambda verzichten kann: Man kann z.B. API Gateway direkt mit S3, DynamoDB und anderen Quellen mit Velocity-Templates verbinden. Jedoch fallen die Lambda-Kosten im Vergleich zu den anderen komplett oder teilweise Serverless-managed AWS-Services eher gering aus.

Deutlich höher sind die Kosten für API Gateway und DynamoDB (noch größer werden sie, falls man Caching für beide Diensten einschaltet), Data-Transfer, Kinesis, Logging, Monitoring, Obervability (X-Ray) und Step Functions. Deshalb lohnt es sich, sich mit den Preis-Modellen aller Dienste umfassend auseinanderzusetzen. Aber nicht nur mit Kosten, sondern auch mit Skalierungsmöglichkeiten und Einschränkungen dieser einzelnen Services.

JAXenter: Wann lohnt es sich, auf das Serverless-Paradigma zu setzen?

Vadym Kazulkin: Es gibt ein paar offensichtliche Use Cases, wie Event-driven Architekturen oder Workloads mit seltenen, aber hohen Peaks. Aber auch generell soll man die Total Cost of Ownership der Anwendung betrachten, denn oft fließen immense interne Aufwände und Kosten in den Betrieb der Anwendung selber, obwohl Betrieb so gut wie nie zum Kerngeschäft des Unternehmens gehört (es sei denn das Unternehmen baut das Rechenzentrum).

Oft wird man feststellen, dass man viele Applikationen komplett oder teilweise Serverless umsetzen kann. Dazu gehören aber auch kulturelle und organisatorische Aspekte wie Build- vs. Buy-Entscheidungen und das Mindset, anders arbeiten zu können, zu wollen und auch zu dürfen. Wie mein sehr geschätzter Kollege Christian Bannes (mit dem ich diesen Vortrag auch halte) immer sagt: Lasst die Komplexität weg!

JAXenter: Was ist die Kernbotschaft Deiner Session, die jeder mit nachhause nehmen sollte?

Vadym Kazulkin: Wie der Titel schon sagt: Auch Serverless ist keine Silver Bullet 😊. Man sollte folgende Bereiche betrachten und verstehen: Architektur der eigenen Anwendung, Plattform-Limitierungen, Kosten (auch unter hoher Skalierung), organisatorisches Wissen (vor allem das Thema DevOps) und Plattform- und Tooling-Reife und nochmal Total Cost of Ownership der Serverless-Anwendungen, um die Frage eindeutig zu beantworten, ob man für die ganze Applikation oder deren Teilbereiche Serverless gehen sollte oder nicht.

Oft sind es wie gewohnt nicht technische, sondern organisatorische Einschränkungen, die es verhindern, auf das Serverless-Paradigma zu setzen. Wenn wir jedoch die Wardley-Map betrachten, sehen wir, dass die FaaS (die eine weitere Erhöhung der Abstraktionsebene gegenüber IaaS, CaaS und PaaS bedeutet), Comodity-Stand erreicht hat. Somit wird der Siegeszug des Serverless-Paradigmas nicht mehr zu stoppen sein.

JAXenter: Vielen Dank für dieses Interview!

Vadym Kazulkin ist Chief Software Architekt bei ip.labs GmbH, einer 100% Tochter der FUJIFLM Gruppe mit Sitz in Bonn. Ip.labs ist das weltweit führende White Label E-Commerce Unternehmen im Bereich Softwareanwendungen für den digitalen Fotoservice, mit einem modernen und motivierenden Arbeitsumfeld, das technologisch immer einen Schritt voraus ist. Vadym beschäftigt sich mit dem Java-Ökosystem seit über 15 Jahren. Dabei legt er sein Augenmerk auf die Themen rund um Effective Java, Design Patterns, Nebenläufigkeit und Performanz. Seine Schwerpunkte und Interessen gelten derzeit der Konzeption und Implementierung der hochskalierbaren und hochverfügbaren Anwendungen und AWS-Cloud.

 

Geschrieben von
Marius Nied
Marius Nied
Marius Nied ist Redakteur des Java Magazins.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: