Hablemos de Ops: DevOps, DataOps, MLOps y AIOps
Los que trabajamos en el mundo del IT nos hemos acostumbrados a escuchar en los últimos años varios términos que incluyen la palabra «Ops». Este término hace referencia a operaciones, y más concretamente a la automatización de las mismas con el objetivo de mejorar el servicio prestado.
Quizás donde más se escucha es en la implementación de integración (CI) y en el despliegue continuo (CD) de aplicaciones; el denominado como DevOps. Sin embargo, lo encontramos también relacionado con la gestión del dato, el aprendizaje automático e incluso en la inteligencia artificial.
En esta entrada vamos a repasar un poco en qué consiste cada una de estas automatizaciones.
Acerca de DevOps
Según Microsoft, el término DevOps es una combinación de los términos «development» (desarrollo) y «operations» (operaciones) que designa la unión de personas, procesos y tecnología para ofrecer valor a los clientes de forma constante.
DevOps permite por tanto que los roles que antes se encontraban aislados -desarrollo, operaciones de IT, ingeniería de la calidad y seguridad- se coordinen y colaboren juntos para producir productos mejores y más confiables. Los equipos adquieren por tanto la capacidad de responder mejor a las necesidades de los clientes, aumentar la confianza en las aplicaciones que crean y alcanzar los objetivos empresariales en menos tiempo.
Las ventajas de DevOps son claras; los equipos que adoptan esta cultura, las prácticas y las herramientas de DevOps mejoran el rendimiento y crean productos de mayor calidad pero empleando menos tiempo, lo que se traduce en una satisfacción mayor en el cliente final. Esta mejora en la colaboración y la productividad es también vital para alcanzar objetivos de negocio.
Acerca de DataOps
Se entiende como DataOps a una práctica de gestión de datos colaborativa que automatiza la entrega de datos con un nivel apropiado en cuanto a seguridad y calidad. Este tipo de operaciones ayuda a generar canales de alta calidad colaborativos y a escala para una gran cantidad de casos de uso en una empresa u organismo.
DataOps sirge de la filosofía de DevOps, pero enfocándolo al análisis de datos con una búsqueda de la automatización, velocidad y precisión en el procesamiento de dichos datos. Las ventajas que implican este tipo de operaciones son:
- Evitar la duplicación de datos: puesto que se busca la creación de productos de datos más accesibles, de calidad y con disponibilidad.
- Creación de una estrategia de datos: facilitando la colaboración de los equipos en todas las fases de desarrollo, para que los datos estén disponibles cuanto antes.
- Mejora de la analítica de datos: gracias al uso de algoritmos de aprendizaje automático, pudiendo gestionar gran cantidad de datos.
- Mejora en la eficiencia operativa: se optimiza la eficiencia, la agilidad, la seguridad y el cambio de transformación del dato.
- Procesos avanzados: al adoptar DataOps, las empresas y organismos aceleran la transición a la nube y la ejecución de estrategias de transformación digital.
- Apoyo a tecnologías de automatización: se eliminan el tiempo necesario para la ejecución de tareas manuales.
Acerca de MLOps
MLOps ha aparecido como una nueva tendencia, completamente necesaria en un ecosistema AIML, que tiene el objetivo principal de maximizar el rendimiento de nuestros modelos de ML, aumentar la agilidad en el desarrollo de modelos y mejorar el ROI.
El objetivo de MLOps es apoyar al ecosistema AIML para gestionar el ciclo de vida del modelo a través de la automatización, produciendo resultados fiables y de calidad de forma consistente sin degradación del rendimiento, y asegurando la escalabilidad de los productos AIML.
Sin embargo, como era de esperar conseguir esto no es nada fácil, así una solución automatizada completa de MLOps tiene varios componentes incluyendo:
- Pipelines automatizados de construcción de modelos ML: Al igual que el concepto de integración continua y entrega continua (CI/CD) en DevOps, se establecen pipelines ML para construir, actualizar y hacer que los modelos estén listos para entrar en producción de forma precisa y sin problemas.
- Serviciado de Modelos: Este es uno de los componentes más críticos, que proporciona una manera de desplegar los modelos de una manera escalable y eficiente para que los usuarios del modelo puedan seguir utilizando los resultados del modelo ML sin pérdida de servicio.
- Control de Versiones de Modelos: Este es un paso importante en un flujo de trabajo AIML, que permite el seguimiento de los cambios de código, el mantenimiento del historial de datos y la colaboración entre equipos. Esto aporta escalabilidad para dar agilidad a los experimentos y reproducir los resultados de la experimentación siempre que sea necesario.
- Monitorización del Modelo: ayuda a medir los indicadores clave de rendimiento (KPI) relacionados con la salud del modelo ML y la calidad de los datos.
- Seguridad y gobernanza: Este es un paso muy importante para asegurar los controles de acceso a los resultados de los modelos de ML y para rastrear las actividades para minimizar el riesgo asociado con el consumo de los resultados por parte de una audiencia no deseada y de malos actores. Hoy en día, los datos son el verdadero activo, por eso es esencial estos datos para que sean sólo accesibles por el público previsto.
Acerca de AIOps
IBM define AIOps como la aplicación de capacidades de inteligencia artificial (IA), como el procesamiento del lenguaje natural y los modelos de aprendizaje automático, para automatizar y agilizar los flujos de trabajo operativos. Mediante capacidades de Big Data, analítica y aprendizaje automático, este tipo de operaciones va a permitir:
- Recopilar y agregar enormes volúmenes de datos: generados por múltiples componentes de la infraestructura de IT.
- Separar de forma inteligente lo importante: para identificar sucesos y patrones significativos relacionados con el rendimiento de las aplicaciones y los problemas de disponibilidad.
- Diagnosticar las causas: y comunicárselas a los departamentos de IT y DevOps para una respuesta y corrección rápidas, o para resolver de forma automática los problemas sin intervención humana.
Los beneficios que aporta AIOps se pueden resumir en:
- Tiempo medio de reparación más rápido (MTTR): al reducir el ruido de las operaciones de IT y correlacionar los datos de operaciones de varios entornos, la AIOps puede identificar causas del problema y proponer soluciones de forma más rápida y precisa que humanamente posible.
- Menores costes operativos: gracias a la identificación automática de problemas operativos y los scripts de respuesta automática reducirán los costes asociados.
- Más observabilidad y mejor colaboración: se facilita una colaboración entre equipos más eficaz en todas las funciones de DevOps, ITOps, gobierno y seguridad.
En resumen
Por lo que hemos visto, la gestión de un sistema desde un único equipo se encuentra al final de su vida útil debido a que los procesos empresariales son cada vez más complejos y los sistemas de IT cambian continuamente con las nuevas tecnologías. La implementación en detalle implica una combinación de prácticas colaborativas, automatización de operaciones, supervisión y un enfoque en la mejora continua como parte de los procesos DevOps, DataOps, MLOps y AIOps.
DevOps se centra principalmente en los procesos de IT y el desarrollo de software, y los enfoques DataOps y MLOps se centran en mejorar la colaboración entre IT y las empresas y organismos, así como el uso general de los datos en las organizaciones. Los flujos de trabajo de DataOps aprovechan los principios de DevOps para gestionar los flujos de trabajo de datos. En el caso de MLOps, también aprovecha los principios de DevOps para gestionar las aplicaciones incorporadas de aprendizaje automático.
Imagen de cabecera: Tingey Injury Law Firm en Unsplash.