Deployment pipeline of a containerized application using AWS services

A few days ago, at Incontro DevOps Italia (IDI) 2019 I did a breakout session about the topic in subject. I decided to use the 30-ish minutes I had available to share a bit of context re the need for deployment automation and then I did a short demo (well, as short as a CI/CD demo could be) that was aimed at showing the individual pieces (namely the build and deploy phases) independently and then how to wrap them up together in a pipeline. To do so I have used my yelb demo app focusing on the user interface (yelb-ui) component alone. In the demo I have used a private repo called idi2019 that is nothing but a clone of yelb that I used to implement this exercise to avoid messing up too much with the original one. My plan would be to make these configurations available as part of the original yelb repo (this is work in progress but reach out if you can't wait).

Without the talk you are probably going to miss something critical in the flow that neither the slides nor the demo have captured. For example, note that Amazon ECS does have an out of the box update mechanism for a service. However ECS supports creating services whose updating mechanisms are governed by either ECS itself or by AWS CodeDeploy. In this scenario CodeDeploy complements the native capabilities of ECS offering a more structured Blue/Green type of deployment.

These are the slides I presented:

This is the demo I showed at the event:

Any question, feel free to ask!

Massimo.