Hay muchas razones diferentes para que varias organizaciones se trasladen a DevOps.
Trataré de enumerar los que aparecen a menudo.
Reduzca el tiempo para cambiar el ciclo
A menudo, transcurre un tiempo prolongado entre la solicitud de cambio y su implementación y uso en la organización. Primero, los desarrolladores lo planean en uno de los ciclos de desarrollo y, después de entregarlo, se planifican en uno de los ciclos de lanzamiento de las operaciones. Ambos ciclos incluyen pruebas y, en caso de problemas encontrados, ambos ciclos se reinician. Al integrar los departamentos de desarrollo y operaciones, podemos racionalizar ambos procesos.
Problemas de software vs hardware ¿
Recuerdas la caricatura de Bugs Bunny donde Bugs y Daffy están discutiendo si es temporada de patos o de conejos? Ahora imagine que lo hicimos con desarrolladores y operaciones donde los desarrolladores argumentan que es un problema de hardware y las operaciones argumentan que es un problema de software. Para el usuario final, esta es una distinción sin diferencia. Solo quieren que lo arreglen.
Al reunir a los desarrolladores y las operaciones, tendrán que solucionar los problemas. Y puede resultar que fue un problema de software y hardware.
Nosotros contra ellos
En muchas empresas, la distancia entre los probadores y los desarrolladores estaba creciendo porque eran departamentos separados y el ciclo de desarrollo se estaba volviendo cada vez más formalizado y estandarizado.
Con la llegada de Agile, los desarrolladores y evaluadores han estado trabajando más juntos y hemos comenzado a ver el punto de vista de cada uno sobre el ciclo de desarrollo y tal vez incluso llegamos a respetarlo.
Algo similar debe suceder entre los desarrolladores y las operaciones, ya que a medida que ambos campos maduran y los procesos se formalizan y estandarizan, la distancia entre estos departamentos está creciendo. Entonces, uno de los problemas con el modelo tradicional es que parece "nosotros" frente a "ellos" para desarrolladores y operaciones por igual. Ambos no comprenden completamente la dificultad de las responsabilidades del otro.
Expectativas / ventajas
Con DevOps, ambas especialidades aprenderán algunas de las habilidades tradicionalmente realizadas por la otra. Nadie esperará que un administrador del sistema se convierta en ingeniero de software o que un desarrollador se convierta en ingeniero de red, pero se espera que ambos asuman algunas de las responsabilidades del otro. Esto significa que cuando realmente necesitas algunas manos extra, están ahí.
Y hay algunos aspectos positivos para los desarrolladores: ahora tiene más control sobre sus entornos de prueba, le resultará más fácil implementar el software para los usuarios y contar con más personas en su organización para compartir su amor por el oficio.