Cuando se habla de Cloud computing y cultura DevOps, se refiere a todo aquello que la nube ofrece a los individuos y a las empresas de cualquier tamaño con la capacidad de tener los recursos de computación con un buen mantenimiento, seguro, fácil acceso como servidores, almacenamiento de datos y solución de aplicaciones.
Eso les proporciona a las empresas una mayor comodidad en relación con sus datos e información. En este modelo de nube, no hay necesidad de instalar aplicaciones localmente en computadoras.
“La nube proporciona servicio a empresas de todos los tamaños… la nube es para todo el mundo. La nube es una democracia”
–Marc Benioff – Director ejecutivo de Salesforce
Principales características de la computación en la nube:
- Menor demanda: Cuentas con la capacidad de computación necesaria a cualquier hora del día. No necesitas tener un profesional de TI involucrado.
- Multiplataforma: Solo se debe tener conexión a internet para acceder al servicio en la laptop, smartphone, computadora de escritorio, u otro.
- Recursos en pool: Significa que puedes tener varios usuarios del software.
- Flexibilidad dinámica: Los usuarios se dimensionan con base en la demanda.
- Servicio medido: El uso de los recursos es controlado y monitoreado de manera anticipada.
¿Qué es una cultura DevOps?
DevOps es un cambio de cultura organizativa que hace hincapié en el aprendizaje y la mejora continua, en particular la autonomía del equipo, el feedback rápido, el alto grado de empatía, confianza y la participación entre los equipos.
Principalmente, la cultura de DevOps implica una ardua colaboración de responsabilidad compartida entre los equipos de trabajo, específicamente los de desarrollo y operaciones en cuanto a los productos que mantienen.
Impulsa el desarrollo de equipos completamente multidisciplinarios que se responsabilicen de todo el ciclo de vida de un producto.
Los equipos DevOps trabajan de manera autónoma y adoptan de manera rápida una cultura y un flujo de trabajo con un conjunto de herramientas de ingeniería de software que llevan al mismo nivel de importancia que la arquitectura, el diseño, y el desarrollo. Con los equipos de operaciones están más comprometidos con el proceso de desarrollo.
Cuando se analiza desde el centro de la cultura DevOps, nos damos cuenta de que se aumenta la transparencia, la colaboración y sobre todo la comunicación entre equipos que generalmente trabajan aislados uno del otro.
Los equipos autónomos es solo uno de los aspectos importantes de DevOps; para que estos equipos de desarrollo y operaciones cooperen necesitan poder tomar decisiones sin tener que pasar por ese proceso largo y tedioso de aprobación. Esto implica que se puede confiar en los equipos y fomentar una atmosfera en la que no se perciba el temor al fracaso. Deben contar con los equipos y las herramientas adecuadas para tomar dichas decisiones de forma rápida y sencilla.
En la cultura de equipo DevOps, se valora el feedback rápido, ya que ayuda a mejorar continuamente el equipo de desarrollo y operaciones. En los entornos donde ambos equipos se comportan como grupos aislados y no como un equipo, el feedback sobre la estabilidad y rendimiento del producto en producción suele demorar llegar al equipo encargado (si es que logra llegar). En esta cultura tan interesante, permite que el feedback se obtenga de manera rápida y necesaria para mejorar rápidamente el código de las aplicaciones y de esta manera lograr obtener una buena calidad del código.
¿Cuáles son las ventajas de una cultura de DevOps?
Según el libro ¨Accelerate: Building and Scaling High Performing Technology Organizations¨ menciona que la cultura DevOps, promueve un alto grado de confianza y colaboración, dando como resultado poder llegar a tomar decisiones de mayor calidad, confianza y mayores niveles de satisfacción.
Si deseas crear un equipo de ingeniería de alto rendimiento, es fundamental adoptar una cultura de DevOps, de esta manera todos salen ganando. A un ingeniero se le es mucho más fácil si puede ejecutar con más frecuencia y facilidad un software estable y de alto rendimiento que haga feliz al usuario final, y para los ejecutivos, los resultados empresariales serán todo un éxito.