Guía de adaptación
de prácticas DevOps
Enfocada en organizaciones con
procesos de ingeniería de software
Angel M. Adames
DevOps Manager
2022
Tabla de contenidos
Resumen ejecutivo 3
Audiencia objetivo 5
DevOps: Introducción 7
Modelo CAMS 15
Etapas de evolución de DevOps 19
Construir la base 21
Normalizar la pila de tecnología 25
Estandarizar y reducir la variabilidad 31
Expandir las prácticas de DevOps 37
Automatizar la entrega de infraestructura 45
Proporcionar capacidades de autoservicio 55
Cultura Cómo transformar 63
Introducción 65
© 2022 Guía de adaptadoción de prácticas DevOps.
© Ángel Manuel Adames Montaño
Catálogo de capacidades 77
Casos de estudio 79
Cuidado de edición:
Ángel Manuel Adames Montaño Conclusiones 87
Diseño y Diagramación:
Hermis Rodríguez Botier
1
Audiencia
objetivo
La audiencia objetivo de esta guía de implementación no es más que un prospecto
ideal que promete corresponder de manera más armoniosa las diferentes etapas
y recomendaciones que se detallarán en lo adelante. Sin embargo, la audiencia
objetivo solo represeta una figura ideal; en la realidad cualquier organización o
entidad, con procesos de ingeniería de software internos y con dependencia
a sistemas o aplicaciones en desarrollo continuo, es capaz de sacar provecho a
toda la información que en este documento se expone.
Recomendamos que, independientemente de la realidad de tu organización,
consultes esta guía, puesto puede arrojar resultados interesantes que aportar a
la mejora continua de los procesos y cultura organizacional.
DevOps 5
DevOps
Introducción
Antes de entrar en materia sobre cómo adoptar las metodolo-
gías asociadas a DevOps para tu organización, es importante
empezar desde el principio y responder preguntas fundamen-
tales para afianzar los objetivos que se desean lograr.
DevOps 7
8 Guía de adaptación de prácticas DevOps
Definición Origen
Bien, entonces, ¿Qué Wes DevOps? Antes de definir de manera puntual lo que es DevOps, es importante describir
el origen de DevOps debemos hablar primero de Patrick Debois, a quién se le
De manera simple:
atribuye más comúnmente ser el padre del término DevOps.
Nuestra historia empieza en 2008 donde Patrick presentó por primera vez
DevOps no es más que Desarrollo y Operaciones trabajando en el concepto de “infraestructura ágil” en una conferencia en Toronto llamada
conjunto como una única unidad; donde tratan continuamente Agile 2008. En 2009, organizó la primera conferencia relacionada a DevOps
de reducir complejidad, eliminar esfuerzos innecesarios y trabajo llamada DevOpsDays donde el objetivo era traer a personas de desarrollo y
manual, repetitivo y tedioso, compartir principios culturales y operaciones a trabajar en conjunto.
técnicos, todo esto utilizando las metodologías ágiles como Inicialmente el tema de la conferencia iba a ser “Administración de Sistemas
su vehículo principal. Ágil” (Agile System Administration) pero para Patrick esto era in título muy
largo, así que como el enfoque de la conferencia sería orientada a Desarrollo y
Operaciones trabajando en conjunto, combinó estas dos palabras obteniendo
entonces DevOps. Nunca hubo una gran intención o propósito detrás de dicho
En un contexto más abierto:
nombre, solo se quería un nombre más corto.
De acuerdo con el vídeo “The Short History of DevOps”, luego de la primera
DevOps es un movimiento cultural que intenta romper sobre los instancia de DevOpsDays, las personas que participaron siguieron conversando
Wya establecidos paradigmas de Desarrollo y Operaciones en sobre este tema en diferentes lugares de la Internet, principalmente en Twitter.
cuanto a objetivos de negocio, indicadores de rendimiento, gestión Una de las razones del rápido esparcimiento de la palabra DevOps se debió a
del trabajo, y entrega de valor y resultados. quºe en Twitter las discusiones relacionadas a la conferencia fueron etique-
tadas con el hashtag #DevOpsDays, pero debido a las limitantes de caracteres
de Twitter por cada tuit en ese entonces, el hashtag evolucionó a ser simple-
mente #DevOps.
DevOps como movimiento o metodología se basa en varios principios culturales
que discutiremos en detalle más adelante. Pero antes, entendamos de dónde surge
DevOps.
DevOps 9
C
ulture
Modelo
CAMS
A
Una hipótesis popular en el proceso de adopción de metodologías DevOps
en organizaciones es que la gran mayoría de las iniciativas exitosas se
basan en focos de éxito existentes dentro de uno o más equipos y que,
utomation por el contrario, las iniciativas de arriba hacia abajo (top-down) sin éxito
previo a nivel de equipo tienden a fallar.
M
La hipótesis se basa en la
S
experiencia de los autores del
informe Puppet State of DevOps
2018. En dicho informe, los autores
haring afirman que han trabajado con
easurement múltiples organizaciones en las
que han observado distintos
patrones de éxito.
DevOps 15
16 Guía de adaptación de prácticas DevOps
Las prácticas de DevOps aún son relativamente nuevas en comparación
con la edad de la mayoría de las grandes empresas, y es de esperarse Evaluación comparativa
que se requiera tiempo, esfuerzo y disciplina para generar cambios en
una organización. CAMS es un modelo útil para comparar el progreso evolutivo de su organización.
En el mismo informe, los autores afirman que han visto varias inicia- Los datos expuestos en varios reportes de estado de DevOps muestran que
tivas de arriba hacia abajo relacionadas con TI, a menudo etiquetadas las organizaciones altamente evolucionadas:
como ‘DevOps’, que no lograron brindar mejoras fundamentales, como
la capacidad de brindar servicios de TI más rápido con niveles más
altos de calidad.
1 Tienen una cultura DevOps que abarca varios
departamentos
Es por esto que es importante medir los resultados de las iniciativas
relacionadas con TI en lugar de basarnos en anécdotas, especialmente
en vista de las perspectivas muy diferentes de las que provienen las
personas que relatan estas anécdotas. Por tanto, nos apoyaremos del
2 Tienen más servicios automatizados
para un uso amplio
modelo CAMS, un marco ampliamente aceptado para DevOps. Origi-
3
nalmente acuñado por Damon Edwards y John Willis, CAMS significa Automatizan la medición para los
cultura, automatización, medición y compartir. objetivos comerciales
Los elementos de estos acrónimos son, por supuesto, categorías
4 Comparten patrones y mejores prácticas
amplias sin límites formales. Pero la definición de CAMS ha demos-
trado ser un modelo útil y factible durante muchos años, especialmente entre varios departamentos
porque DevOps ha evolucionado hacia nuevas áreas, como opera-
ciones de red y seguridad.
Cada organización comienza la evolución en DevOps desde un lugar único. Tiene
Existe una correlación directa entre las organizaciones que han logrado tecnologías desfasadas o antiguas, formas establecidas de hacer las cosas, su
un progreso concreto en estas cuatro áreas y haber madurado la adop- propia misión comercial específica y su propia cultura particular. Por lo tanto, no
ción DevOps a niveles aceptables. existe una ruta única para una transformación DevOps; en cambio, hay muchos
caminos evolutivos posibles.
A partir de las investigaciones realizadas por estos mismos reportes, se revelaron
cinco (5) etapas de la evolución de DevOps y también un conjunto de prácticas
fundamentales que son críticas a lo largo de un viaje evolutivo de DevOps. En
esta guía de adaptación no reinventaremos la rueda, pero extenderemos estas
etapas iniciales a aprendizajes comunes de varias organizaciones y factores de
éxito comunes.
DevOps 17
Etapas de
evolución
de DevOps
DevOps 19
Etapa 0
Construir
la base
Gracias a la data recolectada por diferentes fuentes, en especial
de los reportes del estado de DevOps de todos los años, sale a
relucir cuáles son las prácticas fundamentales que emplean los
equipos exitosos. Estas prácticas se correlacionan tan fuerte-
mente con el éxito de DevOps que podemos determinar que son
esenciales en cualquier etapa del desarrollo de DevOps.
Cada práctica fundamental se puede describir en una frase:
● El monitoreo y las alertas es configurable y visible por todo
el equipo
● Reutilización de los patrones de despliegue para crear
aplicaciones o servicios
● Reutilización de los patrones de prueba para crear aplica-
ciones o servicios
● Administración de las configuraciones a través de una
herramienta de gestión configuración
● Uso de control de versiones
Etapas de evolución de DevOps 21