Interview mit Vadym Kazulkin

„Serverless kann sehr teuer sein, wenn die Applikation API getrieben ist“

Dominik Mohilo

Vadym Kazulkin

Die Serverless-Technologie bringt nicht nur neue Möglichkeiten für Entwickler mit sich, Anwendungen zu schreiben. Auch in finanzieller Hinsicht ist Serverless durchaus ein interessantes neues Paradigma. Wir sprachen mit Vadym Kazulkin, Chief Software Architect bei der ip.labs GmbH, im Interview zur JAX 2019 darüber, wann Serverless sich in finanzieller Hinsicht lohnen kann und wann der Ansatz mehr Kosten verursacht, als herkömmliche Lösungen. Außerdem beleuchtet er, wie sich die Arbeit von Operators und System-Admins in Zukunft verändern wird.

JAXenter: Serverless als Begriff ist ein recht umstrittenes Buzzword: Server sind ja nach wie vor im Einsatz. Außerdem scheint jeder etwas anderes unter Serverless zu verstehen – zum Beispiel FaaS oder BaaS. Daher zunächst einmal die Frage: Was ist Serverless für dich persönlich?

Vadym Kazulkin: Mir geht es beim Begriff Serverless vor allem darum, mich nicht mehr um die Infrastruktur kümmern zu müssen, dass die Anwendung automatisch skaliert und ich nicht für Idle-Time der Anwendung bezahle.

JAXenter: Aus Entwicklersicht bringt Serverless viele Vorteile. Einer davon ist, sich um die Infrastruktur praktisch gar nicht mehr kümmern zu müssen. Wie verändert Serverless in deinen Augen den Entwickleralltag?

Bei Serverless ist ‚Mehr Fokus auf das Wesentliche‘ das Schlüsselwort.

Vadym Kazulkin: Da man dadurch viele Ops-Aufgaben (Infrastruktur-Maintenance inkl. Plattformsicherheit, Skalierbarkeit) vom Provider erledigen lässt, und auch grundlegende Logging- und Monitoring-Funktionalitäten geschenkt bekommt, kann man sich auf die Businesslogik konzentrieren und mit wenigen Kollegen schneller mehr schaffen. Mehr Fokus auf das Wesentliche ist das Schlüsselwort.

JAXenter: Entwickler sind aber, gerade wenn man an DevOps denkt, nicht die einzigen, auf die sich das neue Modell auswirkt: Welche Folgen hat der Serverless-Ansatz für Operator/Admins?

Vadym Kazulkin: Die Entwickler sind mit Serverless in der Lage, sich um alle Aspekte der Softwareentwicklung (und dazu gehört auch Infrastructure as Code) selbst zu kümmern. Dadurch kann das Team Aufgaben bis zum Release und Betrieb end-to-end bearbeiten und ist durch reduzierte externe Abhängigkeiten schneller. Softwareentwickler müssen allerdings gleichzeitig viel Neues lernen (wollen) – auch die klassischen System-Administratoren müssen einiges neu lernen. Es gibt auch rund um Serverless genug Herausforderungen, gerade im Hinblick auf die Performanz oder Skalierbarkeit und Einschärnkungen, je Service, die man verstehen muss, um Entscheidungen herbeizuführen. Nur ein paar Beispiele: Wann nutze ich Kinesis und wann SQS, SNS oder sogar DynamoDB Streams? Wann rufe ich Lambdas von einem anderen Lambda auf und wann ist es ratsam, Application Loadbalancer, API Gateway oder SQS dazwischen zu platzieren. Ausführliches Monitoring, Alerting, Chaos Engineering und Game Days voranzutreiben, gehört ebenfalls dazu. Genau da sehe ich die Ops in der Verantwortung.

JAXenter: Simon Wardley hat die wilde These aufgestellt, dass Container und Kubernetes nur eine Randerscheinung in der Geschichte der Softwareentwicklung darstellen und bald schon komplett obsolet werden könnten, da Serverless – wie einst Software – die Welt verschlingt. Wie stehst du dazu?

Vadym Kazulkin: Ich glaube, dass Simon Wardley für die Cloud-Welt recht hat. Die einzige Frage ist, wann dies geschieht. Es gibt noch genug Einschränkungen wie Ausführungsdauer, Speicherverbrauch, Anzahl an parallelen Ausführungen etc., aber sie werden mit der Zeit geschwächt oder komplett verschwinden. AWS hat etwa schon mit Lambda Layers und dem Lambda Runtime API einige Weichen für die Zukunft gestellt. Es werden vermutlich hybrid-Technologien wie AWS Fargate eine große Rolle spielen, die zwar auf Containern basieren, mit denen aber der Entwickler abgesehen vom Erstellen der Docker-Datei mit Container nicht in Berührung kommt. Diejenigen, die wieso auch immer im Rechenzentrum bleiben oder eine Multi-Cloud-Strategie verfolgen müssen, werden auf Container- und Orchestrierungstechnologien nicht verzichten können, können aber FaaS on top nutzen. Mit TriggerMesh kommen gerade sehr interessante Technologien auf den Markt.

JAXenter: Bei Serverless geht es vor allem um die Skalierbarkeit und die damit verbundenen Kosten: Lohnt sich heute noch die Nutzung eigener Server oder ist das Preis-Leistungs-Verhältnis von Serverless unschlagbar?

Serverless ist noch nicht für alle Use Cases ausgereift, z.B. im ML/AI-Bereich.

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. 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.

JAXenter: Zum Abschluss vielleicht ein kleiner Blick in die Kristallkugel: Welche Rolle wird Serverless im Jahr 2020 spielen?

Vadym Kazulkin: Ich denke, dass Serverless immer mehr an Bedeutung gewinnen wird und noch viel stärker zum Einsatz kommt. Auch ganz neue Business-Modelle werden zukünftig dadurch ermöglicht werden – Strichwort: FinDev.

JAXenter: Auf der JAX 2019 hast du über die Ökonomie von Serverless gesprochen. Gibt es denn auch Situationen, in denen sich Serverless finanziell NICHT lohnt?

Serverless kann sehr teuer sein, wenn die Applikation API-getrieben ist.

Vadym Kazulkin: Serverless kann sehr teuer sein, wenn die Applikation API-getrieben ist. In AWS sind Lambda-Kosten nicht der größte Brocken, API Gateway ist viel teurer. Auch wenn die Applikation ein konstantes Lastverhalten hat, ist Serverless in der Regel sehr teuer. Jedoch ist der finanzielle Aspekt nur einer von vielen. Man muss, sollte Serverless für das Szenario passen, auf die Total Cost of Ownership gucken, bestehend aus der Wartung der Infrastruktur, Skalierbarkeit, dem Vorteil, weniger Code schreiben zu müssen und daher weniger technische Schulden zu haben. Außerdem benötigt man im Idealfall auch bei den schlanken Prozessen und unter Einsatz von Best Practices weniger Entwickler (was personelle Kosten reduziert). Somit kann das Unternehmen sich auf Business-Wert, Innovation und schnelleres Time to Market konzentrieren sowie höhere finanzielle Kosten für den Betrieb der Anwendung in Kauf nehmen.

JAXenter: Vielen Dank für das Interview!

Vadym Kazulkin is Chief Software Architect at ip.labs GmbH, a 100% subsidiary of the FUJIFLM Group based in Bonn. ip.labs is the world’s leading white label e-commerce software imaging software company. Vadym has been involved with the Java ecosystem for over fifteen years. His focus and interests currently include the design and implementation of highly scalable and available applications, container and orchestration technologies and AWS Cloud. Vadym is the co-organizer of the Java User Group Bonn and Serverless Bonn Meetup, and a frequent speaker on various meetups and conferences.
Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: