Carlos Peix - [email protected] - @carlospeix
DevOps e Infraestructura
Acompañando nuestro software a producción
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
Iniciativa DevOps
¿Por qué? ¿Cómo? ¿Qué?
¿Por qué?
¡¡¡Porque se siente bien!!!
¿Por qué?
Costo
Velocidad (costo)
Calidad (costo)
¿Por qué?
¿Por qué?
¿Por qué? Testers pueden probar cualquier versiónOperaciones instala con un solo click en cualquier ambienteSoporte que puede revisar cualquier versión pasadaÁrea de IT puede dedicarse a otros temas más interesantes
Sistema basado en demanda(pull system)
¿Por qué? < Stress< Fragilidad> Velocidad> Flexibilidad< Errores< Time to Market< Lead y Cycle Time
Repetible, confiable y predecible
¿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|
¿Cómo?
“Los desarrolladores deben entregar software listo para producción”
Trad. ajustada del libro Continuous Integration
De Jez Humble y David Farley
¿Cómo?
TTMLead TimeSimplicidad
SLAEstabilidadSeguridad
OportunidadesSoporte al negocioRetorno de inversiónCompetitividad
¿Cómo?Value Stream
Deployment pipeline
Flujo de valor y deployment pipeline
¿Cómo?
Flujo de valor
¡Producción!
Desarrollador
CommitStage
AcceptanceStage
ReleaseStage
Compile
Unit tests
Code metrics
Integration tests
Acceptance tests
Manual tests
Stress tests
Build server
Deployment pipeline
¿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
¿Qué?
¿Qué?
Construcción• Dependencias, calidad
Prueba• UI, integración, unitarias
Despliegue• Base de datos, ambiente, configuración
Monitoreo• Técnico, negocio
Desde el día
1
¿Qué?
Automatización• Jenkins, Teamcity, etc
Dependencias de terceros• Maven, Gems, NuGet
Dependencias propias• Nexus, Artifactory
Construcción
¿Qué?
Base de datos• Liquidbase, Migrator.NET, etc
Ambientes• Puppet, Ansible, Vagrant, Docker
Configuración• Nagios, Open NMS, Zookeeper• Ant, NAnt, Perl, Bash, Powershell
Despliegue
¿Qué?
Técnico• Smoke tests• Dependencias
Negocio• Indicadores transacciones de negocio• Graphite, Etc.
Monitoreo
¿Qué?
Despliegue completamente probadoDebe estar automatizado
(caso contrario, ¿qué probamos?)
Probamos (automatizamos)Cambios en la base de datosConfiguración del ambienteConfiguración de la aplicación
¿Qué?
DevOps - ¿Qué es? ¿Qué NO es?
¿Que no es?
¿Que es?
Referencias
Referencias
Referencias
BUENOS AIRES
MONTEVIDEO
SAO PAULO
BOGOTÁ
QUITO
LIMA
MÉXICO DF
COCHABAMBA
Estamos
en...
Carlos Peix [email protected]
@carlospeix