Información sobre innovación, productividad y tecnología

DevOps

DevOps es la combinación de culturas, prácticas, filosofías y metodologías que potencian e incrementan la capacidad de los equipos para producir servicios y aplicaciones de mayor calidad, y en menor tiempo.

El término surge de dos términos en inglés: Development / Operations (Desarrollo / Operaciones). Los equipos que trabajan bajo DevOps lo hacen de forma coordinada y colaborativa. De esta manera, los productos que se entregan son mejores, se realizan en menores tiempos, y son más confiables. Además, proporciona una velocidad mayor a las organizaciones para ofrecer productos, aplicaciones, o servicios, haciéndolas más competitivas en el mercado.

Los equipos antes mencionados, junto con los de seguridad y control de calidad, ahora colaboran durante todo el ciclo de vida del producto. Con DevOps, estos equipos automatizan procesos que antes se hacían de manera manual y más tediosa. Por ejemplo, los test unitarios o los despliegues.

Fases del ciclo de vida de un proyecto con DevOps

El ciclo de vida de un proyecto basado en DevOps contempla 6 fases:

Planificación (Planning): En este primer paso, se identifican y priorizan los requisitos que debe cumplir el servicio, o producto, que se desarrolla en el proyecto. Se identifican también cuales son las tareas que se deben realizar, y en qué orden, para luego poder llevarlas a cabo según sean más relevantes para el usuario final.

Construcción (Build): En este paso, los requisitos ya están identificados, y se comienza el desarrollo del código del producto. Como bien indica el nombre de la fase, es el momento en el que empieza a construirse el software.

Integración Continua (Continuous Integration): Esta etapa viene de la mano de la fase de construcción. En esta fase, que es conveniente realizar de forma periódica e incluso diaria, se integra el código recientemente construido con el ya existente, así como el código nuevo con otro desarrollado por el resto de miembros del equipo. En esta fase, se compila todo el código, se unifica en un repositorio conjunto, y se realizan las pruebas de calidad y seguridad sobre los desarrollos.

Despliegue (Deploy): Una de las muchas ventajas de utilizar esta filosofía es que pueden automatizarse o programarse los despliegues de los nuevos componentes. No solo habla esta fase de los despliegues del software en un entorno de producción, sino que suelen existir dos entornos previos al entorno final. El primer entorno, comúnmente llamado entorno de integración, es un entorno de pruebas en el que suelen realizarse despliegues para hacer pruebas funcionales de los desarrollos una vez se han integrado con el código previo. Otro entorno es el entorno de preproducción o pre productivo. Este entorno es más parecido a producción, donde pueden hacerse pruebas más completas, o realistas, de los desarrollos, antes de hacer un despliegue en producción. Esto ayuda a detectar y reducir los posibles errores que puedan darse en el entorno productivo una vez realizado el despliegue para los usuarios finales.

Monitorizar (Operate): La traducción literal de esta fase sería “operar” o “actuar”. En esta fase se sigue el rendimiento de las nuevas funcionalidades. No sólo el rendimiento en cuanto a mediciones de memoria física, tiempos de carga, etc. Sino monitorización de las incidencias que puedan surgir una vez que se ha desplegado el software. Este tipo de incidencias son las relacionadas con posibles conflictos entre componentes, o dependencias sin resolver.

Retroalimentación continua (Continuous feedback): Por último, antes de comenzar de nuevo el ciclo, es importante tener presente que hay mantener abiertas vías de comunicación con todas las personas interesadas del proyecto para recibir sus opiniones acerca de las nuevas funcionalidades. De esta manera, abordar de nuevo el plan para futuras mejoras o modificaciones sobre el sistema.

Share:

No hay comentarios.:

Publicar un comentario

Recent Posts

Popular Posts