![Page 2: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/2.jpg)
www.ackstorm.es
Blue/Green Deployment con Jenkins y Docker en AWS.
#AWSBcn
![Page 3: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/3.jpg)
www.ackstorm.es
Qué es el Blue/Green Deployment
1. Provisión de recursos auxiliares. Balanceadores,
configuraciones, roles.
2. Despliegue de la versión 1 y configuración de tráfico y
servicio (Green).
3. Creación de versión 2 y puesta en disposición de entrar
en producción(Blue).
4. Switch traffic from version 1 to version 2. Green to Blue
5. Delete Version 1. Run versión 2 as green and return
traffic to Green.
![Page 4: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/4.jpg)
www.ackstorm.es
Por qué usamos Blue/Green Deployment
1º Facilitar paso a producción
2º Para evitar la pérdida de servicio -
Downtime.
3º Acelerar la puesta en marcha y Software
cicle.
4º Necesario para Continuous Delivery.
![Page 5: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/5.jpg)
www.ackstorm.es
Blue/Green Deployment en AWS
ref medium.com
1. DNS way + La vía fácil
- Tiempo de propagación de dns
- Vuelta atrás de infarto
- 1 subida cada 24 horas?
![Page 6: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/6.jpg)
www.ackstorm.es
Blue/Green Deployment en AWS
ref loudnative.io
2. Elastic Load Balander + Vía fácil
- Warm up en balanceadores.
- Registro de las instancias en ELB
(Manocerdos)
- Ojo con los heathchecks.
- No es automático (scriptar?)
![Page 7: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/7.jpg)
www.ackstorm.es
Blue/Green Deployment en AWS
ref http://docs.aws.amazon.com/
3. Elastic Beanstalk + Paas
+ Container Philosophy
- I like AWS but looking vendor.
- It uses ‘de facto’ a DNS changing.
![Page 8: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/8.jpg)
www.ackstorm.es
Blue/Green Deployment en AWS
from blogs.aws.amazon.com
4. CloudFormation + Funciona en AWS (It works)
+ Paas
+ Container Philosophy
- I like AWS but locking vendor.
- Speed and deployment de complex
configurations.
![Page 9: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/9.jpg)
www.ackstorm.es
Old school
from loudnative.io
4. Rsync, GlusterFS, Capistrano... - Old way
- What's happens if changing in Prod
infrastructure.
- Ventanas de mantenimiento (QUÉ??).
![Page 10: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/10.jpg)
www.ackstorm.es
Continuous Integration with no Downtime in AWS
+ + =
![Page 11: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/11.jpg)
www.ackstorm.es
Docker es infraestructura
como código
Docker es Container como
servicio
![Page 12: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/12.jpg)
www.ackstorm.es
It’s not rocket science
![Page 13: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/13.jpg)
www.ackstorm.es
13
Docker is CaaS and IaaC
- IaaC
- CaaS
- Repetitive environments
![Page 14: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/14.jpg)
www.ackstorm.es
Bring a fix from branch n to branch m require m-n merges Perform merges the early and frequently as possible.
14
Mainline pattern
Git Mainline Pattern
![Page 15: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/15.jpg)
www.ackstorm.es
You just developed a stable version of the software and you need to create a new version with new features and still provide small fixes for the last stable version.
Branches will are PRE and PRO
15
Git Branches
![Page 16: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/16.jpg)
www.ackstorm.es
MASTER
PRE
PROD
N
N + 1
Git simple stages
![Page 17: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/17.jpg)
www.ackstorm.es
Jenkins configuration
![Page 18: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/18.jpg)
www.ackstorm.es
![Page 19: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/19.jpg)
www.ackstorm.es
1) Authenticate your Docker client to your registry:
aws ecr get-login --region eu-west-1
2) Run the docker login command that was returned in the previous step.
3) Build your Docker image:
docker build -t aws-demo .
4) After the build completes, tag your image and push the image to this repository:
docker tag aws-demo:latest 638514630763.dkr.ecr.eu-west-1.amazonaws.com/aws-demo:
latest
5) Push this image to your newly created AWS repository:
docker push 638514630763.dkr.ecr.eu-west-1.amazonaws.com/aws-demo:latest
AWS Docker Registry
![Page 20: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/20.jpg)
www.ackstorm.es
HAPROXY configuration
![Page 21: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/21.jpg)
www.ackstorm.es
DEPLOYNew version on BLUE
WAIT PENDING REQ.Momento BLUE / GREEN
PRODUCTIONMomento GREEN
DEPLOYNew version on GREEN
Version 2 Version 2 Version 2
Version 2
GRACEFUL STOP
HAPROXY Conf
![Page 23: Senior Cloud Architect Twitter: @javiernetes javier ... · Blue/Green Deployment en AWS from blogs.aws.amazon.com 4. CloudFormation + Funciona en AWS (It works) + Paas + Container](https://reader036.vdocuments.us/reader036/viewer/2022071218/6050bea0fe80c53ebe5a2c64/html5/thumbnails/23.jpg)
www.ackstorm.es
¡Gracias por vuestra atención!Thank You
Fin