Interview mit Marlon Alagoda

„Die Werkzeuge zur Entwicklung von Serverless-Anwendungen stecken noch in den Kinderschuhen“

Dominik Mohilo

Marlon Alagoda

Serverless is eating the world – wirklich? Fakt ist, dass der neue Ansatz aktuell sehr viel Beachtung hervorruft und aus dem aktuellen Diskurs um Trends und die Zukunft kaum wegzudenken ist. Im Interview zur JAX 2019 sprachen wir mit Marlon Alagoda von der Senacor Technologies AG über die Zukunft der Softwareentwicklung, Skalierbarkeit und – natürlich – welche Rolle Serverless dabei spielt.

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?

Marlon Alagoda: Ich verstehe unter Serverless „Functions as a Service“. Also den Dienst, den unter anderem Google, Amazon und Microsoft unter den Namen Google Cloud Functions, Lambda und Azure Functions zur Verfügung stellen. Diese Unternehmen betreiben zwar große Rechenzentren mit Servern, können die zur Verfügung stehende Rechenkapazität über diese Technologie aber bestmöglich nutzen.

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?

Marlon Alagoda: Die zur Verfügung stehenden Werkzeuge zur Entwicklung von Serverless-Anwendungen stecken noch in den Kinderschuhen, wie auch die Anwendungsfälle, in denen die Technologie verwendet wird.

Viele Aufgaben von klassischen Operator/Admins würden mit Serverless wegfallen.

Das fehlende Werkzeug macht das Entwickeln aktuell etwas mühsam. Es fühlt sich eher wie herumspielen an. Für viele Aufgaben, wie das automatische Testen und Deployen, gibt es noch keine etablierten Wege. Als Entwickler muss man da oft sehr kreativ sein.

Setzt sich die Technologie weiter durch, wächst die Community und gibt es mehr etablierte Werkzeuge, gehe ich schon davon aus, dass ein Teil der Komplexität an den Serverless-Anbieter abgegeben und Entwickler schneller neue Funktionalität bauen können.

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?

Marlon Alagoda: Viele Aufgaben von klassischen Operator/Admins würden wegfallen. Der Serverless-Anbieter sorgt dafür, dass die Anwendung immer erreichbar ist und weder zu wenig noch zu viel Rechen- und Speicherressourcen zur Verfügung stehen. Auch für Tracing, Debugging und Audits stellen die Anbieter Werkzeuge zur Verfügung, die auf einmal niemand mehr betreiben muss.

Serverless-Anwendungen helfen meiner Meinung nach dabei, einen DevOps-Ansatz noch leichter umzusetzen, bei dem gilt „You build it, you ship it, you run it“ und reine Operator/Admins obsolet zu machen.

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?

Marlon Alagoda: Naja – hinter einem AWS Lambda stecken ja auch Container-Technologien. Selbst wenn wir in Zukunft lachend auf die Zeit zurückschauen sollten, in denen wir noch selbst Kubernetes-Cluster betrieben haben, wird diese Technologie oder die Weiterentwicklung von dieser Technologie weiterhin zum Einsatz kommen, um Serverless-Dienste anbieten zu können. Heute stellt sich ja auch kaum jemand mehr einen Server in den Keller und trotzdem stehen irgendwo Server rum. Es handelt sich bei Serverless um eine weitere Abstraktion.

Was Simon Wardley in dem angesprochenen Interview mit Forrest Brazeal aber meint, ist, dass wir als klassische Softwareentwickler nicht mehr in Kontakt mit Container-Technologien kommen werden, sollte sich Serverless weiter durchsetzen und das kann ich mir auch gut vorstellen.

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?

Marlon Alagoda: Es gibt Anwendungsfälle, in denen sich eigene Server lohnen, und Anwendungsfälle, in denen sich Serverless eher rentiert. Serverless ist monetär dann besonders interessant, wenn man mit hohen Auslastungsspitzen umgehen können muss.

Es gibt nach wie vor Anwendungsfälle, in denen sich eigene Server lohnen.

Muss man zum Beispiel einmal am Tag Mustererkennung über ein mehrere Gigabyte großes Bild laufen lassen, ist das Anmieten eines Servers garantiert teurer als das Ausführen der Operation in einer FaaS. Auch wenn man den eigenen Server automatisiert und für nur wenige Minuten anmietet.

Ob für klassische Anwendungsfälle Serverless langfristig billiger sein wird als eigene Server, hängt davon ab, wieviel Arbeitsstunden man sich im Operations-Bereich wirklich spart und das wird die Zeit zeigen.

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

Marlon Alagoda: Ich hoffe sehr, dass die Technologie den Sprung vom gefühlten Spielzeug zum erwachsenen Werkzeug schafft. Die FaaS, die ich kenne, sind bereits sehr mächtig und ausgereift. Was es vor allem braucht, sind mehr Werkzeuge rund um die Technologie und meinungsstarke Communitys, die zeigen, wie man Serverless in einer Enterprise-Welt, also über das eigene Pet-Project hinaus, erfolgreich einsetzt.

JAXenter: Auf der JAX 2019 sprachen du und dein Kollege Jonas Holtkamp über skalierbare Infrastrukturen, insbesondere mit CQRS, Kubernetes und Eventstore. Kannst du vielleicht kurz erklären, was genau CQRS ist und warum das so wichtig ist?

Marlon Alagoda: Mein Kollege, Jonas Holtkamp, und ich haben eine Microservice-Architektur vorgestellt, die wir gemeinsam mit anderen Kollegen bei einem unserer Kunden erfolgreich etabliert haben.

Wenn man Systeme baut, die über eine klassische CRUD-Funktionalität hinausgehen, kann „Command Query Responsibility Segregation“ ein Software-Architekturmuster sein, das helfen kann, Software in komplexen Domänen richtig zu gestalten. CQRS funktioniert sehr gut in Event-getriebenen Systemen und Eventstore hat sich als Message-Broker-Technologie sehr bewährt. Außerdem zeigen wir, wie gut Kubernetes Microservice-Architekturen wie diese unterstützt.

All das hilft dabei, Teams unabhängig voneinander arbeiten zu lassen, die Zeit in Meetings zu minimieren, Erweiterungen und Umbauten von Software zu erleichtern und dabei Kosten zu sparen.

Nach einem Visual-Computing-Studium in seiner Heimat Wien hat Marlon Alagoda bei Start-ups und kleinen Unternehmen Node.js lieben gelernt. Seit Anfang 2017 hilft er im Namen der Senacor Technologies AG, deutsche Banken und Versicherungen technologisch ins 21. Jahrhundert zu befördern. Neben klassischen Digitalisierungsprojekten, bei denen Legacy-Systeme durch Microservices-Architekturen abgelöst wurden, hat er zuletzt bei der Ausgründung einer großen deutschen Bank mitgestaltet und -entwickelt.
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: