Créé à Berlin en 2011, Delivery Hero est une plateforme de commande de repas en ligne qui a enregistré une croissance astronomique et qui est aujourd'hui le plus grand service de ce type en dehors de la Chine. Avec plus de 250 000 restaurants partenaires, opérant dans plus de 40 pays en Asie, en Europe, au Moyen-Orient et en Amérique, Delivery Hero traite plus de 2 millions de commandes par jour.
« En 2013, lorsque j'ai rejoint l'équipe, foodpanda, l'une des nombreuses marques de Delivery Hero, recevait quelques centaines de commandes par jour. Aujourd'hui, nous servons plusieurs centaines de milliers de commandes par jour et nous continuons de croître de plus de 100 % par an. » -Mathias Nitzsche, VP de l'ingénierie, Delivery Hero
Avec ce type de croissance, la capacité d'évoluer essentielle. Mais pour y arriver, Mathias Nitzsche et son équipe avaient besoin de voir clairement ce qui se passait sur toute l'infrastructure et les applications.
Il explique : « Pour nous, la rapidité n'est pas aussi importante que l'évolutivité, et l'évolutivité n'est rien sans visibilité. Il est impossible d'exécuter une plateforme comme la nôtre sans visibilité. »
Aujourd'hui, l'organisation Delivery Hero compte plus de 1 000 développeurs sur plus de 15 plateformes. Pandora (le nom interne de la plus grosse plateforme), se trouve derrière foodpanda, foodora et quelques autres marques.
Une visibilité significative pour guider l'excellence de l'entreprise
Pour obtenir des informations précieuses sur son activité, Delivery Hero a compté sur New Relic depuis plusieurs années. Après avoir adopté New Relic pour réaliser le monitoring de la disponibilité et les performances des applications, l'entreprise a depuis étendu son utilisation de la plateforme pour assurer le monitoring des indicateurs clés de performances (KPI) — du nombre de restaurants requis par zone, aux commandes par plateforme et par pays, en passant par les taux de remboursement des paiements par prestataire de paiement, entre autres.
Selon Mathias Nitzsche, les dashboards sont le composant le plus critique et toutes les équipes Delivery Hero comptent dessus pour comprendre les performances de leurs plateformes. Avec plus de 500 applications New Relic à superviser, Mathias Nitzsche explique : « personne n'a le temps de plonger dans le détail d'une application particulière », c'est pourquoi il utilise les dashboards pour comprendre les centaines d'applications. Quelques dashboards inter‑applications lui permettent d'avoir une vue de haut niveau de ces applications et l'aident à faire le suivi des métriques métier telles que le nombre de commandes traitées globalement et le nombre d'erreurs trouvées dans leurs applications.
Et Mathias Nitzsche de préciser : « Sans les dashboards, notre monitoring serait moitié moins utile. Les dashboards rendent New Relic remarquable. »
En outre, Insights étant connecté à chaque produit sur la plateforme New Relic, les ingénieurs peuvent voir les données en streaming et les suivre avec l'APM, pour une analyse, une segmentation et un filtrage plus en profondeur au sein des dashboards.
New Relic fournit à la fois la focalisation pointue et les vues d'ensemble dont l'équipe de Mathias Nitzsche a besoin. Selon lui : « Nous avons plus d'une centaine de dashboards créés par les ingénieurs, les équipes d'assurance qualité et les responsables de produits, qui s'affichent sur de nombreux écrans partout dans nos bureaux. Ces dashboards fournissent des informations granulaires sur une plage d'indicateurs métier, affichant les informations les plus importantes à tout moment.
D'un système monolithe aux microservices et aux DevOps
Sans surprise, l'infrastructure informatique de Pandora a subi une énorme transformation. Pour mieux s'adapter à la croissance de son activité, l'équipe derrière Pandora a migré son infrastructure et est passée d'une plateforme monolithique à une architecture de microservices exécutée sur Amazon Web Services (AWS).
L'équipe de Mathias Nitzsche a non seulement utilisé New Relic pour faire le monitoring en temps réel de la migration des microservices, mais elle continue de l'utiliser pour le monitoring des migrations de nouvelles acquisitions, ou d'autres plateformes régionales vers sa plateforme internationale. Par exemple, l'entreprise a récemment migré ses applications finlandaises et suédoises vers la plateforme internationale pour que les équipes qui servent ces pays puissent mieux profiter des principaux services Delivery Hero tels que la recherche, les paiements et l'infrastructure. Pour ces migrations et déploiements, elle utilise New Relic pour monitorer des éléments comme la rapidité, le nombre de requêtes et d'erreurs, et les requêtes de base de données. « On double le trafic lors de certains de ces déploiements et on a besoin de voir le comportement », confie Mathias Nitzsche.
Toutefois, la migration d'origine vers les microservices s'est avérée des plus complexes. Là où autrefois il y avait un seul référentiel pour la plateforme Pandora, l'équipe de Mathias Nitzsche en gère désormais des centaines éparpillés entre des douzaines de microservices exécutés dans leurs clusters Kubernetes.
Et ces changements apportés à la plateforme signifient qu'il y a des changements pour les équipes aussi. Aujourd'hui, Delivery Hero est une véritable entreprise DevOps partagée en équipes interfonctionnelles. Au lieu d'être structurées par fonctions informatiques, elles sont structurées selon les services qu'elles gèrent. Par exemple, il y a notamment une équipe pour les paiements, une équipe pour le passage à la caisse, et une équipe de recherche et découverte. Chaque équipe supervise la conception de ses propres produits, le développement du frontend et du backend et ses propres ressources d'infrastructure.
D'après Mathias Nitzsche, cette transformation a aidé Delivery Hero à faire évoluer les équipes d'ingénieurs et en conséquence la culture des DevOps s'est épanouie. Toutes les équipes sont maintenant interfonctionnelles et se concentrent sur les besoins directs de l'entreprise.
« Nous avons mené de nombreuses sessions pour montrer ce que faisaient les autres équipes en termes de monitoring et à regarder au-delà des erreurs. Nous pouvons ensuite utiliser ces informations pour accélérer les processus et la prise de décision. » -Mathias Nitzsche
Sa priorité en 2020 était d'augmenter massivement la taille de l'équipe d'ingénierie et de passer à plusieurs centaines d'ingénieurs. Mais ce n'était pas seulement une question de nombres ; il avait besoin d'ingénieurs avec le bon état d'esprit. Les ingénieurs avaient besoin d'utiliser New Relic pour créer des alertes et des dashboards au fur et à mesure qu'ils codaient et non pour simplement réagir lorsque quelque chose tombait en panne. La mise en place systématique des données de l'entreprise était vitale dans la promotion d'une culture DevOps.
Des révélations enrichissantes
Les dashboards ont aidé Delivery Hero à connecter les métriques techniques à l'optimisation des coûts. « Nombreux sont les outils qui fournissent beaucoup de données télémétriques techniques, mais New Relic peut les connecter avec les métriques et les coûts », confie Mathias Nitzsche
Pour lui, un autre avantage très important de New Relic est que cela lui permet de voir la consommation d'infrastructure de l'équipe et d'utiliser ces données pour optimiser son environnement. En fait, sa plus grande révélation a été qu'il pouvait utiliser New Relic pour optimiser la taille du cluster Kubernetes de Pandora.
Avant New Relic, il lui était difficile de savoir quelles applications consommaient quelles ressources de clusters. Par exemple, en juillet 2018, l'application la plus importante de Pandora utilisait 700 000 unités de calcul distribuées ; mais après son monitoring avec New Relic, l'équipe a pu l'optimiser pour passer à seulement 200 000 unités, soit une réduction de 71 % en ressources coûteuses !
« Sans New Relic, nous n'aurions pas su par où commencer. Nous utilisons désormais moins de la moitié des unités de calcul que par rapport à l'année dernière. Cela a été une révélation très enrichissante en termes de visibilité sur notre consommation AWS. » - Mathias Nitzsche
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.
Nombreux sont les outils qui fournissent beaucoup de données télémétriques techniques, mais New Relic peut les connecter avec les métriques et les coûts.
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."