Como escribí en la primera de esta serie de entradas, DevOps fue el primer término que escuché, diez años después de su acuñación1. Así que creo adecuado iniciar precisamente con la palabra que dio origen a todo esto.
En la red podemos encontrar mucha información sobre su significado, su ámbito o su entorno. Voy a hacer una síntesis de todas ellas para dejar una que me sirva para futuras referencias. Ciertamente, se trata de un término aceptado y bien definido aunque su interpretación está a expensas de la gente y el entorno en que se usa. Así que una definición universal puede ser difícil de alcanzar. Aún así, aquí dejo lo que yo interpreto del término (con base en las referencias citadas y mi propia experiencia profesional).
El término DevOps es empleado para hacer referencia a las actividades de desarrollo de informático o de ingeniería de software y las acciones (comúnmente de naturaleza «operativa» y por ello denominadas «operaciones») de soporte (de infraestructura, técnicas y administrativas) en que se sustentan y de las que dependen a fin de considerar un panorama integral de recursos humanos y tecnológicos.
Hay algunas implicaciones de lo que aquí se identifica que conviene revisar de una vez. Por ejemplo, es común ver el término «full-stack» seguido por «coder«, «developer«, o «engineer«. Mientras que los sustantivos codificador (o programador), desarrollador o ingeniero llegan a usarse de forma indistinta para referirse al individuo y rol a desempeñar, el término «full-stack» es empleado para enfatizar el grado de especialización, experiencia y conocimiento de un conjunto de tecnologías que se apilan (se apoyan unas sobre otras) para cubrir un amplio espectro de elementos tecnológicos necesarios para materializar el desarrollo de un sistema o aplicación. Estos elementos van desde la parte que provee el servicio (usualmente llamada back-end y asociada a los servidores e infraestructura de cómputo: bases de datos y web application servers) hasta aquella que se muestra al cliente (el «cliente» en el modelo cliente-servidor o la interfaz web de los modelos de procesamiento distribuidos basados en la tecnología internet). El desarrollador «full-stack» se encarga de construir o integrar todos estos elementos desde su visión unificada. Pero es una actividad de desarrollo que no obligadamente debe incluir su liberación (deployment, publicación) en producción.
Similarmente, el ingeniero o desarrollador (igual, suelen usarse estos términos de forma indistinta pero, dada la visión DevOps, en las organizaciones grandes los «desarrolladores» pueden no necesariamente liberar a producción, dejando esto a los «ingenieros» o encargados de producción). Si bien un «DevOps developer» puede llegar a hacer desarrollos de naturaleza full-stack, la diferencia con los «full-stack developers» radica en la visión empresarial y de planificación estratégica que los primeros tienen. Es decir, los «DevOps developers» suelen tener una visión y participación más activa en términos de planificación de infraestructura, carga de trabajo, optimización, administración de recursos, desarrollo y apego de procesos, lineamientos de seguridad organizacionales. Sí, ambos roles tienen coincidencias y similitudes pero a fin de marcar la diferencia (y sin demeritar el rol del «full-stack coder/developer/engineer«, sólo para efectos de ejemplificación y entendiendo que ambos son profesionales) podríamos ver al full-stack como el oficio y al DevOps como la profesión.
Otro aspecto importante que debemos tener presente en la diferenciación de roles es el que «DevOps» está enfocado en las actividades de desarrollo y así, cuando hablamos de «producción» podemos hacer referencia únicamente a un «entorno productivo de desarrollo», no el propiamente «comercial» de la empresa u organización.
En cuanto a su historia y desarrollo, las tres referencias que incluyo abajo1-3 dan buena cuenta de ello y el movimiento detrás de éste. Muchas otras referencias pueden encontrarse en la web.
Referencias
- Ernest Mueller, «What Is DevOps?«, The Agile Admin, web. Published: 2010.08.02; Revised: 2019.01.12. URL: https://theagileadmin.com/what-is-devops/.
- José Ruiz Cristina, «El legendario origen del movimiento DevOps«, Paradigma Digital, blog Techbiz. Publicado: 2015; visitado: 2021.02.12. URL: https://www.paradigmadigital.com/techbiz/el-legendario-origen-del-movimiento-devops/.
- _______________, «Qué es DevOps (y sobre todo qué no es DevOps)«, Paradigma Digital, blog Techbiz. Publicado: 2015; visitado: 2021.02.12. URL: https://www.paradigmadigital.com/techbiz/que-es-devops-y-sobre-todo-que-no-es-devops/.


