Buenas , no había escuchado el término AIOps hasta leer este post “Observability and the misleading promise of AIOps” , según el Glosario de Gartner:

AIOps (artificial Intelligence For It Operations) combines big data and machine learning to automate IT operations processes, including event correlation, anomaly detection and causality determination.

Wow, suena bien ¿verdad? Eso es lo primero que he pensado, porque todo lo que tenga como prefijo AI o ML rezuma molonidad. Pero bueno, bajándonos del tren del hype, cualquiera que haya tocado lo suficientemente cerca algo de AI sabe que no es tan mágico como parece.

NOTA Os invito a leer el post original, porque esta entrada es básicamente un resumen/notas personales que he decido adaptar un poco para publicar y en la que voy a estar muy de acuerdo con el autor, Danyel Fisher.

Sobre el papel suena genial la idea de utilizar AI para detectar, incluso prevenir, fallos en nuestros sistemas, pero la AI necesita ser entrenada con datos. Y en estos datos necesitamos diferenciar los “buenos” y los “malos” ejemplos, pero eso no es tan sencillo con los sistemas actuales, que son demasiado complejos e impredecibles.

¿Y a qué me refiero con impredecibles? Pues como dice en el post, por un lado desplegar una nueva funcionalidad puede hacer que cambie el comportamiento de forma que todo el entrenamiento previo no sea válido y por ejemplo los propios despliegues en sí son anomalías (y la tendencia actual es a tener despliegues cada vez más frecuentes).

Si alguien me puede rebatir esto estaría encantado de tener el punto de vista contrario, pero me cuesta imaginar como entrenar un modelo para predecir lo que, desde mi punto de vista actual, es impredecible.

El otro punto “en contra” de AIOps, y que me ha impulsado bastante a publicar estas notas, es que fomenta una de las cosas con las que más en desacuerdo he estado desde que llevo en esto: tener alertas porque sí, muchas alertas, sin tener claro ni de que sirven. Ciertamente alGuno sabe a lo que me Refiero.

Cuando tienes un sistema lleno de alertas, y ademas la mayoría ni siquiera son accionables, lo que tienes es mi…ucho ruido, y lo único que te va a causar probablemente es pérdidas de tiempo.

Con AIOps fomentamos ese mal hábito, ya se encargará él de filtrar las alertas de verdad, ¿no? Puede que sea mejor idea tener una serie de SLOs que nos informen cuando la experiencia de usuario no está siendo la adecuada y entonces alertar.

Sí, esto lo ha escrito un SRE, si no menciono los SLOs por lo menos una vez exploto.

Al final, la única forma de no acabar ahogado entre alarmas es alertar solo lo importante. Claro que quizá, como dice el autor del post, no tengamos forma de relacionar nuestros datos con la experiencia del cliente, pero entonces el problemas es que no tenemos las herramientas adecuadas.

La comparación que usa me parece perfecta, así que la voy a copiar tal cual: Imagina que vas al médico pensando que te has roto un hueso, y el médico te hace un EEG y un ECG antes que ver como caminas por la consulta. Se pone a leer los resultado y se da cuenta de que cuando apoyas la pierna izquierda tu pulso se acelera, lo cual concuerda con que tengas un hueso de la pierna roto. Pero… ¿no habría sido más sencillo hacer una placa de rayos X?

Coincido, como ya había dicho antes, en que no estamos listos (aún) para mezclar AI con Ops, creo que primero a la mayoría nos falta invertir mucho más en observabilidad y en mejorar la monitorización de nuestros sistemas.

Y ahora llega la parte a la que estaba deseando llegar, ¿y vosotros qué opináis del tema? Me parece un tema interesante y bastante abierto a debate, así que espero vuestras opiniones por o !

~ Saludos y que la fuerza os acompañe!