Can't Code Logo

Docker and Ansible

I think using both these tools is the simplest way to achieve a fully automated development lifecycle.

You always need to do tasks manually, even when working in a fully managed cloud environment. As soon as you do a manual action, you have a maintenance problem.

I think Ansible is the glue that sticks all the other pieces together, whatever the parts you use. Your team needs only to know one shared language and will be able to maintain and evolve your infrastructure with different tools over time.

If you've been installing your application directly inside a virtual machine, if you do it with Ansible, it's pretty reasonable, but your developer will ask for more. They'll want to use Docker as it's a lot efficient to work on multiple projects locally. What do you do? Continue to manage your virtual machine with Ansible, but now manage the installation and configuration of Docker, the build and deployment of your containers all within Ansible!

These two tools will get you far before you need more. If you manage multiple thousands of containers in a high-volume environment, your needs will differ, but for most apps, this is a simple and elegant solution.

© 2022, Benjamin Houle