Observability
Médias et divertissements

Gurunavi, Inc. : Analyse de grands volumes de données de log avec une grande efficacité opérationnelle et une fonctionnalité de recherche rapide

EN BREF

  • 50
    Types de bases de données
  • 50
    milliards de documents, volume total de données
  • 30 To
    taille de disque

À propos de Gurunavi, Inc.

Depuis la création en juin 1996 de Gurunavi, un site d’informations sur les restaurants, Gurunavi, Inc. a développé un large éventail d'activités visant principalement à fournir des renseignements sur les établissements de restauration et d'autres services similaires. En tant que pionnier et leader historique de ce secteur, Gurunavi comptabilise un total impressionnant d'environ 500 000 restaurants sur ses listes, 58 951 restaurants membres payants1, 61 millions d'utilisateurs uniques mensuels2 et 17,96 millions de membres3. La société fournit par ailleurs des services d'assistance de bout en bout, tels qu’une assistance en matière de technologies de l'information et de la communication (TIC) pour les restaurants, apportant ainsi une valeur ajoutée tant aux consommateurs qu'aux établissements de restauration eux-mêmes. Depuis 2018, Gurunavi a mis en place de nouveaux services pour attirer davantage de clientèle, notamment l'utilisation des réseaux sociaux, la mise en relation des identifiants des membres avec leurs identifiants Rakuten, ainsi que le service Gurunavi Pay permettant le paiement sans espèces dans les restaurants.

Les utilisateurs lambda connaissent surtout le service d'informations sur les restaurants de Gurunavi, qui peut être consulté via un smartphone ou un ordinateur, mais il ne s'agit que d'un fragment des services fournis par l'entreprise. Les services de Gurunavi, qui incluent notamment un service de grand livre pour la gestion de la clientèle et le service de multi-paiement Gurunavi Pay, visent tous à favoriser la mise en place d'environnements TIC dans les établissements de restauration. Il va sans dire que tout ceci est possible grâce à d’importants volumes de données de log.

1 : depuis le 30 septembre 2019. 2 : depuis le mois de décembre 2018. 3 : depuis le 1er octobre 2019.

Adoption d’Elastic pour réaliser les recherches rapides nécessaires à l'analyse de grands volumes de logs

Gurunavi est un précurseur au Japon dans le domaine des services en ligne fournissant des informations sur les restaurants et sur d’autres sujets. Pour assurer la gestion de ces services, la société a également très vite mis en place un environnement TIC de grande envergure. Ces systèmes produisant un grand volume de données de log, l’activité d’analyse nécessitait énormément de temps et de main-d'œuvre.

Toshiaki Iwamoto est le chef adjoint de la section d'ingénierie du service de développement de Gurunavi. Il évoque les circonstances de l'époque en ces termes :

"En 2016, Gurunavi disposait déjà de milliers de serveurs. Lorsqu'il y avait une panne ou qu'une maintenance était nécessaire, nous devions nous connecter directement au serveur concerné, rechercher le log avec la commande grep, le copier temporairement dans un environnement local à l'aide de la commande scp, puis résoudre le problème. Ce processus prenait plus d'une heure ; il nous était donc impossible de réagir en temps réel, sans compter que cela impliquait énormément de travail manuel et, par conséquent, un risque élevé de négligences et d'autres erreurs d'inattention. Nos systèmes et nos logs étant de plus en plus volumineux, il devenait urgent de trouver une solution pour faire face à cette charge de travail."

C’est à ce moment-là que Gurunavi a découvert deux produits de la Suite Elastic : Elasticsearch et Kibana.

La Suite Elastic permet d'effectuer des recherches rapides en temps réel dans plusieurs sources de données sans télécharger les données cibles dans un environnement local, grâce à l'utilisation d'un large éventail de composants produits fournis. Les services de la société s'étant multipliés et perfectionnés, les appels d'API entre applications sont eux aussi devenus de plus en plus nombreux. Les produits de la Suite Elastic répondaient de manière optimale aux besoins importants d’analyse de logs de Gurunavi. "À l'époque, il n'y avait absolument aucun produit sur le marché que l'on pouvait qualifier de concurrent ; nous avons opté pour Elastic parce que c'était le seul choix possible", a déclaré M. Iwamoto, de Gurunavi. Gurunavi a entièrement déployé Elasticsearch et Kibana en 2016.

Déploiement d'Elastic Cloud pour réduire la charge de travail liée aux mises à jour de versions

Fin 2018, plusieurs années après le déploiement, Gurunavi a commencé à utiliser AWS.

C’est à cette époque que Gurunavi a choisi de transférer certaines de ses licences Elastic, qui arrivaient à expiration, vers le cloud. La société s’est alors tournée vers le service Elasticsearch d'Elastic Cloud. L'objectif était d’implémenter la collecte et l'analyse des logs dans un environnement AWS, tout en réduisant la charge de travail opérationnelle de la mise à niveau Elastic.

"Certains utilisateurs voulaient pouvoir consulter les logs Cloudwatch AWS via la même interface Kibana de haute qualité qu'ils étaient déjà habitués à utiliser depuis 2018", a déclaré M. Iwamoto. "Nous avons comparé la collecte des données de log et d'autres fonctionnalités à celles des produits de la concurrence, et la solution Elastic Cloud s’est distinguée au niveau des coûts, des performances et de la mise à disposition permanente de la dernière version. Pour le déploiement, nous avons choisi d'utiliser Functionbeat et Ingest Node d’Elasticsearch."

L'autre priorité de Gurunavi était de réduire la charge de travail opérationnelle liée aux mises à niveau et aux tâches similaires. Il était essentiel d'éviter que ces tâches ne soient trop dépendantes des compétences d'une seule personne, puisque M. Iwamoto était le seul membre du personnel à posséder l'expertise technique requise. "Les fréquentes mises à jour de versions m’accaparaient énormément, car j’étais le seul à pouvoir m’en occuper. J'ai pensé que nous pourrions également résoudre ce problème avec Elastic Cloud."

(Toshiaki Iwamoto, Gurunavi)

C’est ainsi que Gurunavi s’est équipé d'un environnement Elastic exhaustif, à la fois sur site et via le cloud.

Recherche rapide de logs issus de l’ensemble des applications et périphériques réseau

Le système actuel de Gurunavi prend en charge les logs de l’ensemble des applications et des périphériques réseau, ce qui représente 50 types de bases de données et un volume total de 50 milliards de documents.

Dans le cadre de l'extraction des données, les données de log issues des clusters haute capacité sur site sont envoyées à Elasticsearch via Logstash, tandis que les données de log Cloudwatch de l'environnement cloud (incluant les conteneurs) sont transmises de Functionbeat à Ingest, comme indiqué précédemment. Les données S3 [Amazon] sont quant à elles communiquées à Elasticsearch via Logstash. Le fait de pouvoir monitorer l’ensemble des logs de manière transparente et transversale permet non seulement de résoudre les problèmes liés aux données, mais également d’utiliser ces dernières à des fins plus stratégiques.

"Gurunavi est un prestataire de services, ce qui signifie que nous utilisons un large éventail de langages. De plus, le type de données de log acquises dépend de la nature de l'application concernée, et il y a beaucoup d'index impliqués", a déclaré M. Iwamoto. "Les développeurs voulaient pouvoir disposer d’une vision transversale, y compris au niveau du cloud. Cela est désormais possible avec cet environnement Elastic exhaustif."

Dépannage rapide, réduction de la charge de travail opérationnelle et nouvelles utilisations des données

M. Iwamoto a commencé par évaluer les avantages de la Suite Elastic en se basant sur deux critères.

"Premièrement, il fallait auparavant plus d'une heure pour copier les données de log et les vérifier manuellement, et le fait que ces tâches aient été réduites à quelques secondes seulement a considérablement amélioré notre efficacité. L’ensemble du processus, depuis l'apparition d'un problème jusqu'à la conclusion de son analyse, s’en est trouvé accéléré, et sa précision nettement améliorée. Grâce à l'API fournie, les alertes de log sont envoyées à Slack ou Webhook, ce qui nous permet de réagir plus rapidement. En outre, Elastic Cloud peut être mis à niveau sans aucune interruption et sans nécessiter l’importante charge de travail qu'implique le passage à une autre version. Le fait que la dernière version soit toujours disponible est un autre avantage majeur. Auparavant, lorsque je gérais les mises à niveau presque entièrement seul en plus de mes autres tâches, il fallait environ cinq à dix jours, en incluant les analyses, pour effectuer une mise à niveau. Aujourd'hui, les mises à niveau se font très rapidement." (Toshiaki Iwamoto, Gurunavi)

Nous nous devons également de mentionner la contribution du système à la nouvelle stratégie de l'entreprise en matière de tourisme récepteur.

Par exemple, il est possible d'utiliser la Suite Elastic pour extraire des données de géolocalisation et visualiser l'emplacement des visiteurs du site. "Amazon Cloud Front est un service CDN dans AWS, et il est possible d'utiliser ses logs pour voir les données d'accès au site par pays", a déclaré M. Iwamoto. "Pourquoi avons-nous tant de visites depuis ce lieu ? Et pourquoi si peu depuis celui-ci ? Il est possible d'utiliser ces données pour soulever ce type de questions et de les examiner pour constater, par exemple, qu'il y a un problème avec un contenu ou un fournisseur de services. Sur la base de ces informations, nous pouvons prendre des mesures pour augmenter la vitesse de diffusion du contenu, choisir le bon moment pour lancer une campagne ou exécuter d'autres décisions de ce type qui sont extrêmement bénéfiques pour l'avenir de notre stratégie de tourisme récepteur."

Un autre élément qui a contribué à cette décision intuitive est la visualisation des données graphiques à l'aide de Vega. Une nouvelle fonctionnalité de Kibana 6.2 permet d'utiliser les données Elasticsearch avec Vega et Vega-Lite pour créer des visualisations riches. Grâce à ces visualisations, les utilisateurs peuvent obtenir une vue d'ensemble des informations extraites d’importantes quantités de données et les utiliser pour tirer des conclusions intuitives. Cette fonctionnalité est également utile aux personnes qui ne sont pas des spécialistes de l'informatique, comme le personnel des services de marketing ou de gestion.

M. Iwamoto résume ainsi les avantages de la mise en œuvre d'Elastic : "Avec nos environnements système complexes actuels et les importantes quantités de données de log associées, il nous est impossible d'imaginer un monde sans la Suite Elastic."

Utilisation élargie des données dans la stratégie d'entreprise

Après avoir mis en place des recherches de log rapides et réduit la charge de travail liée aux mises à niveau en utilisant le cloud, Gurunavi a déjà commencé à envisager d’élargir l'utilisation de la Suite Elastic à des fins plus stratégiques.

"Une fois que l’environnement Elastic et Elastic Cloud ont été déployés, les questions opérationnelles ne dépendaient plus des compétences d’une seule personne. Le nombre d’utilisations possibles du système a également considérablement augmenté.", a déclaré M. Iwamoto. "Par exemple, un tableau de bord créé par le personnel chargé des applications indiquait les taux de conversion des clients potentiels dans le temps sur la base des indicateurs clés de performance. En exploitant au maximum les données de log non plus uniquement à des fins de dépannage et de gestion du système mais également dans le cadre de stratégies commerciales, nous pensons qu'il est possible de générer des niveaux de valeur encore plus élevés."

Gurunavi continue à fournir des services à forte valeur ajoutée à la fois aux consommateurs et aux restaurants.

La Suite Elastic joue un rôle essentiel pour exploiter de manière optimale les importantes quantités de données de log, totalisant 50 milliards de documents, qui rendent ces services possibles.