BlackLine es una compañía de software basada en la nube que automatiza y controla los procesos de cierre financieros de otras compañías. Si el software deja de funcionar, los libros no se pueden cerrar y las empresas se pueden enfrentar a sanciones duras. Nos interesa que todo se realice sin el menor tropiezo y, en este contexto, el rendimiento de nuestro producto juega un papel importante. BlackLine cuenta con una gama de servicios dedicados a monitorear, entre otras cosas, aplicaciones monolíticas, microservicios y aplicaciones de terceros. Además, abarcamos una gran variedad de aplicaciones, tecnologías y regiones que traen sus propias complicaciones.
La decisión de reducir las herramientas de monitoreo
Estábamos usando alrededor de nueve herramientas para monitorear nuestro stack (entre ellas AppDynamics, Graylog, SCOM, Foglight, Elastic, LogicMonitor y SquaredUp). Teníamos, por tanto, una perspectiva fragmentada. Además, recibíamos entre 5,000 y 10,000 alertas al día. Con decenas de millones de transacciones por hora, necesitábamos una solución que pudiera procesar esa cantidad de datos y nos mostrara también aspectos como la administración del rendimiento de la aplicación (APM) y los mapas de servicio. Por otro lado, nos enfrentábamos a desafíos de seguridad adicionales relacionados con los datos confidenciales que manejábamos para nuestros clientes.
Durante un incidente, las numerosas herramientas representan una carga cognitiva onerosa para los ingenieros, ya que tienen que entender cómo funciona el sistema, saber cómo las herramientas les notifican las interacciones y completar cualquier información que falte. Tienen que mirar muchas pantallas para poder deducir información sencilla. Y la mayoría de los incidentes ocurren cuando uno no está en su mejor momento. Ocurren a las 3 de la mañana. A esa hora, ¿quién quiere abrir hasta 10 pantallas distintas para correlacionar datos? Lo que necesitamos son sistemas que se encarguen de hacerlo por nosotros. Para que nosotros podamos enfocarnos en descifrar el problema, en lugar de tener que descifrar cómo descifrar el problema.
Necesitábamos desplegar rápidamente una nueva solución de monitoreo que se pudiera traducir en una rentabilidad (ROI) inmediata.
Un cambio en la cultura que rodea a los incidentes
Uno de los más grandes desafíos era el tiempo medio de detección (MTTD). Nuestra intención era detectar los problemas antes que los clientes. Cuando hay muchas herramientas de monitoreo, los problemas pueden pasar desapercibidos en medio del ruido blanco. Antes, a la hora de ocuparnos de los incidentes, dedicábamos mucho tiempo a analizar archivos y logs para establecer correlaciones e identificar lo importante. Y todo eso era tiempo malgastado. Pero New Relic te permite omitir esos pasos. Te da señales. Te muestra dónde concentrarte.
La diferencia entre New Relic y algunas de las otras herramientas de monitoreo más tradicionales es cómo se presenta la información y cómo se le puede sacar provecho. New Relic nos ayuda a comprender el contexto y la correlación desde el primer momento. No es necesario acudir a los historiadores para que te digan cómo y por qué se crearon las aplicaciones. Para nosotros, ese tiempo vale oro. Pero lo más importante es que ya no tenemos que instruir a todo el mundo en el tema del monitoreo. Cuando una persona inicia sesión en New Relic, apenas se integra a la compañía, ya sabe cómo usarlo. Todos los usuarios ven la misma información presentada de la misma manera en todas partes, sin excepción. Esa perspectiva homogénea nos da la oportunidad de contar con un equipo mundial que no necesita que todo el mundo esté despierto todo el tiempo. Yo prefiero trabajar con un equipo de pocas personas que tenga un buen equilibrio entre trabajo y vida personal y use las herramientas que hacen posible ese equilibrio.
Adopción del monitoreo proactivo
El APM es una de las funciones más útiles para la ingeniería de fiabilidad del sitio (SRE), ya que permite ahondar en una aplicación para ver cómo se comporta a lo largo del tiempo y cómo se ejecutan las llamadas (unas frente a otras) en el contexto de un ecosistema distribuido. Esa funcionalidad reduce la carga cognitiva para los ingenieros porque el sistema APM nos informa de las interacciones. El APM nos indica cuándo ocurre un problema o si un problema está a punto de ocurrir. Y también algo aún más importante: si un caso de uso ha evolucionado desde que fue diseñado originalmente.
New Relic ayuda a detectar problemas antes de que afecten a nuestros clientes. Nos da la posibilidad de perfeccionar políticas y procesos en relación a cómo nos informan y cómo nos alertan. También nos ayuda a comprender cuándo estamos a punto de ver un deterioro. No todos los incidentes suceden de forma repentina. A veces hay una evolución gradual hacia una falla: comenzamos a usar más recursos, registramos tasas de errores elevadas u observamos una prolongación en el tiempo de respuesta de las aplicaciones. Si detectamos esas señales en medio del ruido, las alertas y los logs, podemos atenderlas antes de que se conviertan en un incidente. Cuantos más datos tengan los ingenieros, mejor. Ellos comprenden el código que escriben y cómo debe comportarse. No solo conocen las funciones, sino que también saben cómo pueden afectar la vida cotidiana de las personas que más valoramos: nuestros clientes.
BlackLine detectó 13 problemas —antes de que pasaran a producción e incluso antes de que las alertas fueran configuradas— con solo instalar los agentes de infraestructura de New Relic. La correlación es un aspecto increíble porque sin configurar nada uno puede examinar y ver cómo el APM se relaciona con los logs hasta llegar al SQL. Podemos ver el monitoreo de usuarios en tiempo real hasta la capa de la base de datos y con solo instalar un agente. Se pueden establecer métricas y condiciones de alerta alrededor de la SRE, como se hace a través de los SLA. Eso nos permitió aliviar la presión antes de que nuestros clientes la pudieran percibir.
Rentabilidad de las herramientas de monitoreo
El presupuesto es muy importante para nosotros. Antes de iniciar cualquier proyecto, necesitamos asegurarnos de tener una rentabilidad alta. Lo que nos llamó la atención de New Relic es que no teníamos que pagar por host. Nuestros hosts están dispersos por todo el mundo y tenemos muchos modelos de nube y sistemas on-premises. La ingestión es el mejor modelo con el que contamos porque nuestros datos tienen procedencias diversas. Cuando nos facturan por host, especialmente cuando uno tiene decenas de miles de hosts dispersos por todo el mundo, los presupuestos pueden excederse rápidamente. New Relic nos dio un modelo muy fácil de seguir. Sabemos exactamente lo que nos van a cobrar y tenemos dashboards que ya están integrados y que nos indican cuál es nuestra tendencia y cómo se proyecta el gasto para el futuro.
El año pasado, nos tomó unas 5 horas resolver aproximadamente 244 problemas con New Relic. Calculamos que ahorramos unos $16 millones al año gracias al monitoreo proactivo. Si evitamos incidentes, los clientes disfrutan una mejor experiencia y se sienten más satisfechos. Con New Relic, todos los datos se pueden ingerir para mostrar una correlación a través del monitoreo de usuarios reales, el monitoreo sintético, los logs en contexto y el rastreo distribuido.
Nuevas formas de crear aplicaciones, escribir código y crear dashboards
New Relic ha contribuido a nuestra evolución, como líderes y como profesionales. Nos muestra cómo tiene que evolucionar el código. Y nos enseña en tiempo real cómo se usa el producto. Esto te obliga a pensar más sobre cómo los clientes van a usar tus productos —y, por consiguiente, tus servicios— en el momento de diseñarlos. El bucle de retroalimentación te hace un mejor ingeniero. La próxima vez que diseñes algo y lo despliegues en una plataforma como New Relic, tratarás de identificar problemas nuevos y maneras novedosas de diseñar aplicaciones, en lugar de repetir la historia y cometer los mismos errores.
Si tienes nociones de programación en SQL, puedes usar New Relic Query Language (NRQL) para crear dashboards, alertas y alertas como código. NRQL te permite crear como código para que las acciones se puedan repetir fácilmente y sean estables. Ninguna otra plataforma te permite repetir algo literalmente la siguiente vez. En cambio, con New Relic te puedes olvidar de esa carga mental. New Relic ofrece el rendimiento, las métricas y el monitoreo que necesitamos. Y a nuestros clientes les tranquiliza saber que estamos monitoreando el servicio por el que pagaron y sacando provecho de las herramientas como se debe.
Las opiniones expresadas en este blog son las del autor y no reflejan necesariamente las opiniones de New Relic. Todas las soluciones ofrecidas por el autor son específicas del entorno y no forman parte de las soluciones comerciales o el soporte ofrecido por New Relic. Únase a nosotros exclusivamente en Explorers Hub ( discus.newrelic.com ) para preguntas y asistencia relacionada con esta publicación de blog. Este blog puede contener enlaces a contenido de sitios de terceros. Al proporcionar dichos enlaces, New Relic no adopta, garantiza, aprueba ni respalda la información, las vistas o los productos disponibles en dichos sitios.