Delivery Hero ist eine im Jahr 2011 in Berlin gegründete Online-Bestellplattform für Essenslieferungen. Seither hat das Unternehmen ein beachtliches Wachstum an den Tag gelegt und ist inzwischen der weltgrößte Anbieter seiner Art außerhalb Chinas. Zusammen mit seinen mehr als 250.000 Restaurantpartnern in über 40 Ländern in Asien, Europa, dem Nahen Osten und Amerika wickelt Delivery Hero täglich über 2 Millionen Bestellungen ab.
„Als ich 2013 zum Unternehmen stieß, hatte foodpanda, eine der vielen Marken von Delivery Hero, gerade mal ein paar hundert Bestellungen am Tag“, erinnert sich Mathias Nitzsche, VP Engineering bei Delivery Hero. „Heute handhaben wir Hunderttausende von Bestellungen am Tag und wachsen jährlich noch immer um mehr als 100 %.“
Angesichts solcher Wachstumszahlen steht die Skalierbarkeit ganz oben auf der Prioritätenliste. Aber dazu mussten Nitzsche und sein Team sich erst einmal einen zuverlässigen Überblick über das Geschehen in der gesamten Infrastruktur und in den Apps verschaffen.
„Für uns geht es nicht primär um Geschwindigkeit, sondern vielmehr um die Skalierbarkeit. Aber dazu ist Transparenz vonnöten“, so Nitzsche. „Ohne vernünftige Insights kann man eine Plattform wie unsere schlicht nicht betreiben.“
Im Engineering von Delivery Hero arbeiten heute über 1.000 Entwickler:innen an 15 Plattformen. Auf der größten Plattform, intern Pandora genannt, laufen foodpanda, foodora und ein paar weitere Marken.
Aussagekräftige Daten befeuern den Geschäftserfolg
Für die Beschaffung wertvoller betrieblicher Informationen verlässt sich Delivery Hero seit mehreren Jahren auf New Relic. Wurde New Relic im Unternehmen ursprünglich vor allem zum Monitoring der Anwendungsverfügbarkeit und -Performance eingesetzt, dient die Plattform heutzutage auch zur Beobachtung geschäftskritischer KPIs – von der Anzahl der pro Region angefragten Restaurants über die Bestellungen pro Plattform bis hin zu den Rückbuchungsquoten der einzelnen Zahlungsanbieter.
Dashboards sind für Nitzsche die wichtigste Komponente: Die Teams bei Delivery Hero nutzen sie tagtäglich, um sich aktuelle Informationen über die Plattform-Performance zu verschaffen. Bei über 500 New Relic Anwendungen, so Nitzsche, „ist es unmöglich, sich jede einzelne Anwendung im Detail anzusehen.“ Deshalb schätzt er die Dashboards mit ihren übersichtlichen Informationen zu den vielen Apps. Ein paar anwendungsübergreifende Dashboards bieten Nitzsche einen globalen Überblick über die betreffenden Anwendungen und erlauben ihm, Business-Metriken wie die weltweite Anzahl abgewickelter Bestellungen und die Anzahl an Fehlern in diesen Anwendungen im Auge zu behalten.
„Ohne Dashboards wäre unser Monitoring nur halb so effektiv. Die Dashboards sind bei New Relic wirklich das Sahnehäubchen“, so Nitzsche.
Und weil mit jedem Produkt in der New Relic Plattform auch Insights verknüpft ist, können die Engineers Daten mit APM streamen und nachverfolgen und sie dann innerhalb der Dashboards umfassend analysieren, segmentieren und filtern.
New Relic bietet alle Daten, die Nitzsches Team braucht: sowohl die granularen Details als auch den groben Überblick. „Unsere Engineers, QA-Spezialisten und Produktmanager haben insgesamt über Hundert Dashboards erstellt, die auf zahlreichen Bildschirmen im gesamten Büro zu sehen sind“, erklärt Nitzsche. Diese Dashboards liefern detaillierte Einblicke zu verschiedenen Business-Kennzahlen. So sind zu jedem Zeitpunkt die jeweils relevanten Informationen verfügbar.
Monolith zu Microservices zu DevOps
Die globale IT-Infrastruktur von Pandora hat sich natürlich über die letzten Jahre enorm gewandelt. Um mit dem Unternehmenswachstum mithalten zu können, wurde die Infrastruktur, auf der Pandora läuft, von einer Monolith-Plattform in eine Microservices-Architektur auf Amazon Web Services (AWS) migriert.
Das Team von Nitzsche hat New Relic aber nicht nur zum Echtzeit-Monitoring während dieser Migration genutzt, sondern setzt es auch weiterhin ein, beispielsweise bei Migrationen im Zuge neuer Akquisen oder bei der Migration einer regional genutzten Plattform zur globalen Plattform. Beispielsweise hat das Unternehmen kürzlich die finnischen und schwedischen Apps zur globalen Plattform migriert, damit die für diese Länder zuständigen Teams besseren Zugriff auf wichtige Services von Delivery Hero wie die Suchfunktionen, Zahlungsabwicklung und Infrastruktur haben. Bei all diesen Migrationen und Rollouts wird New Relic zum Monitoring verschiedener Aspekte genutzt, z. B. Geschwindigkeit, Anfragen- und Fehleranzahl oder Datenbankabfragen. „Bei manchen dieser Rollouts verdoppeln wir den Traffic, deshalb müssen wir natürlich wissen, ob das alles einwandfrei läuft“, erläutert Nitzsche.
Die Migration hin zu Microservices brachte allerdings auch eine enorme Komplexität mit sich. Die alte Pandora-Plattform hatte nur ein Repository. Jetzt muss Nitzsches Team sich um Hunderte von Repositorys kümmern, die über Dutzende von Microservices in ihren Kubernetes-Clustern verteilt sind.
Im Zuge dieser Plattformänderungen haben sich auch die Teams gewandelt. Heute ist Delivery Hero ein echtes DevOps-Unternehmen, das sich aus funktionsübergreifenden Teams zusammensetzt. Diese sind nicht nach IT-Funktion strukturiert, sondern anhand der Services, die sie managen. So gibt es unter anderem ein Zahlungsabwicklungsteam, ein Kassenteam und ein Search-&-Discovery-Team. Jedes Team ist für sein eigenes Produktdesign, die Frontend- und Backend-Entwicklung sowie seine Infrastrukturressourcen verantwortlich.
So konnte Delivery Hero die Engineering-Teams skalieren und eine erfolgreiche DevOps-Kultur etablieren, resümiert Nitzsche. Inzwischen gibt es nur noch funktionsübergreifende Teams, die sich ganz auf das konzentrieren, was das Geschäft jeweils voranbringt.
„Wir halten oft Sessions ab, in denen wir zeigen, wie andere Teams hinsichtlich Monitoring und Fehlerkultur vorgehen“, fährt Nitzsche fort. „Und anhand dieser Informationen können wir dann unsere Entwicklungsprozesse und Entscheidungsfindung beschleunigen.“
Für das Jahr 2020 sollte das Engineering-Team auf mehrere Hundert Mitarbeiter:innen vergrößert werden. Dabei geht es allerdings nie nur um Quantität, sondern das Unternehmen will Leute mit der richtigen Einstellung an Bord holen. Von Engineers wird erwartet, dass sie mit New Relic bereits beim Programmieren Alerts und Dashboards erstellen, statt nur auf Fehler zu reagieren. Die Unternehmensdaten systematisch in die Betriebsabläufe einzubeziehen, ist für eine erfolgreiche DevOps-Kultur wesentlich.
Unerwarteter Bonus
Dashboards haben Delivery Hero in die Lage versetzt, technische Metriken mit Kostenoptimierungsmaßnahmen zu verknüpfen. „Es gibt eine ganze Reihe von Tools, die technische Telemetriedaten liefern“, so Nitzsche. „Aber New Relic verknüpft diese zusätzlich mit Business-Metriken und Kosteninformationen.“
Laut Nitzsche hat New Relic zudem den enormen Vorteil, dass er die Auslastung der Infrastruktur durch das Team sehen kann und diese Daten dann zur Optimierung nutzen kann. Ein unerwarteter Bonus zeigte sich, als Nitzsche feststellte, dass er mit New Relic sogar die Größe des Pandora-Kubernetes-Clusters optimieren kann.
Vor dem Einsatz von New Relic ließ sich nur schwer herausfinden, welche Anwendungen welche Cluster-Ressourcen verbrauchten. Beispielsweise nutzte die größte Pandora-App im Juli 2018 700.000 verteilte Compute-Einheiten; nach dem Monitoring durch New Relic konnte sie auf eine Nutzung von nur 200.000 dieser kostspieligen Einheiten optimiert werden – eine Einsparung von 71 %!
„Ohne New Relic hätten wir überhaupt nicht gewusst, wo wir anfangen sollten“, so Nitzsche. „So nutzen wir jetzt, ein Jahr später, weniger als die Hälfte der Compute-Einheiten. Wir waren wirklich überrascht, wie transparent unser AWS-Verbrauch dank New Relic ist.“