Care.com refactorise les monolithes en microservices avec l’observabilité de Splunk

Care.com Care.com

Avec pour objectif de centraliser la supervision et les données de télémétrie, Care.com avait besoin d’une solution d’observabilité capable d’offrir une visibilité granulaire afin de refactoriser son architecture monolithique et ses systèmes disparates en microservices.

Avec Splunk en tant que source de vérité et plateforme unique pour tous ses besoins d’observabilité, Care.com dispose maintenant d’une compréhension totale de l’ensemble de son environnement pour détecter et résoudre plus rapidement les erreurs, améliorer l’architecture des applications et accélérer la publication de fonctionnalités.

Comment mettre en relation des aidants de confiance avec les personnes qui en ont le plus besoin ?

C’est là qu’intervient Care.com, la première plateforme au monde pour trouver et gérer des soins familiaux de qualité. Reposant sur la volonté de « fournir des soins à tous ceux que vous aimez », ce marché bilatéral met en relation des aidants agréés avec ceux qui recherchent des soins pour les enfants, les personnes âgées, les animaux de compagnie et plus encore. Care.com propose même des services d’aide fiscale et administrative pour faciliter les démarches légales associées à la rémunération des aidants par les particuliers employeurs.

Dans plus de 20 pays, des millions de familles et de soignants font confiance à Care.com : la plateforme doit donc être disponible, évolutive et fiable 24h/24. Après l’acquisition de Care.com par IAC au début de 2020, la priorité immédiate de l’organisation était de moderniser et centraliser la pile et l’infrastructure de Care.com, ce qui impliquait de décomposer des monolithes vieux de 13 ans en microservices agiles.

Pour assurer le succès de cette démarche, Care.com avait besoin d’une solution d’observabilité puissante qui pourrait fournir une visibilité sur son architecture, identifier efficacement les problèmes et fournir suffisamment de flexibilité pour faire des expérimentations. C’est pourquoi l’équipe s’est tournée vers Splunk Observability Cloud.

Transformer les données en actions
  • Accélération du délai moyen d’investigation et de résolution des incidents d’une heure ou plus à moins de 10 minutes
  • Meilleure visibilité sur une infrastructure cloisonnée complexe et dépannage simplifié grâce à un traçage haute- fidélité et à l’absence d’échantillonnage
  • Les développeurs peuvent maintenant publier les fonctionnalités dans les délais, plus fréquemment et en toute confiance
Splunk Observability Cloud demo
Téléchargez Splunk gratuitement ou découvrez la démonstration de Splunk Observability Cloud.

OpenTelemetry, une étoile polaire

La centralisation de l’infrastructure de Care.com offre des avantages qui s’étendent à toute l’entreprise, en augmentant l’évolutivité et en démantelant les silos, mais aussi en délivrant aux utilisateurs finaux une expérience flexible et éprouvée par des tests.

Pourtant, l’architecture de l’organisation, qui comprenait 13 ans de systèmes disparates hérités de nombreuses acquisitions, était un casse-tête complexe en soi. Pour parvenir à la comprendre afin de la métamorphoser en microservices, il fallait des techniciens de talent et des outils de premier ordre. Sean Schade, Architecte principal de l’équipe d’architecture de base de Care.com affirme : « L’observabilité fournie par Splunk était indispensable. L’une des premières choses que nous avons faites a été d’activer le traçage et la télémétrie pour comprendre comment les pièces de ce puzzle géant s’imbriquent ensemble. »

Cette expérience précoce avec OpenTelemetry a donné à Care.com un avantage certain lorsqu’il a fallu aborder un projet de cette ampleur et de cette portée. M. Schade déclare : « OpenTelemetry est l’une des étoiles polaires de notre architecture en raison des informations qu’elle fournit. Nous avons pu intégrer OpenTelemetry dans notre architecture dès le premier jour parce que nous avons Splunk, qui est le principal contributeur à OpenTelemetry et qui a une longueur d’avance sur ce sujet. »

OpenTelemetry a également aidé Care.com à établir des normes communes pour améliorer la collaboration, la démocratisation des données et la productivité entre les ingénieurs et les développeurs. M. Schade conclut : « Nous avons maintenant un format de données standard, ce qui permet de simplifier l’exportation et les intégrations. Nous n’avons pas besoin de nous tourner vers cinq fournisseurs différents avec cinq formats différents pour importer ces données ; nous avons tout au même endroit. »

Une plateforme pour des données haute-fidélité et des réponses plus rapides

La centralisation est vitale pour les équipes de Care.com, qui ont brillamment réussi en faisant de Splunk Observability Cloud leur plateforme unique pour tous leurs besoins d’observabilité.

M. Schade explique : « Voler à l’aveuglette entraîne des coûts illimités. Splunk facilite mon travail d’architecte en me permettant de comprendre le fonctionnement de notre système. Par nature, l’architecture en microservices est complexe, mais sans outil d’APM ou d’observabilité, vous pouvez vous retrouver bloqué pendant des heures et mobiliser d’innombrables ressources. Splunk Observability Cloud nous donne la visibilité dont nous avons besoin sur nos microservices, et nous permet de tout voir au même endroit en corrélant les informations, ce qui est très précieux. »

Matt Coddington, Directeur principal de l’Ingénierie DevOps, qui gère l’équipe DevOps de Care.com déclare : « Quand les systèmes deviennent plus complexes, vous commencez à poser des questions auxquelles vous ne pouvez pas répondre parce que vous avez oublié de collecter une certaine métrique, par exemple. C’est là qu’intervient l’observabilité moderne. Pour mon équipe, l’un des grands avantages de la plateforme Splunk est qu’elle gère très bien les infrastructures éphémères : nous pouvons donc observer les métriques qui accompagnent la mise en service et hors service des conteneurs et des serveurs. Splunk Observability Cloud capture tous les logs, métriques et traces d’une manière qui nous permet de comprendre tout événement survenant sur notre plateforme, de poser des questions et d’obtenir des réponses. »

Cela fait longtemps que Care.com s’efforce de capturer toutes ces données, mais c’est le traçage haute-fidélité de Splunk qui l’a rendu possible. M. Schade explique: « Il vous faut 100 % de vos données pour que l’observabilité soit efficace. Je ne sais pas comment on peut rivaliser avec l’absence d’échantillonnage de Splunk. C’est le plus gros défaut de tous les produits APM que j’ai utilisés au cours des sept ou huit dernières années. »

Splunk Observability Cloud capture tous les logs, métriques et traces d’une manière qui nous permet de comprendre tout événement survenant sur notre plateforme, de poser des questions et d’obtenir des réponses.
Matt Coddington
Senior Director of DevOps Engineering, Care.com

Splunk APM accélère le dépannage et la publication de fonctionnalités

Grâce à Splunk Observability Cloud, Care.com a amélioré son temps moyen d’identification et de résolution des problèmes. S’il fallait parfois une heure ou plus pour corriger un problème avant Splunk, la détection et la correction se font désormais en quelques minutes grâce à des fonctionnalités uniques de Splunk APM telles que Tag Spotlight. M. Coddington affirme : «Tag Spotlight est un atout énorme pour le dépannage, car il permet de filtrer différentes dimensions en temps réel pour répondre aux questions sur les erreurs et les latences.»

L’une de ces questions s’est posée lorsque l’équipe de Care.com a constaté d’énormes pics de temps de réponse à des moments précis de la journée, sur des pages spécifiques du site. M. Coddington et son équipe se sont appuyés sur Splunk APM pour comprendre quelles parties du système étaient submergées et quel était leur point commun. Après avoir découvert que le coupable était les notifications push mobiles silencieuses, l’équipe a travaillé avec son fournisseur pour imposer des limites et reprendre ses activités comme d’habitude.

Les données haute-fidélité se sont avérées particulièrement précieuses lorsque Care.com a cherché à publier de nouvelles fonctionnalités lors de la rentrée de l’organisation, à l’automne dernier. M. Schade explique : « Nous avions un délai serré, une toute nouvelle architecture et de nombreuses nouveautés ; c’était notamment la première fois que nous allions publier quoi que ce soit sur Kubernetes et utiliser les services GRPC. Je ne pense pas que nous aurions pu publier nos fonctionnalités sans Splunk APM, car nous n’aurions pas pu savoir si le produit était opérationnel ni résoudre les problèmes imprévus. »

Des temps de chargement plus courts pour des processus utilisateur plus fluides

Que ce soit pour aider les familles à trouver des soins ou pour mettre en place un calendrier de paie, Care.com cherche à offrir une expérience utilisateur exceptionnelle à chaque étape. Splunk Real User Monitoring (RUM) supervise l’application d’inscription de Care.com, ce qui permet à l’équipe de mesurer les performances de l’intégralité des transactions, du navigateur web en front-end aux dépendances des services de back-end. Elle a ainsi pu identifier des défauts de performance sur certaines pages et corriger les dépendances tierces qui en étaient responsables.

M. Schade déclare : « Nous pouvons désormais corréler les traces back-end de l’APM avec les traces front-end de RUM. C’est un atout considérable parce que c’est notre chaînon manquant. C’est très éclairant : nous avons ainsi mis au jour des inefficacités cachées que nous sommes maintenant en mesure de corriger. »

Le prochain objectif de l’équipe est d’appliquer Splunk RUM à davantage de flux de l’entreprise afin d’optimiser encore plus les temps de chargement des pages et d’améliorer l’expérience des utilisateurs. M. Schade détaille : « Les fonctions métier nous posent beaucoup de questions, elles veulent savoir d’où viennent les utilisateurs ou combien de temps ils restent sur une page. Nous sommes impatients d’utiliser RUM pour répondre à ces questions. » M. Coddington abonde : « Splunk RUM fait le lien avec toute la télémétrie dont nous disposons, et c’est une fonctionnalité très importante. »

Care.com a géré une demande accrue pendant la pandémie de COVID-19, mais la plateforme s’attend à une autre année de forte croissance et de demande. En plus d’achever la centralisation, Coddington vise une multiplication par dix de la fréquence des publications. Pour y parvenir, ses équipes DevOps utiliseront Splunk pour visualiser les problèmes au fur et à mesure qu’ils surviennent, configurer des alertes automatiques et suivre les événements de publication de versions au fil du temps. À chaque nouvelle version, les équipes s’appuieront également sur la fonction de suivi en direct de Splunk Log Observer pour voir, en temps réel, si un service ne fonctionne pas correctement.

M. Schade déclare : « Le partenariat entre Splunk et Care.com est vraiment productif. Splunk nous a aidés à atteindre de nombreux objectifs avec notre architecture, parfois plus rapidement que prévu. Nous n’aurions pas pu le faire autrement, et nous attendons la suite avec impatience. »

Je ne pense pas que nous aurions pu publier nos fonctionnalités sans Splunk APM, car nous n’aurions pas pu savoir si le produit était opérationnel ni résoudre les problèmes imprévus."
— Sean Schade, architecte principal, Care.com
Secteur d’activité: Services en ligne
Allez plus loin avec Splunk