IaC versus Configuration as Code
You might be wondering, didn’t we just cover this in Chapter 11, when we spoke about Ansible? The answer is no, we didn’t. There’s a very distinctive difference between IaC and Configuration as Code (CaC). IaC tools are concerned with exactly that: infrastructure. This means networking, DNS names, routes, and servers (VM or physical) up to the installation of the operating system. CaC is concerned with what lives inside the operating system. People try to use one tool for everything, so you’ll see modules for Ansible that can configure switches and routers, but the tool shines best where it is intended to be used. Nobody is going to die if you mix these two, but your life will become more difficult.