DevOps Rompiendo barreras
DevOpsRompiendo barreras
¿Desarrollo y Operaciones divididos?Desarrollo Operaciones
Entrega frecuente de funcionalidad
Pocos despliegues. Miedo a desestabilizar
Un proceso definido para desarrollo
Otro proceso para administrar las plataformas
Herramientas especificas para desarrollo
Herramientas especificas para operaciones.
Especializados en desarrollo Especializados en infraestructura
Los miden por la cantidad de funcionalidades creadas
Los miden por el tiempo que el servicio esta disponible y los tiempos de respuesta de las aplicaciones
¿Y la división que problemas trae?
Guerra de culpables
• Cultura de súper héroes• Énfasis en los títulos (Desarrollador, tester,
Arquitecto)• Se favorece al plan sobre planear• Equipos separados buscando metas e
intereses propios• Lenguaje no común• Miedo a que el actuar de otro afecte mi
trabajo• Miedo a perder influencia y reputación
DevOps al ataque!!!
¿Qué es DevOps?Conjunto de patrones para incrementar lacolaboración entre desarrollo y operaciones.
Promueve la comunicación entre desarrollo. Ayuda a superar el miedo al cambio y despliegues riesgosos.
Promueve metas, procesos y herramientas compartidas.
Proceso integrado desde el inicio del desarrollo hasta su despliegue en producción y mantenimiento.
¿Qué es DevOps?Equipo de proyecto compuesto por programadores, testers, QA y expertos en operaciones.
Único objetivo: Desarrollar software de valor y entregarlo al usuario final.
El camino hacia DevOps
Cultura.Personas sobre procesos y herramientasPersonas compartiendo herramientas, conocimiento y procesos
ProcesosMétricasQue permitan tener objetivos compartidos.
HerramientasAutomatizaciónEsencial para tener retroalimentación temprana.
Cultura de colaboraciónRespeto entre las personasCompromisos y metas compartidasPracticas y herramientas compartidasPlanes construido entre todos y planeación frecuenteHabilidades y tareas complementarias (No súper héroes)Conocimiento compartidoPropiedad colectivaValores compartidos
Ambiente de colaboraciónAlcances y restricciones claros
Slack time para mejorar continuamente. No a la asignación full time.
Celebrar el triunfo juntos (DevOps)
Ambiente de colaboraciónPermitir la auto organización , evitar el micro
management.
Rotar los roles para promover la colaboración
Desarrollo y operaciones en el mismo espacio físico
Daily meetings DevOps
Retrospectivas compartidas DevOps
El camino hacia DevOps
Cultura.Personas sobre procesos y herramientasPersonas compartiendo herramientas, conocimiento y procesos
ProcesosMétricasQue permitan tener objetivos compartidos.
HerramientasAutomatizaciónEsencial para tener retroalimentación temprana.
ProcesosUn solo proceso de entrega de producto en
producción
Alinear las responsabilidades con entregable no con roles
Utilizar frameworks como kanban para operaciones.
Kanban
Métricas útiles
Software de valor en producción. AVANCE
Funcionalidades construidas y no puestas en producción. NO AVANCE
Cambio como indicador valioso.No distinguir entre BUGS,
Mejoras, Requisitos
Un solo indicador de cambio para Dev – Ops. Software, hardware, middleware
No se mide a operaciones por la estabilidad del ambiente
Objetivos compartidos
Métricas útilesLead timeThroughput
Métricas inútilesTest pass/fail ratios. Tan
pronto como falla lo corregimos.
Número de defectos creado o corregidos: Solo promueven la cultura de culpables. Si hay Bugs no hay valor.
Velocidad personal: Solo logra que cada quien busque lograr sus objetivos.
El camino hacia DevOps
Cultura.Personas sobre procesos y herramientasPersonas compartiendo herramientas, conocimiento y procesos
ProcesosMétricasQue permitan tener objetivos compartidos.
HerramientasAutomatizaciónEsencial para tener retroalimentación temprana.
HerramientasRelease automáticoIncrementa la eficienciaGarantiza procesos exitosos repetiblesSe puede automatizar la creación de
maquinas virtuales, aprovisionamientos, build, ejecución de tests, despliegue de aplicación.
HerramientasChefPuppetVagrantCucumber Puppet
Proceso de release automático de software
Proceso de aprovisionamiento automático
Herramientas PitfallsLos procesos automatizados requieren
mantenimiento.Paradoja de la automatización: Mientras mas
eficiente sea un sistema automatizado,es mas esencial la contribuación humana para que el sistema permanezca en ejecución.
Ironia de la automatización: A mayor nivel de automatización, menos habilidad tendrán las personas para hacerlo por si mismos o arreglar el sistema.
Q&A