Blog
Continuous Delivery of Docker Images
Our customer wanted to drastically cut down time to market for the new version of their application. Large quarterly releases should be replaced by small changes that can be rolled out to production multiple times a day. Below we will explain how to use Docker and Ansible to support this strategy, or, in our customer’s words, how to ‘develop software at the speed of thought’.
To facilitate development at the speed of thought we needed the following:
- A platform to deploy Docker images to
- Set up logging, monitoring and alerting
- Application versioning
- Zero downtime deployment
- Security
- Java VMs to run our Scala services
- HA Proxy
- Syslog-ng
- A utility to rotate log files
- And even an Oracle database (not on acceptance and production because we expected support issues with that setup, but for development it works fine)
- Check if the running container version differs from the one we want to deploy
- If the version is different, stop the old container and start the new one
- If the version is the same, don’t do anything
- First shut down the health container on one node
- This causes the load balancer to remove the node from the list of active nodes
- Update the first node
- Restart the health container
- Run the update script in parallel on all other nodes.

Cristiana
Some bio goes here
Contact
Let’s discuss how we can support your journey.