DevOps es una metodología de desarrollo de software centrada en la integración y colaboración de los desarrolladores de aplicaciones (Dev) y los encargados de operaciones TI y mantenerlas en producción (Ops).
La adopción de la metodología DevOps (o filososfía, según quien la defina) ofrece importantes beneficios tanto técnicos como culturales y de negocio.
Algunos beneficios técnicos son:
- Permite implementar estrategias de despliegue continuo
- Reduce el riesgo y la complejidad de actualizar el software
- Minimiza el tiempo de resolución de problemas
Algunos beneficios culturales para el área de desarrollo son:
- Mejor comunicación, cohesión y motivación de los equipos de desarrollo de operaciones
- Orientación a resultados, eficiencia y calidad del trabajo
- Desarrollo profesional de los miembros del equipo
También se consiguen beneficios de negocio:
- Mejor time-to-market de los proyectos de desarrollo y sus evoluciones
- Garantiza entornos de operaciones más robustos y estables
- Libera más recursos para innovar en lugar de emplearlos en corregir y mantener el software
Un ejemplo tradicional del impacto real en el ciclo de desarrollo de software, es el informe “State of DevOps Report” de Puppet. Ese informe indica que las prácticas DevOps llegan a aumentar entre 46 y 200 veces la frecuencia de nuevos despliegues de código, a reducir 440 veces el tiempo de espera de los cambios, a reducir 5 veces la tasa de fracaso de la implementación de cambios en el software entre otros resultados. Aunque obviamente, cada organización obtendrá resultados distintos, porque dependen de la naturaleza de su negocio y de las características de sus equipos de desarrollo y operaciones TI.
Detrás de una definición sencilla, con un objetivo ambicioso, encontramos algunos retos:
- DevOps no es un fin en sí mismo, sino un cambio en la cultura de la organización, en las herramientas utilizadas y en los procedimientos y metodologías de trabajo.
- Para definir la mejor estrategia de implementación de DevOps, es necesario conocer las fortalezas y debilidades del ciclo de desarrollo de software existente. Esto nos permite priorizar el catálogo de actuaciones (implementación de herramientas, cambios metodológicos, etc) y secuenciarlas de modo que la organización pueda asumirlos en el tiempo.
- Es muy importante definir los indicadores que permitan evaluar la eficacia de las diferentes actuaciones: por un lado para corregir aquellas que no estén dando el resultado esperado, y por otro para consolidar el cambio cultural en la organización.
¿Cómo se implanta DevOps?
El cómo lo desarrollaremos más adelante en otro post, pero ya podemos avanzar que DevOps no es algo que puedas comprar, instalar y poner en marcha. Precisa de un análisis de los procesos actuales del área de desarrollo, de un diagnóstico y una selección cuidadosa de las nuevas prácticas a adoptar y la aceptación de los tiempos necesarios para el cambio cultural que suponen en el área de desarrollo de TI.
Si deseas más información consulta nuestros servicios para el desarrollo de software aquí.
Ciclo de vida DevOps