Giant-Swarm-CTO Timo Derstappen über die Vorzüge von Microservices: „Keiner kann alles weg- werfen und neu bauen“
t3n Magazin: Timo, auf eurer Website versprecht ihr Entwicklern „Superkräfte“ dank Microservices. Was sind Microservices und warum gelten sie als die bessere Softwarearchitektur?
Timo Derstappen: Da kommen einige Dinge zusammen. Zum einen wollen seit einigen Jahren alle agil entwickeln. Mit unabhängigen Feature-Teams, die viele Fähigkeiten vereinen und sich nicht gegenseitig blockieren. Bei meiner letzten Firma Adcloud, in der wir Technologien für zielgruppenspezifische Online-Werbung entwickelt haben, war genau das unser Thema: Als wir Adcloud 2011 an die Deutsche Post verkauften, hatten wir einen Monolithen, der funktionierte, aber plötzlich hohe Anforderungen an die Skalierung. Wir haben neue Entwickler eingestellt und mussten bei den Prozessen und der Organisation deutlich flexibler sein. Wir mussten also den Monolithen auseinanderziehen. Das hat uns vor neue Herausforderungen gestellt, insbesondere was die Pflege der Infrastruktur für unsere neuen Microservices anging. So ist Giant Swarm entstanden.
Timo Derstappen: Dabei haben wir gemerkt, dass so ein Service vielen Firmen helfen würde. Denn im Prinzip geht es allen Startups, die wachsen, irgendwann so wie uns damals, zum Beispiel Soundcloud oder Spotify: Die hatten auch ihre Monolithen und irgendwann ging das nicht mehr. Aber man muss gar nicht erst mit einem Monolithen anfangen, wenn man direkt eine Infrastruktur nutzen kann, die den Umgang mit Microservices vereinfacht. So können sich die Entwickler auf das eigentliche Produkt konzentrieren und die Firma schneller auf Innovationen reagieren.
t3n Magazin: Welche Herausforderungen kommen auf Unternehmen zu, die auf die Microservice-Achitektur umsteigen möchten?
Timo Derstappen: Niemand kann alles wegwerfen und neu bauen. Wir entwickeln heute iterativ, also löst man nach und nach die einzelnen Teile aus. Weil man in Monolithen die Datenbanken und Funktionalitäten oft nicht sauber trennt, gibt es dabei schon viele Herausforderungen. Zusätzlich haben Entwickler heute viele Freiheiten bei der Auswahl von Datenbanken, Programmiersprachen et cetera. So entsteht oft ein Zoo verschiedener Technologien. Die Herausforderung heißt dann: Wie kann ich dem Team wieder die Verantwortung für den Betrieb geben? Nach dem Motto „You build it, you run it“.
t3n Magazin: Wie können Container-Technologien wie Docker beim Einstieg oder Umstieg helfen?
Timo Derstappen: Container gab es im Endeffekt schon vorher, Docker hat sie aber in einen Entwickler-Workflow integriert – daher auch der große Hype. Bauen ist mit Docker auf Geschwindigkeit optimiert. Entwicklungsschritte sind gecacht und nur der veränderte Schritt muss noch ausgeführt werden. Dadurch ist alles sehr schnell, auch das Starten. Den gleichen inkrementellen Mechanismus gibt es, wenn ein Entwickler etwas geändert hat. Dann lädt man auch nur das veränderte Element herunter, so wird Transferieren extrem schnell. Das ist wichtig und macht dem Entwickler Spaß. Dazu kommt, dass der Docker-Container dann überall gleich läuft, die einzige Abhängigkeit ist Docker.
t3n Magazin: Wie kann euer Produkt Giant Swarm beim Einstieg in Microservices helfen?
Timo Derstappen: Generell entfernen wir Komplexität für die Entwickler. Sie ist nicht weg, aber wandert in die Infrastruktur. Wir haben bei Adcloud damals festgestellt, dass wir zehn bis 15 Prozent des Teams für die Infrastruktur gebraucht haben. Das waren alles gute und fähige Entwickler, die wir lieber für die Arbeit am Produkt eingesetzt hätten. Also haben wir gesagt: „Wir automatisieren unsere Infrastruktur und bauen das selber“.
Timo Derstappen: Das kann aber nicht jedes Unternehmen aus sich heraus stemmen. Wenn man auf der DockerCon die Job-Postings anschaut, waren es letztes Jahr 4.000, dieses Jahr schon 45.000 Jobgesuche. Wo sollen die Leute also herkommen? Zudem ist es sehr teuer, dieses Know-how intern aufzubauen – und risikoreich, weil die Technologien noch sehr neu sind. Daher wollten wir den Unternehmen diese Schmerzen abnehmen und das Ganze als Infrastruktur-Service anbieten. Mit Giant Swarm ist es einfach, die erste eigene Anwendung zu starten. Bausteine aus der Plattform lassen sich dann später gegen eigene austauschen. Die Entwickler haben also einen einfachen Start, aber dennoch die volle Flexibilität.
t3n Magazin: Für welche Zielgruppe ist Giant Swarm gemacht?
Timo Derstappen: Am Anfang haben wir uns an Firmen mit unter 100 Entwicklern gerichtet – die Phase, die wir selbst durchlaufen haben. Es hat sich aber schon früh abgezeichnet, dass der „Grassroots“-Ansatz etwas zu niedrig angesetzt war, weil sich sehr schnell sehr große Firmen bei uns gemeldet haben. Wir haben überhaupt nicht damit gerechnet, dass so schnell auch Multimilliarden-Konzerne auf uns zukommen und sagen würden: „Wir brauchen eure Technologie.“ Deswegen richten wir uns jetzt neben Startups in der Skalierungsphase auch an Großunternehmen, die feststellen: „Wir haben eine bimodale IT – einerseits Legacy-Systeme, anderseits unabhängige Teams, die coole Sachen entwickeln.“ Denen wollen wir ihre Freiheit geben. Was könnte die ideale Plattform dafür sein?
t3n Magazin: Wie sieht die Arbeit mit Giant Swarm in der Praxis aus – mal simpel ausgedrückt?
Timo Derstappen: Bei Docker gibt es „Docker Compose“ , ein Tool, um Multi-Container-Applikationen zu definieren und mit Docker laufen zu lassen. Das funktioniert auf deinem Laptop. Wir haben ein ähnliches Format, aber für Serverumgebungen. In einer JSON-Datei werden Service-Definitionen, üblicherweise swarm.json genannt, definiert. In der Datei werden der Name des Services und ein Set von Komponenten deklariert. Zudem sind Informationen über die Abhängigkeiten zwischen den Komponenten und Skalierungsstrategien enthalten. So hat man in Giant Swarm eine Deklaration seiner kompletten Infrastruktur. Der Nutzer kann das Projekt, das er auf seinem Laptop hat, auf einmal skalieren – ohne etwas an seinen Containern ändern zu müssen. Wir kümmern uns also darum, die Container zu verteilen, machen sie auffindbar und überwachen sie für den Nutzer.
t3n Magazin: Werden monolithische Software-Architekturen bald ganz verschwinden?
Timo Derstappen: Ich bin nicht gerne so dogmatisch. Es gibt immer noch Use-Cases, in denen Monolithen passen. Das mag dann vielleicht ein spitzer Use-Case sein, aber „Monolith-first“ kann durchaus noch sinnvoll sein. „Verschwinden“ ist also zu hart ausgedrückt. Wir sind aber gebrannte Kinder und wissen, welche Probleme es mit Monolithen gibt. Microservices sind auch nur ein Pattern unter vielen, aber meiner Meinung nach passt es sehr gut zum agilen Ansatz und es ist ein reizvolles Komplettpaket.
t3n Magazin: Wie sieht die Zukunft für Entwickler vor dem Hintergrund dieser Infrastruktur-Trends aus?
Timo Derstappen: Was ich spannend finde ist, dass wir uns langsam dahin bewegen der Komplexität Herr zu werden. Du hast heute smarte Teams, und eine Infrastruktur sollte ihnen keine Schranken auferlegen, sondern vielmehr smarte Lösungen fördern.