Mejorar las prácticas de desarrollo a través de AIOps, la automatización y la observabilidad permite reducir significativamente la presión sobre los equipos de DevOps. Dado que las organizaciones continúan lanzando versiones de software más rápidamente, resulta crucial que integren la información de forma continua y automática en todo su entorno de servicios digitales para así acelerar la transformación y ofrecer experiencias de software más fluidas.

Es innegable que la demanda de servicios digitales se está disparando, una tendencia que crece al mismo ritmo que las expectativas de los usuarios.

Según un informe de statista.com, está previsto que las organizaciones incrementen su inversión en transformación digital más de un 25% en solo dos años, pasando de 1300 millones de dólares en 2020 a 1700 millones en 2022.

Todo ello con el objetivo de satisfacer la demanda de consumidores que buscan experiencias digitales eficaces y cada vez más satisfactorias.

Este ritmo acelerado de transformación ejerce una presión cada vez mayor sobre los equipos de DevOps, que han de actuar con rapidez aunque sin perder calidad. Si hace pocos años su cometido era lanzar una gran actualización de software al trimestre, ahora se espera que construyan y lancen pequeñas actualizaciones varias veces al día. Esta presión es insostenible incluso para las grandes corporaciones que representan los más altos estándares de experiencia digital.

Combinar observabilidad y AIOps hace posible priorizar automáticamente los problemas según su impacto comercial

La caída de Facebook el pasado octubre, que dejó a los usuarios sin acceso a sus servicios durante seis horas, es un ejemplo de cómo incluso un pequeño cambio en la configuración de la infraestructura digital genera el caos.

Para que las organizaciones puedan innovar sin perjudicar la experiencia del usuario, necesitan prácticas de desarrollo y entrega modernas e inteligentes. Esto reduciría el riesgo de errores inesperados al tiempo que mejoraría la calidad del código y aliviaría la presión sobre los equipos de DevOps.

Calidad o velocidad

Los ciclos de innovación se han acelerado. Una investigación reciente de Dynatrace señala que las organizaciones esperan que la frecuencia de sus lanzamientos de software aumente un 58% en 2023. Pero es evidente que a muchas de estas empresas les resultará difícil seguir este ritmo.

Hay que tener en cuenta que los equipos de DevOps ya tienen dificultades con las cargas de trabajo existentes y deben invertir innumerables horas en el desarrollo de actualizaciones para cientos de variaciones en dispositivos, aplicaciones y sistemas operativos. Además, a medida que se incremente la complejidad de los entornos de TI, la dedicación exigida a los equipos de DevOps aumentará aún más.

Sin embargo, escribir código es solo la mitad de la batalla: las pruebas manuales —que consumen muchísimo tiempo—, las cadenas de herramientas cada vez más fragmentadas y la explosión de datos resultante del cambio a la nube han añadido fricción al proceso de desarrollo.

Con tanto que hacer, y sin recursos adicionales, la presión sobre los equipos de DevOps puede poner en riesgo la calidad del código. Como resultado de este escenario, resulta más probable que los errores de código se filtren a través de la red y pongan en peligro los servicios digitales y, por consiguiente, las experiencias de los usuarios

El riesgo que suponen los cambios

Puede resultar difícil comprender el verdadero impacto que supone una nueva versión de software hasta que se pone en marcha. A menudo incluso resulta complicado revertir el cambio —en el caso de que se genere un problema— y volver a una versión anterior de la aplicación que haya demostrado su estabilidad.

La presión sobre los equipos de DevOps puede poner en riesgo la calidad del código

Gran parte de este desafío se debe a la complejidad de los entornos multinube actuales. Los servicios digitales están compuestos por cientos de millones de líneas de código y miles de millones de dependencias, que abarcan múltiples plataformas y diferentes tipos de infraestructura. Esta interconexión dificulta que los equipos de DevOps comprendan las consecuencias de los cambios que realizan, por pequeños que parezcan.

Por otra parte, también se ha creado una sobrecarga de alertas, ya que las herramientas de monitorización en la nube capturan a alta velocidad un volumen y variedad de datos que superan la capacidad humana de gestión. A menudo, es imposible para los equipos de DevOps encontrar rápidamente la única línea de código que ha desencadenado un problema.

Más automatizado e inteligente

Para evitar que el código de mala calidad llegue a producción, y también con el objetivo de garantizar experiencias de usuario perfectas, las organizaciones necesitan poner en marcha un enfoque más inteligente en lo que respecta al desarrollo de software. Deben comenzar por aplicar la automatización continua en tareas repetitivas, lo que resta trabajo a los equipos de DevOps y les permite enfocarse en actividades de mayor valor.

En primer lugar, las organizaciones deben establecer niveles mínimos de calidad automatizados, que midan los nuevos desarrollos en relación con los objetivos de nivel de servicio (SLO) para los indicadores clave de rendimiento. Esto significa que los nuevos cambios de código no pueden activarse a menos que cumplan con los requisitos mínimos relacionados con la experiencia de usuario. De este modo se evita un inesperado impacto negativo.

Observabilidad

En caso de que algo salga mal, las organizaciones pueden mejorar el tiempo de resolución aprovechando las capacidades unificadas de observabilidad de extremo a extremo. Este nivel de monitorización proporciona a los equipos de DevOps información a escala de código sobre todas las compilaciones relacionadas con el software, las aplicaciones y los servicios en cualquier plataforma en la nube, tanto si están en desarrollo como si ya han sido implementados.

La combinación de la observabilidad junto con AIOps —el uso de IA en las operaciones— puede llevar el conocimiento un paso más allá: gracias a ella podremos priorizar automáticamente los problemas según su impacto comercial. Ello permite que los equipos de DevOps identifiquen rápidamente las alertas más urgentes y las resuelvan antes de que afecten a la experiencia de los usuarios.