Cómo mejoro la experiencia del usuario en GoDaddy con machine learning de Elastic
Esta publicación es una recapitulación de una conversación para la comunidad presentada en Elastic{ON} 2018. ¿Te interesa ver más conversaciones como esta? Revisa el archivo de conferencia o descubre cuándo llegará la gira de Elastic{ON} a una ciudad cercana a la tuya.
A GoDaddy se le conoce por el hospedaje web y la administración de dominios, como sabría cualquiera que haya visto el Super Bowl en los últimos años. Pero con más de 17 millones de clientes, 75 millones de dominios y 10 millones de sitios hospedados, también es experta en big data. Para que los sitios se ejecuten sin problemas es necesario contar con información de cada parte de su infraestructura, desde el nivel de parches del servidor virtual hasta los inconvenientes en la red y los ataques malintencionados. Esto podría resultar difícil debido al ingreso de más de 200 000 mensajes por segundo (búsquedas de DNS, logs del sistema, eventos de negocios y más), pero gracias a su velocidad a escala, el Elastic Stack está a la altura de la tarea.
La introducción de GoDaddy a Elasticsearch fue muy similar a la de otras empresas que usan software open source. Diversos equipos en toda la empresa configuraron sus propios clusters para sus necesidades específicas. Este modelo de despliegue no administrado cumplió su función, pero llevó a que cientos de clusters que se ejecutan en diversas versiones de Elasticsearch analizaran los datos en silos. Como sabían que había una mejor manera de hacerlo, formaron un equipo en torno a la administración del despliegue de Elasticsearch en 2014. Este equipo ahora administra más de 60 clusters de Elasticsearch que abarcan más de 700 contenedores docker, con fuentes que provienen de los equipos de toda la empresa. Estos clusters representan más de 270 TB de datos de su entorno HDFS (de 11 PB).
Uno de los primeros casos de uso que enfrentó su nuevo equipo de Elasticsearch fue la administración del cumplimiento de los parches en todo el ecosistema. Antes de Beats, en 2014, GoDaddy desarrolló agentes de Windows y Linux (similares a Auditbeat y Winlogbeat) para enviar datos del sistema a Elasticsearch. Con estos agentes instalados en todos sus servidores (metal expuesto y virtuales), GoDaddy pudo obtener información valiosa sobre los niveles de parches y el cumplimiento de toda su infraestructura. Y gracias al uso de diferentes dashboards y visualizaciones en Kibana, pudo proporcionar fácilmente información detallada sobre los parches a los administradores e ingenieros, y reportes de negocios de alto nivel a los ejecutivos; todo esto a partir de los mismos datos centralizados para que todos estuvieran en la misma página.
Es importante mantener los niveles de parches del servidor para hacer que el tráfico siga fluyendo, y ese flujo ayuda a mantener el interés de los usuarios. Si un sitio web tarda en cargar, los visitantes irán a otro. Por lo tanto, teniendo en cuenta la experiencia de sus millones de clientes, GoDaddy sabía que necesitaba hacer un seguimiento de qué tan bueno era el rendimiento de los centros de datos y de cómo este rendimiento afectaba a los visitantes. Ya tenía todos los datos que necesitaba, debido a que cada componente de sus sistemas generaba logs, pero necesitaba una manera de crear una vista holística.
Logging centralizado con machine learning para detección de anomalías
GoDaddy necesitaba centralizar y analizar los diversos conjuntos de datos de rendimiento y participación, y el Elastic Stack era la respuesta. Mediante el envío de datos de netflow, datos sFlow, administración de usuario real (RUM) y datos de enrutamiento y relación de emparejamiento a Elasticsearch, GoDaddy pudo obtener una vista mucho más detallada de los datos de la experiencia del usuario y el rendimiento del sistema, un nivel de detalles que solo puede observarse analizando todas las diferentes fuentes de datos al mismo tiempo. Y desde entonces, comenzó a llevar esos datos aún más allá con la ayuda de las características de machine learning de Elastic.
Tener acceso centralizado a enormes cantidades de datos del sistema es estupendo, pero rastrear problemas puede ser difícil. GoDaddy hace un seguimiento de cada clic e interacción del usuario en el sitio web, pero debido a que hay millones de páginas funcionando en todo el mundo, no hay forma de que ningún equipo de humanos pueda examinar todos esos datos. Afortunadamente, las características de machine learning de Elastic hacen que la detección de anomalías sea una tarea sencilla. Gracias al trabajo conjunto con expertos en machine learning en Elastic, GoDaddy ha podido implementar trabajos de machine learning enfocados en RUM que facilitaron la detección de anomalías.
“En términos de esfuerzo general, aprovecha al equipo de Elastic. Son de muchísima ayuda. Hemos tenido una estrecha colaboración y llamadas muy frecuentes, un canal de comunicación totalmente abierto en torno a todas las actualizaciones. Si encuentras obstáculos, consúltalos. Son muy buenos en eso”. - Felix Gorodishter, Arquitecto principal, GoDaddy
Mediante la especificación de un umbral para los tiempos de carga de páginas y parámetros en torno al tráfico de las páginas, el equipo de GoDaddy deja que las características de machine learning de Elastic se encarguen de aprender qué es lo normal y lo anormal, y que luego le notifique cuando haya un problema. Para que GoDaddy pueda enfocarse en lo importante, se usa machine learning para eliminar las distracciones.
Descubre cómo GoDaddy aprovecha las características de machine learning para monitorear el rendimiento del sitio hospedado, ve Historias de las trincheras en GoDaddy: Cómo la información de big data equivale a mucho dinero de Elastic{ON} 2018. También podrás darle un vistazo a las formas interesantes en que usa machine learning para monitorear los KPI de negocios en torno a adopciones de productos y conocer las lecciones que aprendió en el camino.