Fruit de la vision d'un jeune analyste boursier de 27 ans, Joe Mansueto, convaincu de la nécessité d'ouvrir à tous l'accès aux informations utilisées par les experts financiers pour guider leurs clients, Morningstar a vu le jour en 1984 à Chicago. Fort de cette conviction et de seulement 80 000 USD d'investissement initial, le jeune financier a ouvert son entreprise dans son appartement et a embauché une petite équipe pour lancer son offre de recherche en placements pour tous. 

Aujourd'hui, Morningstar compte plus de 5 000 employés, opère dans plus de 27 pays, couvre plus de 600 000 investissements, et gère plus de 200 milliards de dollars (USD) d'actifs. Cette croissance a pu être atteinte en développant des produits et services qui connectent les gens aux informations de placements et aux outils dont ils ont besoin.

Pour une vitesse et une stabilité extrêmes : le serverless

Au cœur de tout se trouve le site Morningstar.com. Celui-ci sert de portail client ouvert sur les produits et services de la société. Ainsi, quand, en 2018, l'équipe technique de Morningstar.com a eu pour mandat de redévelopper le site avec le double objectif d'obtenir une vitesse et une stabilité extrêmes (et d'y arriver dans un délai de sept mois), elle a sauté sur l'occasion pour créer le système simple et transparent dont elle rêvait depuis longtemps.

Clay Gregory, Ingénieur informatique senior de Morningstar.com, nous l'explique : « Notre principale priorité était de développer un système simple. Nous sommes un site Web qui propose du contenu éditorial (nous proposons des outils que les investisseurs individuels utilisent pour comprendre les marchés et leurs propres placements). Notre activité ne présente pas de gros défis techniques. Pour cette raison, nous pouvons nous permettre de revenir à l'essentiel et d'y accorder la plus grande attention. Cela comprend une bonne visibilité sur le fonctionnement du système afin de pouvoir rapidement apporter des changements en comprenant pleinement leurs impacts. »

Quand l'équipe a reçu ce mandat, l'application Morningstar.com utilisait essentiellement un système de gestion de contenu (CMS) d'entreprise ainsi que des services backend hébergés dans une application Java pour apporter le contenu aux utilisateurs sur le site morningstar.com.

Toutefois, l'architecture précédente avait subi plusieurs pannes et revers importants, dont le manque d'évolutivité lors des pics de trafic, l'incapacité à rapidement trouver et déboguer les problèmes de performance et la lenteur des lancements de nouveaux produits et fonctionnalités.

Les exigences techniques de rapidité et de stabilité extrêmes ainsi que les schémas de pics inhérents au marché des placements étant non négociables, l'utilisation d'AWS Lambda s'est donc imposée comme une évidence.

Libérée des limitations de son ancien système, l'équipe de Morningstar.com a choisi de passer à une architecture serverless (avec AWS Lambda, API Gateway, S3, et CloudFront) connectée aux applications existantes et aux services internes pour assurer la rapidité, l'efficacité et les économies dont la société avait besoin. 

« Nous avons été surpris par la facilité et le faible coût final du passage à AWS Lambda. Après l'utilisation de services gérés et la lourdeur de déploiement de notre énorme application d'entreprise, nous étions vraiment enchantés d'obtenir des temps de déploiements aussi rapides. Nous avons un pipeline CI (intégration continue) bien rempli, et le fait de voir un changement passer de l'étape de développement à l'étape de production potentielle en 20 minutes est vraiment épatant. » -Zach Erdmann Ingénieur informatique senior, Morningstar

« L'une des grandes réussites du replatforming et l'une des raisons pour lesquelles nous renouvelons notre relation avec New Relic dans toute l'entreprise viennent du fait que nous pouvons regarder un grand écran pour voir tout ce qui passe sur Morningstar.com. S'il arrive quoi que ce soit au niveau des performances, nous le voyons dans les secondes qui suivent… Désormais, nous savons immédiatement quand les choses commencent à changer. »

-Zach Erdmann, Ingénieur informatique senior, Morningstar.com

Restructuration d'un stack archéologique d'entreprise

Comme dans la plupart des grandes entreprises qui ont déjà des applications existantes, Morningstar ne pouvait pas faire table rase en terme d'architecture. Avec une combinaison de services Java et .NET et d'API métier précédents, le développement d'une application complètement nouvelle en sept mois pour réinventer tout le système existant n'était pas une option.

Clay Gregory nous l'explique : « Nous sommes une entreprise qui interagit directement avec le public et nous avons une longue histoire derrière nous, pour cette raison, nous devons parfois garder certains éléments parce que les gens s'en servent encore, même si ces éléments ne sont pas une priorité de redéveloppement immédiat. En réalité, nous disposons d'une sorte de stack géologique composé de différents langages et applications et nous devons le garder actif. AWS Lambda est la glue qui retient tout ensemble. »

Clay Gregory et Zach Erdmann ont travaillé avec leurs équipes pour identifier et découpler les composants qui pouvaient être redéveloppés ou remplacés par des fonctions d'AWS Lambda. Pour établir la trame entre les services existants et les nouveaux services de Morningstar, Gregory et Erdmann se sont concentrés sur la programmation de fonctions qui apportaient la logique métier dans l'expérience utilisateur, les données du marché et des clients, et le contenu.

morningstar

Dans le cadre de sa nouvelle architecture, Morningstar utilise CloudFront pour livrer le contenu des compartiments S3 qui stockent des ressources de sites statiques, un site marketing d'entreprise supporté par un CMS, divers services internes, et des fonctions Lambda avec API Gateway pour livrer le contenu dynamique et les données d'événements utilisateurs. Avec un cache multiniveaux par défaut, CloudFront utilise des caches régionaux pour améliorer la latence et réduire la charge sur les serveurs d'origine de Morningstar. Côté backend, API Gateway est un composant évolutif crucial qui permet à Morningstar de traiter et d'acheminer les appels d'API simultanés pour déclencher des fonctions Lambda à l'échelle.

Le monitoring devient une priorité pour le serverless

Si autrefois la société utilisait différents outils de monitoring (dont New Relic Synthetics) pour régulièrement vérifier que le système fonctionnait correctement, ce processus avait été pensé et ajouté après-coup. Le stack lui-même était extrêmement opaque, ce qui signifiait que personne ne comprenait vraiment comment le système fonctionnait de bout en bout. 

Comme l'indique Zach Erdmann : « Quand nous utilisions la solution précédente, nous disposions du monitoring, mais c'était un élément secondaire. Ça ne faisait pas partie de notre pratique et ça ne faisait certainement pas partie de l'architecture intentionnelle. C'est pourquoi, lorsque nous avons commencé le replatforming de Morningstar.com, nous savions que nous voulions tout instrumenter afin de pouvoir comprendre notre application de fond en comble. »

Vitrine des offres de la société, le site Morningstar.com consomme des données, des outils et des services qui proviennent non seulement des différents segments de Morningstar, mais également de services tiers. En d'autres termes, si un utilisateur rencontre un problème sur Morningstar.com, son origine peut se situer très loin en amont.

Selon Clay Gregory : « New Relic nous a séduit parce qu'en termes organisationnels, nous avons un environnement très mixte. Notre équipe est sur le cloud, mais ce n'est pas le cas de l'ensemble de l'entreprise et nous avons besoin de toutes ces connaissances institutionnelles. Pour cette raison, il est très important pour nous de pouvoir connecter le monitoring sur tous les différents types de plateformes utilisés par nos collègues et nos partenaires, et obtenir ainsi la visibilité nécessaire. »

Grâce à New Relic, l'équipe de Morningstar.com peut visualiser, tracer et recevoir des alertes sur les fonctions Lambda, puis descendre au niveau de l'invocation pour rapidement déboguer ce qui ne marche pas comme prévu. Toutefois, dans un environnement qui comprend une grande variété d'applications, d'exécutions et d'API métier, Morningstar.com devait obtenir la visibilité sur tout l'écosystème, sans se limiter aux seuls composants serverless.

« L'une des grandes réussites du replatforming et l'une des raisons pour lesquelles nous renouvelons notre relation avec New Relic dans toute l'entreprise viennent du fait que nous pouvons regarder un grand écran pour voir tout ce qui passe sur Morningstar.com. S'il arrive quoi que ce soit au niveau des performances, nous voyons dans les secondes qui suivent d'où cela vient. Cela représente un énorme retournement de tendance par rapport à il y a seulement un an et demi quand il nous aurait fallu plusieurs jours, voire des semaines pour déterminer la cause du problème. Maintenant, nous savons immédiatement quand les choses commencent à changer. »

« Si quoi que ce soit se détraque, nous continuons d'avancer. Nous faisons confiance à nos processus. Nous faisons confiance à notre monitoring. Et nous restaurons le service en résolvant le problème sans devoir revenir en arrière. Grâce à New Relic, nous pouvons avancer face à un problème au lieu de reculer, et ça c'est vraiment positif. »

-Clay Gregory, Ingénieur informatique senior, Morningstar.com

Élimination des temps d'indisponibilité

Outre la réduction drastique du temps nécessaire pour trouver et résoudre les problèmes, Morningstar.com a pu quasiment éliminer les temps d'indisponibilité de son site. Si la société avait l'habitude de traverser une panne majeure par mois en moyenne, le site n'en a plus subi aucune depuis le replatforming il y a huit mois.

Clay Gregory le confirme : « Tous les mois, nous organisons une séance d'analyse de toute l'entreprise au cours de laquelle les chefs de toutes les équipes présentent et analysent les pannes importantes auxquelles ils ont dû faire face. Depuis le replatforming de Morningstar.com et le déploiement de New Relic partout, nous n'avons eu aucun incident majeur à signaler, ce qui en soit est une grande nouvelle, et même notre directeur technique chante les louanges de ce succès. »

D'après Clay Gregory, cela ne signifie pas que Morningstar.com a éliminé tous les problèmes, mais plutôt que son équipe peut désormais les trouver et les résoudre (ou les réacheminer à l'équipe qui peut les résoudre) longtemps avant qu'ils n'impactent les utilisateurs ou fassent planter le site.

Le fait de pouvoir compter sur ce type de monitoring a libéré l'équipe d'ingénierie de Morningstar.com et lui a permis de déployer de nouvelles fonctionnalités plus rapidement et de se concentrer sur l'amélioration de l'expérience utilisateur sur le site.

Comme nous l'explique Clay Gregory : « Nous sommes une petite équipe et nous ne pouvons pas nous soustraire à notre obligation d'assurer la fonctionnalité des produits. Et donc, moins nous passons de temps à résoudre les problèmes d'ingénierie, plus nous pouvons nous concentrer sur notre fonction première qui est de livrer des produits et de fournir des résultats concrets à nos utilisateurs. Notre rôle n'est pas d'assurer la maintenance de l'infrastructure, et avec AWS et le monitoring de New Relic, nous pouvons être sûrs de continuer comme ça. »

Lancement à 17 heures

Sûr de pouvoir détecter et résoudre les problèmes de manière proactive avant qu'ils n'impactent les utilisateurs, et fort du nouveau pipeline CI/CD (intégration et livraison continues), l'équipe de Morningstar.com a considérablement réduit le stress des lancements et nettement augmenté la rapidité des développeurs. 

Pour Clay Gregory : « Avant le replatforming et le déploiement du monitoring de New Relic sur tout le site, l'équipe d'assurance qualité passait une semaine à revoir les changements de code avant de déployer timidement une nouvelle version. Et même dans ce cas, nous ne le faisions qu'entre 21 heures et 23 heures, quand personne n'utilisait le site. Quand on compare cela à aujourd'hui, où nous lançons une nouvelle version à 17 heures et rentrons chez nous 10 minutes plus tard parce que nous savons que rien n'ira de travers, on prend vraiment conscience de tous les progrès que nous avons faits. »

Au cours des huit derniers mois depuis que le replatforming du site est passé en ligne, l'équipe n'a eu à revenir en arrière sur aucun déploiement. Au lieu de cela, Clay Gregory confirme que « si quoi que ce soit se détraque, nous continuons d'avancer. Nous faisons confiance à nos processus. Nous faisons confiance à notre monitoring. Et nous restaurons le service en résolvant le problème sans devoir revenir en arrière. Grâce à New Relic, nous pouvons avancer face à un problème au lieu de reculer, et ça c'est vraiment positif. »

Passage à la culture de l’observabilité

Pour Clay Gregory comme pour Zach Erdmann, l'un des aspects les plus surprenants et satisfaisants découlant du replatforming et du monitoring instrumenté a été le renforcement de la communication dans l'entreprise entre les équipes d'ingénierie et les équipes commerciales.

Les membres de l'équipe commerciale disposent des métriques relatives à l'usage des clients dans le monitoring de l'application et s'intéressent de plus en plus au rapport entre santé de l'application et santé de l'activité. « Notre monitoring New Relic crée un espace où les chiffres ne sont plus réservés aux seuls ingénieurs ; tout le monde y a accès, confie Zach Erdmann. Tout le monde consulte le dashboard et profite des informations qu'il nous livre. »

Un accès gratuit à New Relic. Pour toujours.

Surveillez votre stack gratuitement avec un accès à toute la plateforme et 100 Go d'ingestion par mois. Aucune information bancaire nécessaire.