IAC

Infrastructure As Code

"A long time ago, in a data center far, far away, an ancient group of powerful beings known as sysadmins used to deploy infrastructure manually. Every server, every route table entry, every database configuration, and every load balancer was created and managed by hand. It was a dark and fearful age: fear of downtime, fear of accidental misconfiguration, fear of slow and fragile deployments, and fear of what would happen if the sysadmins fell to the dark side (i.e. took a vacation). The good news is that thanks to the DevOps Rebel Alliance, we now have a better way to do things: Infrastructure-as-Code (IAC)."

https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca

Provisioning

Provisioning tools are designed to provision servers, load balancers, databases, firewalls etc.

Templating

Containers for resource efficient development.
Build Automated Machine Images

Configuration Management

Configuration Management tools are designed to install and manage software on existing servers.

Key Differences

Declarative Tools

Procedural Tools

GPL

DSL

Master

Agent

Bibliography