La semana pasada estuve en Barcelona, un evento que puede significar un cambio cultural en el desarrollo para algunas de las empresas que estaban allí representadas: el Entreprise DevOps Day de Barcelona.
En el evento, organizado por atSistemas y Optimyth, participaron también IBM y El Corte Inglés.
La forma de desarrollar aplicaciones ha cambiado en los últimos años, además el usuario tiene acceso fácil a las aplicaciones. Con este acceso, el usuario puede experimentar las aplicaciones que quiera. Por eso es cada vez más importante ser los primeros en la entrega del software, pero hay que tener en cuenta que el usuario es exigente y no tolera errores.
En el Enterprise DevOps Day de Barcelona, se habló del desarrollo del software para compañías, y cómo las empresas pueden implantar un proceso de mejora continua de la calidad del software, asociado a procesos de despliegue. Este proceso es clave en las iniciativas DevOps.
¿Qué es DevOps?
DevOps es el enfoque de desarrollo de moda, que nació de la necesidad de innovación por parte de personal de sistemas. La idea de DevOps es mejorar los tiempos de entrega del software, balanceando calidad, velocidad, coste y riesgo.
DevOps pretende extender los principios de Agile más allá de las fronteras del código. Algunos lo consideran incluso como un hermano mayor de Agile.
Para Jesús Hernando, del ECI, DevOps “es el romper la barrera de ladrillos que hay en muchas compañías, pues si hay un problema, el problema es de la empresa y hay que solucionar entre todos. DevOps es un cambio cultural dentro de la compañía, un cambio cultural en la prestación rápida de servicios de IT”.
En el evento, la palabra “continua” tuvo un papel importante. “Continua” es central en las prácticas de DevOps, pues está implícita en el proceso de mejora continua, en el proceso de Integración continua y también en el de Entrega continua.
Los beneficios de la Integración continua pueden ser:
- Decir adiós a las integraciones prolongadas y tensas
- Aumentar la visibilidad y mejorar la comunicación
- Detectar y solucionar los problemas de forma rápida
- Dedicar menos tiempo en depurar (debugging) y más tiempo agregando características
- Dejar de esperar para ver si tu código va a funcionar
- Disminuir los problemas de integración y permitir una entrega de software más rápida
Entrega continua
La Entrega Continua está relacionada con la Integración Continua y tiene que ver con el despliegue a producción del software, una vez este haya pasado los tests automatizados. Para Jez Humble, el autor de Entrega Continua, ésta es “la práctica de desplegar todo el buen desarrollo” de una aplicación “a los usuarios”.
Herramientas disponibles para DevOps
En el #DevOpsDay IBM y Optimyth nos presentaron sus herramientas que se pueden complementar en un ecosistema DevOps. IBM Rational y Kiuwan, respectivamente. Pero existen otras herramientas en el mercado que puden ayudar en este proceso.
Herramientas para la entrega
Gestión de la configuración
Monitorización y virtualización
Casos de éxito
El Corte Inglés son pioneros en la adopción e implantación de procesos continuos en el ciclo de vida de gestión de aplicaciones. Jesús Hernando explicó que la “metodología depende del capital humano”, pero que el objetivo es automatizar y no industrializar el proceso de desarrollo. Utilizando el DevOps, han integrado ingenieros de sistemas en equipos de desarrollo para que estos pudieran tener autonomía administrando sistemas UNIX y Base de Datos, por ejemplo. Además, utilizan diferentes herramientas en su Plataforma de Integración Continua. RD&T, o Splunk, son alguna de ellas. Automatizar permite también eliminar ciertos “trabajos manuales” reduciéndose así la probabilidad de cometer errores.
Conclusión
No tiene sentido adoptar las herramientas sin adoptar los principios. Adoptando la Integración Continua y la Entrega Continua, la idea es que puedas reducir el riesgo y abordar los errores de forma rápida, y en fases más tempranas, además de permitir tener rápidamente software que funcione. Estos despliegues de bajo riesgo permiten que te adaptes ágilmente a las necesidades del usuario y a las de tu negocio, además de permitir una mayor colaboración entre operaciones y desarrollo. Todas las personas participantes en la creación del producto colaboran desde el inicio. Todos colaboran. De esta forma, con este Desarrollo de Operaciones tu proceso de entrega, o despliegue puede ser una ventaja comercial.
Fuentes: