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.“
Meaningful visibility to inform business excellence
To get valuable business insights, Delivery Hero relies on New Relic. Originally adopting New Relic to monitor application availability and performance, the company has since expanded its usage to monitor business-critical key performance indicators (KPIs)—from the number of restaurants requested per area, to orders per platform and country, to payment charge-back rates per payment provider.
Dashboards are the most critical component, says Mathias. All Delivery Hero teams rely on dashboards daily to understand performance. With over 500 applications to oversee, Mathias says, "nobody has the time to look through an individual application in any detail." Cross-application dashboards give the team a high-level view of applications and help track business metrics like the number of orders processed globally and the number of errors found in their applications.
"Without dashboards, our monitoring would be only half as useful. Dashboards is what makes New Relic beautiful," he says. And because this is connected to every product in the New Relic platform, engineers can stream and track data with APM, for deeper analysis, segmentation, and filtering within dashboards."
New Relic provides both the narrow focus and broad overviews Mathias’ team needs. "We have more than one hundred dashboards created by engineers, QAs, and product managers, shown on many screens all over the office," he says. These dashboards provide granular insight into a range of business indicators, displaying the information that matters most at any given time.
Es gibt eine ganze Reihe von Tools, die technische Telemetriedaten liefern. Aber New Relic verknüpft diese zusätzlich mit Business-Metriken und Kosteninformationen.
From monolith to microservices to DevOps
Pandora's IT infrastructure has also undergone a tremendous transformation. To better support business growth, the Pandora team migrated their infrastructure to a microservices architecture, running on Amazon Web Services (AWS).
Mathias' team used New Relic to monitor its microservices migration in real time. The team continues to use New Relic to monitor other migrations from new acquisitions, or migrations from various regional platforms to its global platform. For example, the company migrated its Finnish and Swedish applications to the global platform so the teams serving those countries could better leverage core Delivery Hero services like search, payments, and infrastructure. During these rollouts, teams use New Relic to monitor things like speed, number of requests and errors, and database queries. "You double the traffic in some of these rollouts, and you want to see how it behaves," Mathias says.
Mathias' team now manages hundreds of repositories spread across dozens of microservices running in their Kubernetes clusters.
Today, Delivery Hero is a true DevOps company, split into cross-functional teams. Rather than being structured by IT functions, they’re structured according to the services they manage. For instance, there is a payment team, a checkout team, and a search and discovery team, among others. Each team oversees its own product design, its own frontend and backend development, and its own infrastructure resourcing.
This transformation has helped Delivery Hero scale the engineering teams, and as a result their DevOps culture has flourished, says Mathias. Now all teams are cross-functional and focused on the direct needs of the business. "We conduct a lot of sessions to show what other teams are doing in terms of monitoring and looking past errors," says Mathias. "We can then use that information to accelerate development processes and decision-making."
Eye-opening revelations
Dashboards has helped Delivery Hero connect technical metrics to cost optimisations. "Many tools provide a lot of technical telemetry," Mathias says, "but New Relic can connect that with business metrics and costs."
Mathias says another huge benefit of New Relic is that it allows him to view the team’s infrastructure consumption and then use that data to optimise their environment. Mathias' biggest revelation came when he realised he could use New Relic to optimise the size of the Pandora Kubernetes cluster. Before using New Relic, it wasn't easy to determine which applications consumed which cluster resources. For example, in July 2018, Pandora’s biggest app used 700,000 distributed compute units; but after monitoring it with New Relic, they optimised it to use only 200,000 units—that’s a 71% reduction in costly resources!
"Without New Relic, we wouldn’t have known where to start’, Mathias says. ‘We now use less than half of the compute units we used a year ago. It was an eye-opener in terms of how much visibility we could get into our AWS consumption."