Menta

Blog

¿Por qué es importante monitorear las liberaciones de código de tu aplicación web?

Si en tu aplicación se hacen varias liberaciones de código al día, es importante saber el impacto que tuvo y si está funcionando; hazlo de forma sencilla con APM

Es frecuente que, cuando se agregan nuevas funcionalidades o se corrigen algunos errores en las aplicaciones web, se lleve a cabo un cambio de código. Esto sucede, por ejemplo, en el caso del rediseño visual de un sitio, cuando se corrige un error en una forma de pago o cuando se optimiza un buscador para encontrar resultados más relevantes.

Por lo anterior, las buenas prácticas de DevOps dictan que el código debe validarse en ambientes de prueba y pre-producción para identificar y corregir errores. Sin embargo, cuando no es posible, o incluso después de haber corroborado el código, siempre existe la posibilidad de que esa liberación tenga un impacto negativo ya en un ambiente de producción.

Enfrentarse a ese problema, en un ambiente de producción, es costoso en tiempo, imagen y dinero. Por ello, es importante monitorear las liberaciones de manera eficiente y contar con la información de diagnóstico clave para reaccionar y solucionar problemas rápidamente.

En el caso de que se cuente con procesos automatizados de integración o entrega continua (CI/CDI), estos toman los cambios de código de un repositorio, los validan y los liberan cada vez que un desarrollador hace ajustes. Con esto se puede alcanzar un ritmo rápido de liberaciones de código, que puedan llegar a cientos por día. Si se monitorea una plataforma con este ritmo bajo de operación, resulta difícil notar qué impacto tuvo cada liberación si no se registra con detalle.

Errores en el código

Cuando se implementan cambios en el código, como en cualquier proceso humano, se corre el riesgo de que se presenten errores. Esto significa que el primer error que se estaba corrigiendo, o el proceso que se intentaba optimizar, sigue sin funcionar como debería y, de hecho, está degradando la experiencia del usuario. En el caso de que esto suceda habrá que analizar el impacto, como mencionamos arriba.

Aún cuando el equipo de desarrollo haya verificado la correcta funcionalidad de su código, pueden presentarse problemas al liberarlo en un ambiente de producción. Dichos problemas se deben a un impacto negativo en los componentes del ecosistema, ocasionados por un factor relevante que sólo se encuentra en un ambiente de producción: la demanda y utilización de usuarios reales.

Por ejemplo, si un script no tuvo errores y funcionó adecuadamente en un ambiente de pruebas, incluso cuando se probó en pre-producción (ambiente de prueba idéntico al de producción) sin ningún error, es lógico preguntarse ¿cómo funcionará el script cuando se ejecute mil veces al mismo tiempo?, ¿mis instancias de cómputo son suficientes?, ¿la pasarela de pagos se comportará de forma eficiente en todos los casos?, ¿los usuarios podrán interactuar de forma correcta en el proceso?

Si consideramos que las aplicaciones actuales no tienen una, sino varias liberaciones de código al día operadas por distintos equipos DevOps, lo anterior puede volverse una pesadilla para el equipo de control de calidad.

Verificar la efectividad de la liberación de código

Felicidades, la liberación de código no tuvo un impacto negativo en el ambiente de producción. Pero, desafortunadamente el impacto positivo que se diseñó no se está visualizando, o bien, se perdió entre otras liberaciones.

Sabemos que algunas mejoras de código son imperceptibles a simple vista, o su efectividad se presenta hasta que la demanda requerida sea alcanzada. No queremos que el esfuerzo que se dedicó a mejorar un script sea irrelevante, o peor, que pase desapercibido. Por ello, vale la pena cuestionarse nuevamente si es posible demostrar el impacto positivo que tuvo esa liberación. La respuesta debe ser “Sí”, de la misma manera en la que demostramos lo contrario.

Monitorea y registra las liberaciones de código

Seguramente la actividad favorita de los Devs no es analizar el impacto negativo de un cambio de código, o tener que justificar que efectivamente hubo un impacto positivo. Afortunadamente para todos los involucrados en el correcto funcionamiento de aplicación, ya es posible saber cuál de todas las liberaciones fue la que tuvo el impacto negativo o positivo, el momento en el que sucedió, y cuál es la causa y efecto de dicho impacto.

Con una herramienta de monitoreo de desempeño de aplicaciones (APM) podemos llevar el control de la liberación de código hasta el punto preciso en el tiempo donde la liberación tuvo un impacto negativo o positivo. De forma que luego se logre saber a detalle si hubo o no una mejora sustancial. De esta forma, si eres diseñador, director de e-Commerce o tienes otro puesto relevante para la aplicación, puedes saber dónde está el error (carrito de compra, servidores, sitio, proceso de compra).

Con esta herramienta tu equipo contará con la información detallada para detectar el impacto en toda su complejidad, y, por supuesto, darle solución. O bien, demostrar el beneficio que el cambio tuvo en el negocio.

:: Solicita un demo. Conoce cómo un equipo de expertos especializados pueden ayudarte a crear o enriquecer tus estrategias.

Recibirás un resumen semanal.