Observability
Medios y Entretenimiento

Gurunavi, Inc.: Análisis de grandes volúmenes de datos de logs con eficiencia operativa y funcionalidad de búsqueda de alta velocidad

RESUMEN

  • 50
    tipos de bases de datos
  • 50 000
    millones de documentos, volumen total de datos
  • 30 TB
    tamaño de disco

Acerca de Gurunavi, Inc.

Desde que estableció el sitio de información sobre restaurantes Gurunavi en junio de 1996, Gurunavi Inc. ha continuado operando una amplia gama de negocios enfocados principalmente en brindar información sobre restaurantes y otros servicios similares. Como líder consolidado en la industria y de larga tradición, Gurunavi se jacta de un impresionante total de aproximadamente 500 000 restaurantes en sus listas, 58 951 restaurantes miembro pagos1, 61 millones de usuarios mensuales únicos2 y 17.96 millones de miembros3. Además, proporciona servicios de soporte integrales, como soporte de Tecnologías de la información y la comunicación (ICT) para restaurantes, y ofrece valor adicional tanto a los visitantes de los restaurantes como a los restaurantes en sí. Desde 2018, Gurunavi ha comenzado a brindar nuevos servicios para atraer clientes, entre ellos: uso de redes sociales, vinculación de ID de los miembros con sus ID de Rakuten y el servicio Gurunavi Pay para el pago sin efectivo en los restaurantes.

Lo que más conocen los usuarios comunes es la información de Gurunavi sobre restaurantes, que se puede ver en teléfonos inteligentes o PC; pero eso es solo una pequeña parte de los servicios que brinda la empresa. Los servicios de Gurunavi incluyen un servicio de registro que ayuda a los restaurantes con la gestión de clientes y el servicio multipago Gurunavi Pay, todo esto ofrece soporte integral para establecer entornos de ICT en los restaurantes. Por supuesto, no hace falta decir que todo esto es gracias a enormes volúmenes de datos de log.

1: al 30 de septiembre de 2019. 2: a diciembre de 2018. 3: al 1 de octubre de 2019.

Elastic se adoptó para lograr las búsqueda de alta velocidad necesarias para analizar grandes volúmenes de logs

Gurunavi es un precursor en Japón en servicios en línea que proporciona información sobre restaurantes y otros temas, y ha administrado un entorno de ICT a gran escala para dar soporte a dichos servicios desde sus inicios. Por supuesto, estos sistemas producen un gran volumen de datos de log, y analizar esos datos solía requerir mucho tiempo y personal.

Toshiaki Iwamoto es subdirector de sección de la Sección de Ingeniería del Departamento de Desarrollo de Gurunavi. Recuerda las circunstancias de ese entonces de la siguiente manera.

"Para 2016, Gurunavi ya tenía miles de servidores. Cuando había interrupciones o se necesitaba mantenimiento, debíamos ingresar directamente al servidor afectado para revisar los logs, buscar el log con el comando grep, copiar el log temporalmente a un entorno local con el comando scp y lidiar con el problema de esa forma. Este proceso de investigación demoraba más de una hora en completarse, lo que significaba que no podíamos responder en tiempo real y que tendríamos mucho trabajo manual, y esto llevó a pasar por alto problemas y a otros errores por falta de atención. A medida que nuestros sistemas y logs aumentaban su tamaño, necesitábamos cada vez más algo para afrontar esta carga de trabajo".

Fue entonces que Gurunavi se topó con dos productos del Elastic Stack: Elasticsearch y Kibana.

El Elastic Stack permite la búsqueda en tiempo real a alta velocidad en varias fuentes de datos sin descargar los datos objetivo en un entorno local, a través del uso de un amplio rango de componentes de productos proporcionados. A medida que los servicios de la empresa se multiplicaron y se volvieron más avanzados, las llamadas de API entre aplicaciones también se han vuelto cada vez más numerosas. Dado que Gurunavi necesita analizar una gran cantidad de logs, los productos del Elastic Stack realmente fueron la solución óptima para sus necesidades. "En ese entonces, no había productos en el mercado que pudieran considerarse rivales, y nos decidimos por Elastic porque era la única opción", explicó el Sr. Iwamoto de Gurunavi. Gurunavi implementó por completo Elasticsearch y Kibana en 2016.

Implementación de Elastic Cloud para reducir la carga de trabajo de las actualizaciones de versión

A finales de 2018, varios años después de la implementación, Gurunavi comenzó a usar AWS.

Gurunavi eligió en ese entonces cambiar algunas de sus licencias del Elastic Stack al cloud, dado que necesitaban renovarse en ese momento, y la empresa comenzó a usar Elasticsearch Service de Elastic Cloud. El objetivo era implementar la recopilación y el análisis de logs en un entorno de AWS, además de reducir la carga de trabajo operativa de la actualización de Elastic.

"Algunos usuarios expresaron que deseaban ver AWS Cloudwatch Logs con la misma interfaz de Kibana de alta calidad que ya estaban acostumbrados a usar desde 2018", explicó el Sr. Iwamoto. "Comparamos la recopilación de datos de logs y otras características con los productos de los competidores, y Elastic Cloud tuvo ventaja en cuanto a costo y rendimiento, y a tener siempre disponible la versión más reciente. En términos de implementación, optamos por usar y el de Elasticsearch".

La otra prioridad para Gurunavi era reducir la carga de trabajo operativa de las actualizaciones y tareas similares. Era esencial para evitar que estas tareas se volvieran demasiado dependientes de las habilidades de un único individuo, dado que el Sr. Iwamoto era el único miembro del personal con la experiencia técnica requerida. "Las actualizaciones de versión son frecuentes, pero yo era la única persona que podía encargarse de ellas, lo que significaba que tenía una gran carga de trabajo que recaía solamente en mí. Pensé que podríamos resolver estos problemas también mediante la adopción de Elastic Cloud".

(Toshiaki Iwamoto, Gurunavi)

De esta forma, Gurunavi se equipó con un entorno integral de Elastic, tanto en las instalaciones como en el cloud.

Búsqueda a alta velocidad de logs de todas las aplicaciones y dispositivos de red

El sistema actual de Gurunavi maneja logs adquiridos de todas las aplicaciones y dispositivos de red, lo que suma 50 tipos de bases de datos y un volumen total de datos de 50 000 millones de documentos.

Para la extracción de datos, los datos de log de los clusters de alta capacidad en las instalaciones se envían a Elasticsearch mediante Logstash, mientras que los datos de Cloudwatch Logs en el entorno del cloud (incluidos los contenedores) se envían de Functionbeat a Ingest, como se mencionó antes. Los datos de [Amazon] S3 se envían a Elasticsearch mediante Logstash. Como todos los logs se pueden monitorear de forma transparente y multisectorial, es posible no solo solucionar problemas en estos datos, sino darles usos más estratégicos.

"Gurunavi es un proveedor de servicios, lo que significa que manejamos una gran cantidad de lenguajes. Además, el tipo de datos de log adquiridos depende de la naturaleza de la aplicación involucrada, y hay muchos índices involucrados", agregó el Sr. Iwamoto. "Los desarrolladores querían ver todo de forma multisectorial, incluido el cloud. Ahora que este entorno integral de Elastic está configurado, eso es verdaderamente posible".

Solución de problemas rápido, menor carga de trabajo operativa y usos nuevos de los datos

El Sr. Iwamoto inicialmente evaluó los beneficios generales del Elastic Stack sobre la base de dos puntos.

"Primero, solía requerir más de una hora copiar los datos de logs y chequearlos a mano, y haber podido reducir estas tareas a apenas unos segundos aumentó enormemente nuestra eficiencia. Esto aceleró todo el proceso, desde la aparición de un problema hasta la conclusión de la investigación al respecto, y la precisión del proceso mejoró drásticamente. Con la API proporcionada, se envían alertas de log a Slack o Webhook, y esto nos permitió responder con más rapidez. Además, Elastic Cloud puede actualizarse sin interrupciones sin la carga de trabajo principal involucrada en el cambio a otra versión, y el hecho de que la versión más reciente siempre esté disponible para usar es otro gran beneficio. Antes, cuando realizaba las actualizaciones prácticamente yo solo junto con el resto de mi trabajo, me llevaba entre cinco y diez días (incluida la investigación) realizar una actualización. Ahora, las actualizaciones casi no llevan tiempo". (Toshiaki Iwamoto, Gurunavi)

Además, es imposible pasar por alto la contribución del sistema a la nueva estrategia de turismo entrante de la empresa.

Por ejemplo, es posible usar el Elastic Stack para extraer datos de geolocalización y visualizar las ubicaciones de los visitantes del sitio. "Amazon Cloud Front es un servicio CDN en AWS, y es posible usar sus logs para ver los datos de acceso al sitio por país", explicó el Sr. Iwamoto. "¿Por qué recibimos tantas visitas de esta ubicación? ¿Y por qué tan pocas de aquí? Es posible usar estos datos para formular tales preguntas y para explorar los datos a fin de determinar, por ejemplo, que hay un problema con el contenido relevante o un proveedor de servicios. Según esta información, podemos tomar medidas para aumentar las velocidades de entrega de contenido, escoger el momento del lanzamiento de una campaña o implementar otras decisiones similares que hagan que la información sea extremadamente beneficiosa para el futuro de nuestra estrategia de turismo entrante".

Otro elemento que contribuyó a esta decisión intuitiva fue la visualización de datos gráficos mediante Vega. Una nueva característica de Kibana 6.2 posibilitó usar los datos de Elasticsearch con Vega y Vega-Lite para crear visualizaciones enriquecidas. Con estas visualizaciones, los usuarios podían obtener una visión general de la información extraída de enormes cantidades de datos y usarla para arribar a conclusiones intuitivas. Esta característica también es útil para quienes no son especialistas de IT, como el personal de los departamentos de marketing o gestión.

Al resumir los beneficios de implementar Elastic, el Sr. Iwamoto destacó que "con nuestros entornos de sistemas complejos actuales y las grandes cantidades de datos de logs asociadas, es imposible imaginar un mundo en el que no exista el Elastic Stack".

Ampliación del uso de los datos en la estrategia comercial

Habiendo posibilitado búsquedas de log a alta velocidad y reducido la carga de trabajo de las actualizaciones de versión con el cloud, Gurunavi ya comenzó a considerar el uso del Elastic Stack para fines más estratégicos.

"Con el entorno de Elastic y Elastic Cloud, nos liberamos de las limitaciones de depender de las habilidades de un único individuo para cuestiones operativas, y los usos del sistema, además, aumentaron drásticamente", afirmó el Sr. Iwamoto. "Por ejemplo, un dashboard creado por personal del lado de las aplicaciones mostraba las tasas de conversión de clientes potenciales a lo largo del tiempo en comparación con un KPI. Al usar los datos de logs al máximo no solo para solucionar problemas y para otros fines relacionados con la gestión de sistemas, sino para fines relacionados con la estrategia comercial como este, creemos que es posible generar niveles de valor incluso mayores".

Gurunavi continúa proporcionando servicios de alto valor agregado tanto a los clientes como a los restaurantes.

El Elastic Stack tiene un rol fundamental para hacer uso máximo de las enormes cantidades de datos de log, que suman un total de 50 000 millones de documentos, lo que hace posible tales servicios.