En el proyecto en el que estoy trabajando actualmente utilizamos Ansible para hacer el provisioning de la infraestructura y CodeDeploy para manejar el deployment. CodeDeploy es un servicio que Amazon provee gratuitamente a los usuarios de EC2, la plataforma cloud de servidores virtualizados de Amazon.
El funcionamiento de CodeDeploy es bastante simple: copia archivos desde Github o S3 hacia el servidor destino y permite como parte de ese proceso ejecutar algunos scripts. Pero más allá de este funcionamiento simple, la parte más valiosa de CodeDeploy es la capacidad de trabajar en conjunto con el mecanismo de auto-scaling de Amazon de forma de simplificar el deployment a una cantidad variable de instancias ofreciendo incluso algunas variantes de estrategia (one-by-one, all-together, half-and-half).
La siguiente imagen ofrece una vista de alto nivel del proceso de deployment que estamos usando en el proyecto.
Continuará…