Fundamentals of DevOps and Software Delivery » FAQ
When should I use Ansible vs Docker vs Terraform?
Use Terraform/OpenTofu to provision infrastructure, Docker to package and run applications consistently, and Ansible to configure servers and orchestrate host-level tasks. They solve different layers of the delivery stack and frequently work best together.
Practical guidance
- Map tools to layers: infra provisioning, app packaging/runtime, host configuration.
- Avoid forcing one tool to do every job when it is not designed for that scope.
- Use reproducible pipelines that connect tool outputs cleanly.
- Document ownership per layer to reduce operational ambiguity.
Relevant chapters from the book