Blog

Beneficios y evolución desde el DevOps hasta la IAOps

23 de Abril de 2021
desde el tradicional DevOps hasta la IA al servicio de la operación IAOps
Tabla de contenido0

DevOps ha sido un dominio revolucionario en los últimos años, que ha resaltado la importancia de los equipos de operaciones y ha fomentado nuevas tendencias en las tareas de desarrollo software. Pero realmente de qué hablamos al mencionarlo ¿es un movimiento, cultura? ¿un nuevo proceso? ¿una metodología? o, ¿una tecnología concreta?

Gran parte de la confusión viene de mezclar lo que es DevOps con los requisitos necesarios o, los beneficios obtenidos al implementar DevOps. Empecemos, por tanto, aclarando su utilidad u objetivo principal: ayudar a automatizar todo el proceso de desarrollo y operación software, facilitando el trabajo al implementar el producto de manera más rápida y eficiente, y principalmente de mayor calidad y a menor coste. Y dejando este objetivo subrayado podemos ofrecer una completa definición:

DevOps es una metodología de buenas prácticas de software, que permite integrar el equipo del desarrollo de software y las operaciones IT, y aplica distintas tecnologías y herramientas que consiguen acelerar los tiempos de implementación y entrega continua del software.”

DevOps, metodología de buenas prácticas

Fuertemente ligado desde su origen a las metodologías ágiles de desarrollo software, DevOps utiliza la tecnología buscando el fomento de la automatización. Por ejemplo, consiguiendo una infraestructura cada vez más programable y dinámica. En otras palabras, DevOps es una respuesta a la interdependencia entre el desarrollo, las operaciones y las pruebas. Suena simple, pero en realidad son mundos divergentes complicados de unir.

¿En qué beneficia y cómo se materializa esta metodología en el día a día de una organización?

Aquí es donde surge la famosa imagen del infinito asociada al término constantemente (Ilustración 1). Este “loop” es denominado el ciclo DevOps y existen múltiples representaciones asociadas. Lo importante es identificar las fases del ciclo como responsabilidades necesarias a cumplir en la metodología, y que constituirán los fundamentos para disponer de procesos de desarrollo software óptimos. A continuación, listamos una posible versión: 1) Plan; 2) Desarrollo; 3) Integración continua; 4) Despliegue; 5) Operación; 6) Monitorización; 7) Automatización y Entrega continua.

No podemos olvidar la vertiente tecnológica asociada a esta metodología, y es que sin la base de herramientas adecuada, asegurar el ciclo DevOps anteriormente planteado se convertiría en un reto insuperable. Las herramientas tecnológicas ayudan a un ingeniero DevOps en tareas desde el manejo de infraestructura en proveedores de nube (Amazon Web Service (AWS) o Google Cloud Computing), la monitorización (Prometheus, Nagios o Zabbix) o la integración-despliegue continuo (Jenkins), entre muchas otras.

Y es en este punto en el que aparece uno de los mayores problemas para dominar la aplicación de esta metodología, ya que el ecosistema de herramientas DevOps varía, aumenta y se perfecciona constantemente. Por lo tanto, es importante mantenerse actualizado para seguir manteniendo la calidad y la reducción de costes que promulga la metodología. En TECNALIA llevamos muchos años profundizando y poniendo en práctica en nuestros proyectos esta metodología e investigando en las mejores herramientas para lograrlo.

Tipo de software y enfoques de desarrollo

Otro reto es que a lo largo del tiempo también ha variado sustancialmente el tipo de software, y sus enfoques de desarrollo. Nos referimos a que los datos se han convertido en activos cruciales para las organizaciones, y su gestión, proceso y análisis, han pasado a ser foco del desarrollo software de las empresas, variando considerablemente el ciclo de vida SW, provocando que el ciclo DevOps tenga también que adaptarse.

En TECNALIA hemos reaccionado a estas nuevas demandas, y gracias a nuestra base de conocimiento en DevOps, hemos sido capaces de seguir investigando en nuevas variantes Ops. Principalmente las siguientes son las que encontramos cruciales para toda empresa, que quiera ir hacia nuevos modelos de negocio basados en datos, y utilizar para su análisis técnicas de IA – Inteligencia Artificial.

  • DataOps: la unión entre el campo tradicional del gobierno del dato y las nuevas prácticas de ingeniería software y automatización promulgadas por DevOps. En la práctica consiste en integrar a los equipos de tratamiento y análisis de datos en la metodología DevOps para que los productos software, basados en datos, sigan manteniendo los estándares de calidad y tiempos competitivos de desarrollo. Para ello, las nuevas formas de gobernanza del dato han sido consideradas en el planteamiento de la metodología DataOps, que se basa en la aplicación de prácticas DevOps a la gestión e integración de datos modernas.
  • MLOps: aplicando los principios de DevOps a los nuevos sistemas de Aprendizaje Automático. MLOps incorpora un conjunto de nuevas técnicas a la metodología clásica DevOps con el fin de implementar y automatizar la integración continua (CI), la entrega continua (CD) y el entrenamiento continuo (CT) para sistemas de aprendizaje automático. Para cubrir esta adaptación, en el ciclo DevOps es necesario introducir un nuevo bucle; el de experimentación. Este permitirá modelar la forma en que los científicos de datos realizan su trabajo, incluyendo las tareas de preparación de los datos y generación del modelo.
  • IAOPS: la Inteligencia Artificial al servicio de la automatización, infraestructura y operación en la metodología DevOps. La idea es reemplazar los procesos manuales clásicos por tecnologías de inteligencia artificial (IA) para mejorar la eficiencia de desarrollo y operación. La inteligencia artificial se convertirá en la herramienta crítica para computar, analizar, y transformar cómo los equipos desarrollan, entregan, implementan y administran aplicaciones.

El dominio de estas variantes implica retos y oportunidades. En TECNALIA investigamos para seleccionar la correcta metodología Ops y facilitar a las empresas su implantación. Nuestra misión es que ya sea un proyecto de IA o IT tradicional, nos aseguremos de que el plan del proyecto sea el adecuado, que todos los miembros del equipo posean las habilidades necesarias, y que dominen y dispongan de todas las herramientas necesarias para las pruebas, la implementación y la producción.

Ana Isabel Torre Bastida

SOBRE EL AUTOR

Ana Isabel Torre Bastida

Doctora en Ingeniería Informática por la Universidad del País Vasco. Se encuentra trabajando en TECNALIA desde el año 2011, actualmente como tecnóloga en la plataforma HPA del área de Optima (ICT) desarrollando principalmente proyectos en clientes del sector energético, industrial y logístico mediante el uso de tecnologías Big Data y técnicas de Machine Learning.

Leer más +

Autor:Ana Isabel Torre Bastida
Suscríbete a nuestras comunicaciones
CUÉNTANOS TU OPINIÓN
0 comentarios
CUÉNTANOS TU OPINIÓN
*campos obligatorios