Interview mit Christian Bannes

„Mit Serverless verschwimmen die Grenzen zwischen Backend- und Frontendentwicklung immer mehr“

Dominik Mohilo

Christian Bannes

Kubernetes und Container sind ein Auslaufmodell. So lautet eine aktuelle These, die verdeutlichen soll, wie wichtig Serverless Computing mittlerweile ist. Im Interview zur JAX 2019 ordnet Christian Bannes diese These objektiv ein und erklärt welche Vorteile das Serverless-Paradigma für Entwickler bereithält. Außerdem gibt er einen kleinen Leitfaden, wann sich der Einsatz von Serverless-Technologien (finanziell) wirklich lohnt.

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?

Christian Bannes: Serverless bedeutet für mich Managed Services mit einem „pay-as-you-go“-Preismodell. Mit Serverless ist keine Server-Provisionierung, keine Skalierung oder Management von Servern mehr notwendig.

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?

Auch für Serverless-Applikationen ist es notwendig, die Infrastuktur zu provisionieren.

Christian Bannes: Zunächst einmal entfällt ein Teil der Arbeit, die bisher meist von einem separaten Operations-Team durchgeführt wurde. Dadurch entfällt natürlich auch der Abstimmungsbedarf zwischen diesen Teams erheblich. Aber auch für Serverless-Applikationen ist es notwendig, die Infrastuktur zu provisionieren. Dabei ist es nicht mehr sinnvoll, die Provisionierung und die Entwicklung in unterschiedlichen Teams zu organisieren. Auch wenn Automatisierung bereits heute schon für die meisten Entwickler zur täglichen Arbeit gehört, mit Serverless wird es zum Muss.

In der Applikationsentwicklung verschwimmen zudem die Grenzen zwischen Backend- und Frontendentwicklung immer mehr, sodass ein Ende-zu-Ende-Arbeiten und die damit einhergehende höhere Entwicklungsgeschwindigkeit möglich ist.

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?

Christian Bannes: Viele Aufgaben wie Skalierung und Hochverfügbarkeit, die bisher sehr kompliziert waren, fallen mit Serverless praktisch weg. Klassische Operations-Themen wie Monitoring bleiben aber erhalten und werden sogar noch wichtiger. Serverless-Applikationen sind immer verteilte, Event-basierte Anwendungen. Ohne ein vernünftiges Monitoring, Log-Aggregation und Tracing wird man schnell in Probleme laufen. Da Serverless aber auf absehbare Zeit VMs und Container nicht vollständig ersetzt, werden wir noch lange die Expertise unserer Admins benötigen.

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?

Christian Bannes: Der Trend bewegt sich eindeutig in Richtung Managed Services. Unternehmen können sich mit Serverless auf die Entwicklung der Kerndomäne konzentrieren, anstatt die Aufwände in den Betrieb eines Kubernetes Clusters zu stecken. Ich glaube allerdings nicht daran, dass Container und Kubernetes so bald von der Bildfläche verschwinden. Dafür gibt es einfach noch zu viele bestehende Applikationen, die sich nur mit einem großen Aufwand in ein Serverless-Modell übertragen lassen. Aber auch neue Anwendungen mit speziellen Anforderungen lassen sich aktuell nicht immer sinnvoll als Serverless-Applikation umsetzen, z.B. Machine-Learning-Anwendungen, die Zugriff auf die GPU benötigen.

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?

Der Trend bewegt sich eindeutig in Richtung Managed Services.

Christian Bannes: Serverless lohnt sich nicht für alle Szenarien. Das liegt vor allem daran, dass die Rechenzeit auf dem Server bei gleicher Performance im „pay-as-you-go“-Modell immer teurer ist als auf eigenen Servern oder auf einer VM in der Cloud. Bei konstant hoher Arbeitslast kann sich deshalb ein eigener Server oder eine VM immer noch lohnen.

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

Christian Bannes: Wenn man die Geschichte der Software-Entwicklung betrachtet, stellt man fest, dass sich nicht immer die beste Technologie durchsetzt. Einen erheblichen Anteil am Erfolg einer Technologie hat die Attraktivität bei Entwicklern. In Serverless-Applkationen lässt sich nicht immer alles so umsetzen wie auf eigenen Servern. Java ist z.B. meist nicht die erste Wahl, da die Java VM für Serverless-Applikationen nicht optimiert ist. Auch tolle und von vielen Entwicklern lieb gewonnene Frameworks wie z.B. Spring Boot machen einfach keinen Sinn mehr. Entwickler werden sich also umstellen müssen. Deshalb wird es noch etwas dauern, bis sich Serverless in den meisten Bereichen durchsetzt.

Und natürlich gibt es aktuell noch viele Applikationen, die in Unternehmen eine wichtige Rolle spielen, sich nicht so einfach in das Serverless-Modell übertragen lassen und daher noch über viele Jahre bestehen bleiben werden. Wir werden Serverless deshalb vor allem in neuen Projekten sehen.

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

Christian Bannes: Die Rechenzeit auf dem Server bei vergleichbarer Performance ist im „pay-as-you-go“-Modell, also in Serverless-Applikationen, immer teurer als auf einer VM in der Cloud. Serverless-Applikationen sind dennoch häufig günstiger, da man den Leerlauf nicht zahlen muss. Das bedeutet, dass sich Serverless finanziell nur bei schwankender Last mit viel Leerlauf lohnt. Man sollte dabei aber beachten, dass man nicht nur die Kosten für die Infrastruktur betrachten darf. Selbst wenn die Kosten für die Infrastruktur höher ausfallen, kann sich Serverless lohnen, da die Aufwendungen für Operations entfallen. Und die Kosten für Mitarbeiter sind in der Regel sehr viel höher als die Kosten für die Infrastruktur.

JAXenter: Vielen Dank für das Interview!

Christian Bannes arbeitet als Lead Developer bei der ip.labs GmbH und bewegt sich seit über zehn Jahren im professionellen Java-Enterprise-Umfeld. In den letzten Jahren beschäftigte er sich mit der AWS Cloud und insbesondere mit Serverless-Anwendungen. Ein besonderes Interesse hat er an verteilten Architekturen, Domain-driven Design und funktionaler Programmierung.
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: