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