Nos juntamos nuevamente en Lagash para hablar de DevOps, con el objetivo de poder contestar qué es, de dónde salió y por qué!! Y más aún, cómo lo podemos poner en práctica en nuestros proyectos y por qué no, en nuestro lugar de trabajo.
Además de definiciones, conceptos y prácticas, haremos una pequeña demo (porque de teoría no solo viven los Devs :) ).
Conversaremos sobre Delivery Pipeline, Customer Satisfaction, diseñar pensando en low-Risk Releases, y finalizaremos con Containers.
7. Embrace the challengelagash.com
Indicios de que algo no anda bien…
• Lentitud en la entrega de valor a los clientes.
• Deployments dolorosos
• Dificultad o imposibilidad de diagnostico de errores o fallas
en producción
• Errores que aparecen solo en cierto tipo de ambientes
• La culpa siempre la tiene el otro
• Baja calidad de los entregables
10. Embrace the challengelagash.com
Primero, un cacho de historia
- En la edad de piedra: ITIL
- Después de la epoca oscura: Agile
- 2004: Google tiene sus primeros SREs
- 2006: O’reilly Tech Radar : ”Operations: The new secret sauce”
- 2007: Se empieza a hablar de prácticas de software en Infrastructura (Ops)
- 2008: Segunda generación de Configuration Management Tools (Puppet)
- 2009: Charla ”10 Deploys per day” - O’reilly Velocity Conference
- 2010 en adelante: adopción por parte de empresas con buenas practicas de
ingeneria: Netflix, Amazon, Etsy, Flickr, etc.
11. Embrace the challengelagash.com
Que pasaría si tuviesemos o pudieramos…
• Equipos pequeños que puedan implementar features
• En ambienties tan similiares a producción como sea posible
• De forma rutinaria y predecible
• Con feedback a cada paso de los procesos
• Aprendiendo de nuestros errores (y corrigiendolos)
• Saber como se está comportando nuestra aplicación
• Arquitecturas que nos permitan hacer cambios de forma segura
• Liberar features de alto impacto de forma controlada
12. Embrace the challengelagash.com
Definiciones – Qué es DevOps?
• Es la práctica donde los equipos de desarrollo (dev) y operaciones (ops)
participan de forma conjunta en el ciclo de vida una aplicación, desde el
diseño, pasando por el desarrollo hasta el soporte operativo.
• Busca establecer una cultura y un ambiente donde prácticas como CI, AT,
CD, acompañadas de los herramientas correctas, nos permiten entregar
valor a los clientes de forma frecuente.
14. Embrace the challengelagash.com
El camino puede ser difícil
• No hay una fórmula mágica
• La cultura de una empresa no es un tema menor.
• No hay certificación que te diga: ”listo ya sos un DevOp”
• No todas las empresas son iguales
• Si haces un producto, puede que sea un ”poquito” más simple
Pero el paisaje y las experiencias
valen la pena
17. Embrace the challengelagash.com
Gene Kim’s: Three ways
• Entrega de valor de forma rápida y eficiente desde desarrollo y
operaciones (devops) hacia el cliente
• Captura de Feedback constante generado por parte de los clientes los
procesos involucrados
• Feeback nos permite aprender y evitar problemas futuros.
• Creación de una cultura donde la confianza, experimentación y toma
de riesgos facilite el aprendizaje y el dinamismo, aprendiendo de exitos
y fracasos.
18. Embrace the challengelagash.com
CAMS
- CULTURE -> Gente > Procesos > Herramientas
- AUTOMATION -> Infrastructure-as-Code (IaC)
- MEASUREMENT -> Medir todo
- SHARING -> Feeback / Ambiente colaborativo
19. Embrace the challengelagash.com
Algunas prácticas
• Repositorio como ”Single source of truth”
• Infraestructura más facil de reconstruir que reparar
• IaC – Configuration Management
• Virtualization / Containers / Cloud
• Tests Automáticos
• Continuous Integration / Continuous Delivery
• Monitoreo proactivo – Métricas
• Self-healing
• Incident Management / Problem Management
20. Embrace the challengelagash.com
Un poco más tácticos
- Low Risk releases
- Feature flags / Dark Launches
- IaC para aprovisionar ambientes
- Eliminar el ”works on my machine”
- Release early and often
- Telemetría
- Containers / Orchestrators
- Docker/ Swarm/ Mesos / Marathon / DC/OS
- Kubernetes
- Cloud (PaaS)
- Azure CloudFormation / ARM
- Delivery Pipelines
21. Embrace the challengelagash.com
Medir todo
Gilb’s Law:
”Anything you need to quantify can be measured in same
way that is superior to not measuring it at all”
State of DevOps Report
2017
Peopleware
25. Embrace the challengelagash.com
Algunos consejos
• Establecer y documentar procesos y mejores prácticas
• Expirementar
• Utilizar proyectos que sirvan como pilotos
• Tomar feedback e iterar.
• Fail fast– Hay tiempo para mejorar
• Buscar oportunidades de automatización
• Comunicar exitos, aventurarse y sumar más gente.
• Métricas. Dan visibilidad y te ayudan ver si vas por el buen camino
26. Embrace the challengelagash.com
Conclusiones
• Hay evidencia empírica que la calidad y la agilidad se incrementan
• State of DevOps reports – DORA
• Menores tasas de rotación
• Se eleva la calidad técnica de los equipos
• Una excelente forma de capacitarse con tecnologías actuales
• Valor agregado a los clientes
27. Embrace the challengelagash.com
Referencias
• DevOps Handbook - Humble, Kim, Debois, Willis
• Continuous Delivery
• Infrastructure as code - Morris
• Puppet Labs - State of DevOps reports 2017
• AWS DevOps blog
• El perrito lo encontré por ahí. Créditos al autor.
• El ojo de Saurón lo mismo. Créditos al autor.
29. Argentina | Buenos Aires
+54 (11) 4982 4185
info@lagash.com
Chile | Santiago de Chile
+56 (2) 2231 9428
info_chile@lagash.com
Colombia | Bogotá
+57 (1) 750 5276
info_colombia@lagash.com
México | México DF
+52 (55) 6394 0617
info_mexico@lagash.com
USA | Seattle - US
+1 844 4 Lagash
infousa@lagash.com
Uruguay | Montevideo
+598 2623 2546
info_uy@lagash.com
Let’s keep in touch
Notas del editor
No importa el rol o el seniority. Nuestro objetivo es resolver problemas, y crear soluciones para nuestros clientes y usuarios. Puede ser una ONG o un Banco o incluso un juego. El negocio no tiene que involucrar plata, sino satisfacción.
Una breve historia de sintomas – ejemplos.
Adopción incremental.
No hay una formula mágica.
De hecho, las encuestan son bastante parejas en cuanto al proceso elegido para empezar.