Herramientas para crear Ambientes de Desarrollo
Clase 5 de 29 • Curso Profesional de DevOps 2017
Contenido del curso
Entendiendo qué es DevOps
Ambientes de Desarrollo
Proceso de Integración Continua (Continuous Integration)
Proceso de Continuous Delivery
- 11

¿Qué es Continuous Delivery?
05:39 min - 12

Entendiendo el Flujo de Continuous Delivery o Continuous Delivery Pipeline
01:54 min - 13

Creando Nuestro Ambiente de Control de Calidad (Quality Assurance) con Now.sh
04:40 min - 14

Integrando nuestro Proceso de Integración Continua a nuestro Flujo de Entrega Continua (Continuous Delivery Pipeline)
15:26 min
DigitalOcean, Instancias y LoadBalancers
Manejo de Servidores Desde el Punto de Vista de DevOps
Infrastructure as Code, Creando Infraestructura a Partir de Código
Automatizando nuestro Flujo de Entrega Continua Completo
Conclusión
Los cambios empiezan desde el ambiente de desarrollo. Queremos que cuando nuestro código vaya a producción, tenga la mayor similitud al ambiente de QA y de desarrollo.
**Por ejemplo: **
Un compilador diferente podría no tener las mismas optimizaciones que otro, con esto podría parecer que el código es correcto localmente, per en producción actúa diferente.
En caso de que el código tenga dependencia de un paquete local, pero en el OS de producción no lo tiene, habrá un grave problema.
Cuando los operadores reciben el código, lo corren en el ambiente que se usa en común para otros servicios, etc.
**¿Qué herramientas pueden ayudar con esto? **
La más común seria Vagrant.
Configurando un Vagrantfile podemos definir que version de OS tener. Instalar dependencias y configurar el sistema.
Recientemente Docker ha recibido muchísimo auge. Podríamos decir que es el “happy medium” entre Developers y Operators. Los developers pueden montar desde una “imagen” que los operadores consideren segura y solamente preocuparse porque el código corra adecuadamente en el docker container. Así, no hay que preocuparse por dependencias de OS, compilación, etc. Si funciona en tu contenedor local, la probabilidad que funcione en el contenedor de production es muy alta. Para el operador, recibir un container, es muy similar a recibir un binario ejecutable.
Como efecto secundario de tener un ambiente de desarrollo reproducible, traer gente nueva al equipo se hace mucho más fácil ya que su ambiente ya está configurado idéntico al los del resto del equipo.