Interview mit Holger Reinhardt

Serverless Java: „Docker und Kubernetes sind nur Brückentechnologien“

Dominik Mohilo

© Shutterstock / Svetlana Lukienko

Ist Serverless noch ein Hype oder schon wirklich in der Softwareindustrie angekommen? Und was genau ist Serverless eigentlich? Im Interview mit Holger Reinhardt, Technical Fellow bei der Haufe Group, das wir im Zuge der Veröffentlichung seines neuesten Artikels aus dem aktuellen Java Magazin machten, sprachen wir über seine Definition von Serverless. Zudem beantwortet unser Experte die Fragen, warum Docker und Kubernetes nur Brückentechnologien sind und welche Programmiersprache er im Serverless-Kontext bevorzugt.

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?

Holger Reinhardt: Für mich ist Serverless die erste wirkliche „cloud-native“ Softwarearchitektur.

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?

Es gibt meiner Ansicht nach nur drei ernstzunehmende industrielle Cloud-Anbieter: Amazon, Microsoft und Google.

Holger Reinhardt: Es gibt meiner Ansicht nach nur drei ernstzunehmende industrielle Cloud-Anbieter: Amazon, Microsoft und Google. Von denen hat Google sicherlich gerade in Europa das Handicap, eben „Google“ zu sein. Obwohl GCloud technisch durchaus mit AWS und Azure vergleichbar ist, hat Google einfach ein Reputationsproblem als ein Firma, die primär und überwiegend ihr Geld durch Werbung und das Sammeln sowie Verkaufen von Daten verdient. Dahingehend bleiben nur Amazon und Microsoft als Cloud-Anbieter in Deutschland. Von den beiden ist AWS sicherlich der innovativere Anbieter, aber Azure ist ein sogenannter „Fast Follower“. Für MSFT-Stack-basierte Anwendungen ist Azure vermutlich die beste Wahl, für alle anderen Anwendungen würde ich AWS empfehlen.

JAXenter: Wird Serverless an Bedeutung zunehmen, oder wird es eine Nische bleiben?

Holger Reinhardt: Ich glaube, dass Docker und Kubernetes (K8s) nur Brückentechnologien sind und Serverless das zukünftige Architekturparadigma im Software-as-a-Service- (SaaS) und Cloud-Bereich werden wird.

JAXenter: Du schreibst in deinem Artikel, dass Docker auf dem Weg zu Serverless eine Art „Brückentechnologie“ darstellt. Kannst du das etwas genauer erklären?

Holger Reinhardt: Docker (zusammen mit Kubernetes) hat uns erlaubt, aus einem VM-zentrischen und monolithischen Servermodell in eine distribuierte Service-Architektur zu skalieren. Allerdings sind die operationalen Komplexitäten von K8s im Produktivbetrieb sehr leicht zu unterschätzen. Wenn ich aber einmal meine Services in Docker habe, dann habe ich schon 70% des Weges zu Serverless geschafft. Der nächste Schritt, diesen Service dann Serverless laufen zu lassen, ist relativ klein. Aber ich kann damit die Kosten und Komplexitäten von Kubernetes eliminieren, die letztendlich nur eine Selbstbeschäftigung der IT ermöglichen und keinen Kundenmehrwert schaffen. Oder um es anders zu sagen: es gibt keinen kommerziellen Vorteil für ein Produkt, das auf einer besonders gut gemanagten K8s-Infrastruktur läuft. Also warum dann in ein Stück Infrastruktur investieren, das keinen Mehrwert bringt?

Serverless wird das zukünftige Architektur- paradigma im SaaS- und Cloud-Bereich werden.

Eventuell sollte ich aber noch einmal meine Begrifflichkeit nachschärfen. Ich bin ein großer Fan von Docker und habe vor fünf Jahren als CTO der Haufe.Group Docker bei uns eingeführt. Und ich habe immer noch den Gedanken im Hinterkopf, dass Serverless (speziell AWS Lambda) eigentlich meine Wunsch-Runtime für Docker wäre. Mein großes Problem mit Docker ist Kubernetes, das durch seine operationalen Komplexitäten durchaus vergleichbar mit denen eines klassischen Applikationsserver-Cluster-Managements ist und durch die Hintertür wieder den Produktentwicklungsprozess belastet.

JAXenter: Im Artikel setzt du ja einen Java-basierten Minecraft Server auf, der via AWS Lambda manipuliert wird. Die Lambda-Funktionen hast du in Python implementiert. Wo liegen die Unterschiede bei der Nutzung verschiedener Programmiersprachen mit AWS Lambda: Python, Java, JavaScript?

Holger Reinhardt: LOL – ja, auf die Frage habe ich ein Stück weit gewartet. Die Sprache meiner Wahl ist inzwischen ganz klar JavaScript. Und zwar nicht trotz der schwachen Typisierung, sondern genau wegen der schwachen Typisierung und der daraus resultierenden Flexibilität, Schnelligkeit und Robustheit. Genauso wie NoSQL Datenbanken mir eine deutlich höhere Flexibilität in der Weiterentwicklung meiner Applikationen geben, erlaubt mir Javascript besser mit sich über Zeit verändernden Datenstrukturen zu arbeiten. Und dazu noch die viel höhere Iterationsgeschwindigkeit inhärent in der Programmierung von interpretativen Sprachen.

Bei Python stehe ich noch sehr am Anfang und mein Interesse wird ganz stark aus der Machine Learning Ecke getrieben, in der ich in den letzten paar Jahren unterwegs bin. So wie Javascript die Sprache des Web’s ist, ist Python die Lingua Franca für ML.

Holger Reinhardt ist Technical Fellow bei der Haufe Group, einem der führenden Digitalen Medien und Softwarefirmen Deutschlands mit über 400 Millionen EUR Jahresumsatz in 2019. Davor war er CTO von adello.com, einem Maschinen-Learning Spezialisten im Bereich von mobiler Werbung und CTO der Haufe Gruppe. Holger hat über 25 Jahre Software Entwicklungserfahrung in den USA und Deutschland.
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

4
Hinterlasse einen Kommentar

avatar
4000
4 Kommentar Themen
0 Themen Antworten
0 Follower
 
Kommentar, auf das am meisten reagiert wurde
Beliebtestes Kommentar Thema
4 Kommentatoren
WolfgangBumoJungeAlex Letzte Kommentartoren
  Subscribe  
Benachrichtige mich zu:
Alex
Gast
Alex

Schade, dass die Verbindung zu Java nur im Titel vorkommt und auch nicht auf serverless Applikationen eingegangen wird, sondern nur sehr lange serverless erklärt wird. Schade.

Junge
Gast
Junge

Klassischer Fall der Verwechslung von Java und JavaScript?!

Bumo
Gast
Bumo

Wwo wird denn hier serrverless erklärt. Jetzt weiss ich trotzdem was genau das nun ist.

Wolfgang
Gast
Wolfgang

Naja jemand der JavaScript (und nicht Java wie im Clickbait Titel) für die beste Sprache für Server Seitige Anwendungen hält, kann man ja nicht erwarten, dass er Serverless erklären kann.

Toller Clickbait Journalismus hier.