DevOpses un cambio en la cultura de los equipos y el deseo de mejorar sus procesos.
Developer Operations
Developer
Operations
DevOps no es
Una Herramienta
Una persona nueva en nuestro equipo de trabajo
Un nuevo equipo
Automatización: Delegación de muchas tareas a herramientas
DevOps es
Cultura: Deseo de ambos equipos en colaborar
Sharing: Herramientas internas compartidas por todo el equipo
Empecemos con la parte tecnica
Versionar nuestro codigo
Title Text
Nombres adecuados para cada rama de trabajo
feature/
hotfix/
release/
datasift.github.io
Luego de versionar..
Un flujo ideal y seguro de envío a producción 🤙🏻
Como logramos ese flujo?
1. Tener un ambiente de desarrollo lo mas parecido a producción.
🐳
Continuous Integration(CI)
😧
CI como proceso
y
CI como herramienta
CI como proceso significa que cada cambio que se ha subido al sistema de control de versiones ha sido puesto a prueba y los cambios han sido validados y aceptados.
CI como herramienta usualmente se refiere a la herramienta que facilita el proceso de Continuous Integration
Ventajas de usar un CI
Automatización para correr los test en cada integracion de codigo
Automatización de despliegue a QA y producción si cada uno de los test pasa
"Un CI es tan bueno como las pruebas que escribamos"
Continuous Delivery
😦 😰
El código no necesariamente tiene que terminar en producción pero el simple hecho de que se pueda hacer deploy con confianza basado en el proceso de Continuous Integration.
b4d8ad1 ✅ 🚀
f2d09faa ✅
cb955285 ✅
e8597806 ✅ 🚀
27f5c5ce ✅
Continuous Deployment
😥
Al igual que en el Continuous delivery, este proceso ya paso el CI la diferencia es que cada vez que se haga una integración el código resultara en producción.
b4d8ad1 ✅ 🚀
f2d09faa ✅ 🚀
cb955285 ✅ 🚀
e8597806 ✅ 🚀
27f5c5ce ✅ 🚀
Razones para aceptar DevOps
La tecnología últimamente ha evolucionado, pasando de sencillos lenguajes de programación a grandes aplicaciones robustas y sólidas.
Permite el enfoque a nuevas oportunidades en el mercado. 💪🏻
Permite establecer una capacidad robusta en la rápida y continua entrega de software. 👊🏻
Promueve el desarrollo rápido de código y genera retos en los equipos involucrados. 🤟🏻
Permite tener moniteo y seguimiento al cualquier error o daño critico al tiempo que podemos dar una pronta solución. 🚀