DevOps, ¿Qué es y qué puede aportar a tu organización?

DevOps, ¿Qué es y qué puede aportar a tu organización?

El término DevOps apareció en 2009 en los “DevOps Days”, en este enlace podéis conocer mejor la historia al completo explicada por Damon Edwards. Este concepto se usa habitualmente para representar una forma organizacional completamente nueva dentro del sector tecnológico. 

Así pues, el rol de DevOps dentro de una organización es el encargado de facilitar la cooperación, integración y comunicación entre profesionales de software (desarrolladores) y tecnología (técnicos de sistemas) con el objetivo de agilizar y afianzar la creación, testeo y lanzamiento de software.

Los antecedentes de DevOps se remontan a mediados del siglo pasado, cuando en 1956 aparece el modelo Waterfall, el primer modelo de estandarización del proceso de desarrollo. Este engloba los procesos de análisis, diseño, implementación, testing y mantenimiento. Y, debido a las limitaciones tecnológicas del momento, ese modelo se mantuvo en uso durante un periodo largo de tiempo.

Con el paso del tiempo aparecieron problemas con el modelo Waterfall, las indecisiones y contradiciones del cliente suponian un obstaculo y la necesidad de una solución se resolvió cuando apareció la metodología Agile.

Una explicación rápida y sencilla sería imaginarse que AGILE es como un Waterfall en tamaño reducido, más corto y con más repiticiones, constantes, hasta el momento de entrega del producto. Con este cambio se ejercía mayor presión hacia los equipos de desarrollo, pues cada vez se encontraban con la necesidad de hacer deploys (poner la aplicación en producció) más a menudo.

AGILE es una metodología complej, algunos de mis compañeros ya han habaldo de ello por lo que yo no me extenderé más sobre este asunto. Si te interesa, aquí tienes algunos de sus artículos: «Desarrollo AGILE en 2017«, «Desarrollo de proyectos con metodologías AGILE» o «Cliente AGILE, un miembro más del equipo«.

Puesto que con AGILE el número de deploys es mayor, nació la necesidad de crear un nuevo rol encargado de coordinar y gestionar estas tareas, alguien con conocimientos de sistemas y programación al mismo tiempo, que le quitara esta carga al equipo de dessarrollo para que los programadores pudieran focalizar sus esfuerzos en su labor, lo que conllevaría un ahorro de tiempo consierable.  

El rol de DevOps intenta simplificar y unificar el trabajo al equipo de desarrollo, evitar que un developer tenga que ejercer roles de programación y sistemas a la vez, lo cual resultaba muy farragoso y, por desgracia, continúa ocurriendo en muchas startups actualmente. En cambio, con un DevOps estos problemas se solucionan o pueden gestionarse con mayor agilidad.

Esta evolución ha conllevado que cada vez sean más las empresas del sector que «rastean» el mercado para incoporar en sus filas a empleados con perfil DevOps. Es decir, un trabajador con habilidad para la gestión de sistemas, deploys de aplicaciones, gestión de base de datos, scripting, etc.

En otra ocasión ampliaré este tema, pero por ahora considero es una buena introducción a este concepto tan amplio. Si quieres seguir aprendiendo sobre este o otros temas relacionados no dudes en estar atento a las actualizaciones de nuestro blog.

Además, te recomiendo otros artículos relacionados que te podrían interesar: