Kleer cómo llevamos scrum al próximo nivel (Webinar 2011-05-13)
Dev ops e infraestructura – acompañando nuestro software a producción
1. DevOps e
Infraestructura
Acompañando
nuestro
software a
producción
Carlos Peix - carlos.peix@kleer.la - @carlospeix
2. DevOps - ¿Qué es? ¿Qué NO
es?
¿Que no es?
● Bla, bla, bla
● Bla, bla, bla
● Bla, bla, bla
● Bla, bla, bla
● Bla, bla, bla
¿Que es?
● Ble, ble, ble
● Ble, ble, ble
● Ble, ble, ble
● Ble, ble, ble
● Ble, ble, ble
8. Sistema basado en demanda
(pull system)
¿Por qué? Testers pueden probar
cualquier versión
Operaciones instala con un
solo click en cualquier
ambiente
Soporte que puede revisar
cualquier versión pasada
Área de IT puede dedicarse
a otros temas más
interesantes
9. Repetible, confiable y predecible
¿Por qué? < Stress
< Fragilidad
> Velocidad
> Flexibilidad
< Errores
< Time to Market
< Lead y Cycle Time
10. ¿Cómo?
“Si usted es un arquitecto
de torre de marfil, por
favor descienda y
póngase en contacto con
la intersección vital entre
software, hardware y los
usuarios finales.”
Trad. ajustada del libro Release It de Michael
Nygard|
11. ¿Cómo?
“Los desarrolladores
deben entregar software
listo para producción”
Trad. ajustada del libro Continuous Integration
De Jez Humble y David Farley
12. ¿Cómo?
TTM
Lead Time
Simplicidad
SLA
Estabilidad
Seguridad
Oportunidades
Soporte al negocio
Retorno de inversión
Competitividad
13. ¿Cómo?
Flujo de valor y deployment pipeline
Value Stream
Deployment pipeline
14. ¿Cómo?
Flujo de valor
¡Producció
n!
Desarrollado
r
Commit
Stage
Acceptance
Stage
Release
Stage
Compile
Unit
tests
Code
metrics
Integrati
on tests
Acceptanc
e tests
Manual
tests
Stress
tests
Build server
Deployment pipeline
15. ¿Cómo?
Todo en VCS
Proceso repetible
Automatizar (casi) todo
Si duele, más frecuente
Calidad desde el principio
Terminado es “en producción”
Todos somos responsables
Mejora continua
17. ¿Qué?
Construcción
• Dependencias, calidad
Prueba
• UI, integración, unitarias
Despliegue
• Base de datos, ambiente, configuración
Monitoreo
• Técnico, negocio
18. ¿Qué?
Construcción
Automatización
• Jenkins, Teamcity, etc
Dependencias de terceros
• Maven, Gems, NuGet
Dependencias propias
• Nexus, Artifactory
19. ¿Qué?
Despliegue
Base de datos
• Liquidbase, Migrator.NET, etc
Ambientes
• Puppet, Ansible, Vagrant, Docker
Configuración
• Nagios, Open NMS, Zookeeper
• Ant, NAnt, Perl, Bash, Powershell
20. ¿Qué?
Monitoreo
Técnico
• Smoke tests
• Dependencias
Negocio
• Indicadores transacciones de negocio
• Graphite, Etc.
21. ¿Qué?
Despliegue completamente probado
Debe estar automatizado
(caso contrario, ¿qué probamos?)
Probamos (automatizamos)
Cambios en la base de datos
Configuración del ambiente
Configuración de la aplicación