Certificación Profesional en DevOps
Certificación Profesional en DevOps
DEVOPS ESSENTIALS
PROFESSIONAL
CERTIFICATE (DEPC®)
Objetivos
2
6 /1 9 /2 0 2 0
¿Qué es DevOps?
¿Qué es DevOps?
La palabra es
DevOpsde
contracción
(Development) y “Desarro
una
“Operaciones” llo”
(Operations).
8
6 /1 9 /2 0 2 0
¿Qué es DevOps?
¿Qué es DevOps?
DevOps reconoce que los desarrolladores y los operadores de TI son grupos con
3
relación que pueden interactuar entre sí, pero no realmente trabajar juntos.
¿Qué es DevOps?
“Comunicación” y “visibilidad en
tiempo real así como automatizar el
proceso de entrega de software y los
cambios a la infraestructura
¿Qué es DevOps?
● Enfatiza en la comunicación,
colaboración entre el software de
desarrolladores y los otros
profesionales.
● Realizar códigos, probar y
desarrollar software pueda
realizarse rápidamente, de manera
frecuente y segura.
4
8
6 /1 9 /2 0 2 0
Definiciones de DevOps
10
6 /1 9 /2 0 2 0
¿Qué no es DevOps?
DevOps no es automatización.
11
¿Qué no es DevOps?
No es una herramienta implementada.
12
6 /1 9 /2 0 2 0
Michael Hüttermann.
13
Jez Humble.
14
6 /1 9 /2 0 2 0
Historia
Historia
2008
16
6 /1 9 /2 0 2 0
Historia
2009
17
Historia
2010
2011
18
6 /1 9 /2 0 2 0
Historia
2012
Los DevOpsDays fueron organizados alrededor del
mundo y se convirtieron en eventos TI muy
concurridos y deliberados sobre el pensamiento
innovador en el dominio DevOps.
2013
Mike Loukides, una figura prominente en el mundo
DevOps, junto con Debois editaron algunos textos
fundamentales de DevOps.
Gran cantidad de libros sobre DevOps aparecieron.
19
Historia
2014
2015+
10
DevOps es presente y futuro…
20
6 /1 9 /2 0 2 0
Historia
21
Propósito de DevOps
11
6 /1 9 /2 0 2 0
Propósito de DevOps
23
Propósito de DevOps
12
24
6 /1 9 /2 0 2 0
Propósito de DevOps
25
Propósito de DevOps
26
6 /1 9 /2 0 2 0
DevOps Adopción
El enfoque incremental se centra en la idea de
minimizar el riesgo y el costo de una adopción
de DevOps, construye las habilidades necesarias y
el impulso necesario para lograr una implementación
exitosa en toda la empresa.
1. Pensamiento de sistemas.
2. Amplificar bucles de retroalimentación.
3. La cultura de la experimentación continua y el
aprendizaje.
27
Beneficios
14
6 /1 9 /2 0 2 0
Beneficios
● Tiempo más rápido de comercialización
de los plazos de entrega
● Mejora la rentabilidad de las inversiones
(ROI).
● Desarrollo más rápido de software y la
entrega frecuente.
● Mejorar la colaboración entre el
desarrollador y los equipos de
operación.
● Transparencia para una toma de
decisiones efectiva.
● Comunicarse y colaborar con otros
equipos de TI en el entorno dinámico actual.
29
Beneficios
● Detección temprana y la
correspondiente corrección más rápida
de los defectos.
● Lanzamiento, implementación,
supervisión y la corrección continua.
● Entrega continua con menos fallas y
mejor calidad.
● Salida al mercado y ciclos de
lanzamiento más cortos.
15
30
6 /1 9 /2 0 2 0
Modelo CALMS
32
6 /1 9 /2 0 2 0
● Clan
● Meritocracia
● Holocracia (Sin autoridad)
● Jerarquía tradicional
33
34
6 /1 9 /2 0 2 0
35
Ejemplos:
● Builds
● Testing automatizado
● Deployments
● Configuración de infraestructura
18
36
6 /1 9 /2 0 2 0
37
38
6 /1 9 /2 0 2 0
Muri: sobrecargas
Mura: desbalanceado
40
6 /1 9 /2 0 2 0
Asegúrate de que las personas en tu equipo son felices y están satisfechas con su
trabajo, así como también de que invierten su tiempo en cosas productivas.
42
6 /1 9 /2 0 2 0
Después de obtener métricas de las personas, medir los procesos que se llevan de
manera habitual en la organización te ayudarán a identificar las áreas de oportunidad.
43
44
6 /1 9 /2 0 2 0
Métricas Estabilida
d
45
Métricas Estabilidad
MTTR
23
6 /1 9 /2 0 2 0
47
49
Sistema de Producción
Toyota (SPT)
50
6 /1 9 /2 0 2 0
Kaizen
Motivación
Kaizen, término japonés para "mejora”.
51
BIMODAL - Gartner
IT Bimodal: Dos
enfoques distintos
pero coherentes,
bastante diferentes,
ambos esenciales.
26
[Link]
52
6 /1 9 /2 0 2 0
BIMODAL - Gartner
[Link]
53
DevSecOps
27
54
6 /1 9 /2 0 2 0
DevSecOps
Scrum Historia
Fuente: [Link]/docs/scrumguide 28
49
6 /1 9 /2 0 2 0
Scrum Proceso
49
58
6 /1 9 /2 0 2 0
Ciclo Plan-Hacer-Verificar-Actuar
Scrum / Kanban
(Plan-Do-Check-Act Cycle/
PDCA Cycle)
PDCA (Planear-Hacer-Verificar-Actuar o
Planear-Hacer-Verificar-Ajustar) es un
método de gestión de cuatro pasos
iterativo utilizado en los negocios para el
control y la mejora continua de procesos y
productos.
59
30
6 /1 9 /2 0 2 0
Definition of Ready
61
Definición de Listo
Scrum
(en Agile/Scrum)
62
6 /1 9 /2 0 2 0
63
32
6 /1 9 /2 0 2 0
DevOps y Agile
65
DevOps y Agile
66
6 /1 9 /2 0 2 0
Modelo en Cascada
Modelo V
Plan de pruebas de rendimiento
Plan de pruebas
35
El modelo de ciclo de vida V proviene del principio que establece que los procedimientos
utilizados para probar si la aplicación cumple las especificaciones ya deben haberse creado en la
fase de diseño.
6 /1 9 /2 0 2 0
• Trabajo colaborativo.
• Tiempos de despliegue rápido y continuo.
• Entrega más rápida de funciones.
• Enfoque en el trabajo importante.
• Estabilidad en el ambiente.
71
72
6 /1 9 /2 0 2 0
73
DevOps e
ITSM (ITIL)
DevOps
industry architecture, figure 9.
"ITIL® is a (registered)
Trade Mark of AXELOS
Limited. All rights reserved
©Copyright AXELOS.
37
6 /1 9 /2 0 2 0
Equipo DevOps
Organización-Legado
38
76
6 /1 9 /2 0 2 0
39
6 /1 9 /2 0 2 0
DevOps Total
• Master de Procesos.
• Master de Servicios.
• Ingeniero de DevOps.
• Coordinador de Lanzamiento.
• Ingeniero de Confiabilidad.
• Equipo de Desarrollo.
• Equipo de Operación.
40
• Etc.
(OJO el objetivo no es crear nuevas estructuras complejas)
80
6 /1 9 /2 0 2 0
El modelo DevOps
El ciclo DevOps
41
82
6 /1 9 /2 0 2 0
83
Planeación
Al igual que el modelo Agile, DevOps hace énfasis en la planeación continua de los
requerimientos y en el involucramiento del cliente para tener de manera constante
su feedback. De esa manera se pueden realizar los siguientes pasos:
42
84
6 /1 9 /2 0 2 0
Planeación
85
Planeación
Desarrollo
DevOps hace énfasis el uso de buenas prácticas en el desarrollo
de software. Estas prácticas se relacionan directamente con el
marco de trabajo Extreme Programming.
87
Desarrollo
88
6 /1 9 /2 0 2 0
Desarrollo
La actitud de los desarrolladores es tan
importante como su expertise técnico.
89
45
90
6 /1 9 /2 0 2 0
Antipatrones de desarrollo
91
Control de versiones
Sistema de control centralizado de versiones Sistema de control descentralizado de versiones
Repository Repository
Git add
Git commit
Git push
Git pull
Git checkout
Git merge
Testing
47
94
6 /1 9 /2 0 2 0
Testing
96
6 /1 9 /2 0 2 0
Testing
● Pruebas unitarias
● Pruebas de integración
● Pruebas de regresión
● Pruebas visuales
● Pruebas de performance
97
Testing
El círculo
vicioso
Menos
productivo y Tu código
preciso eres es menos
estable
49
98
6 /1 9 /2 0 2 0
● Mock objects
● Sprout class
● Rompiendo dependencias
● Dependencias ocultas
● Parámetros anidados
● Puntos de intercepción
● Código obsoleto
● Conservando las firmas
● Cómo saber que no estoy
descomponiendo algo más
99
10
0
6 /1 9 /2 0 2 0
Integración Continua
● Cada pieza de código está integrada en el sistema
una vez que el código está listo.
● Los sistemas pueden ser integrados y construidos
múltiples veces en un día.
● Todas las pruebas se realizan y deben ser
aprobadas para que el nuevo código se incorpore
definitivamente.
● La integración continua a menudo reduce la
fragmentación de los esfuerzos de los desarrolladores.
● El equipo de desarrollo está más preparado para
modificar el código según sea necesario, porque les
confiere la identificación y corrección para los errores de
integración.
101
10
1
Integración Continua
102
6 /1 9 /2 0 2 0
Integración continua
Build
Integration
Unit Test
Servidor Testing
Jenkins
Package (war,
jar, etc.)
Commit a un servidor de
código compartido.
103
Integración continua
52
104
10
4
6 /1 9 /2 0 2 0
Integración Continua
Pequeñas entregas:
105
Beneficios de la
Integración Continua
● Testing automatizado
● Ciclos de retroalimentación acelerados
● Decremento de conflictos interpersonales
● Proceso de despliegue confiable
53
106
6 /1 9 /2 0 2 0
Entrega continua
Build
Integration
Unit Test
Servidor Testing
Jenkins
Package (war,
jar, etc.)
Commit a un servidor de
código compartido.
107
Entrega Continua
Los ciclos de entrega de software puede ser en
múltiples entornos o ambientes:
El despliegue automatizado es la
posibilidad de que el software se
despliegue en
54
cualquier entorno en un momento dado.
108
6 /1 9 /2 0 2 0
Despliegue continuo
109
Despliegue continuo
55
110
6 /1 9 /2 0 2 0
Despliegue continuo
Build
Desplegar la aplicación
Compile Code Review en servidor de pruebas
UAT
Integration
Unit Test
Servidor Testing
Jenkins
Package (war,
jar, etc.)
Desplegar la aplicación
en servidor de
Commit a un servidor de producción
código compartido.
111
11
1
Despliegue continuo
112
6 /1 9 /2 0 2 0
Monitoreo continuo
● Entendiendo la telemetría
● Registrando comportamiento: datos y métricas
● Service Level Agreement.
113
El ciclo DevOps
57
114
6 /1 9 /2 0 2 0
116
6 /1 9 /2 0 2 0
El flujo de valor
6 principios
117
El flujo de valor
118
6 /1 9 /2 0 2 0
El flujo de valor
119
El flujo de valor
60
120
6 /1 9 /2 0 2 0
El flujo de valor
121
El flujo de valor
122
6 /1 9 /2 0 2 0
El flujo de valor
123
El feedback
5 principios
62
124
6 /1 9 /2 0 2 0
El feedback
125
El feedback
126
6 /1 9 /2 0 2 0
El feedback
127
El feedback
● Requerir que otro equipo complete tareas manuales, tediosas y propensas a errores.
● Requerir la aprobación de personas ocupadas y distantes al trabajo que se desea validar.
● Crear largos volúmenes de documentación los cuales quedarán obsoletos casi tan pronto
como se terminen.
64
En vez de esto, necesitamos que cada una de las personas en el flujo de valor encuentre y corrija
errores en su propia área de control como parte de su trabajo diario.
128
6 /1 9 /2 0 2 0
El feedback
● cliente externo
● cliente interno
129
Experimentación y
Aprendizaje continuo
5 principios
65
130
6 /1 9 /2 0 2 0
Experimentación y
Aprendizaje continuo
1. Habilitar el aprendizaje organizacional.
Patológica Burocrática Generadora
comunicación de dicha organización.” Las responsabilidades son Las responsabilidades son Las responsabilidades son
eludidas fragmentadas compartidas
Las nuevas ideas se Las ideas nuevas crean Las ideas nuevas son
aplastan problemas bienvenidas
131
Experimentación y
Aprendizaje continuo
¿Forma de organización o
diagrama de arquitectura de software?
66
[Link]
132
6 /1 9 /2 0 2 0
Experimentación y
Aprendizaje continuo
133
Experimentación y
Aprendizaje continuo
Administración por objetivos (APO) vs Objetivos por resultados clave (OKR)
APO OKR
¿Qué? ¿Qué y cómo?
Resultados clave
Anual Trimestral o mensual son:
134
6 /1 9 /2 0 2 0
Experimentación y
Aprendizaje continuo
Ejemplo: OKR de John Doerr en 1975
135
Experimentación y
Aprendizaje continuo
[Link]
136
6 /1 9 /2 0 2 0
Experimentación y
Aprendizaje continuo
3. Líderes reforzando una cultura del aprendizaje: coaching
kata
- ¿Qué fue lo último que hiciste y que resultó?
- ¿Qué aprendiste?
- ¿Cuál es la situación actual?
- ¿Cuál es tu próximo objetivo?
- ¿Qué obstáculo estás teniendo?
- ¿Cuáles son los siguientes pasos?
- ¿Cuál es el resultado esperado?
- ¿Cuándo podemos hacer un checkpoint?
137
Experimentación y
Aprendizaje continuo
69
138
6 /1 9 /2 0 2 0
Dónde empezar
70
140
6 /1 9 /2 0 2 0
Modelo Gartner
DevOps
Conoce el reporte DevOps
71
142
6 /1 9 /2 0 2 0
Bibliografía recomendada
143
Contáctanos
72
144
6 /1 9 /2 0 2 0
CertiProf ®
Professional Knowledge
[Link]
CERTIPROF® is a registered trademark of
CertiProt LLC in the United States and/or
other countries.
@Certiprof@CertiProf
73