Basic Concepts of IaC
IaC tools and practices are built based on the concepts described here. It helps to have a solid understanding of these concepts before exploring the advanced topics.
Declarative Approach versus Imperative Approach
Most IaC tools use the declarative approach of defining the required infrastructure, in contrast with the traditional imperative programming style. Before you get to know the declarative approach, you can take a look at what the imperative programming approach achieves.
The imperative programming approach primarily deals with detailed instructions about how exactly the infrastructure provisioning has to be achieved. This could be similar to the execution of setup scripts in the right sequence to set up a virtual machine or laptop, or similar.
In contrast, the declarative programming approach details the “what,” and describes the desired state of the infrastructure provisioning. This approach does not get into the implementation...