In this chapter, we have already encountered the expression infrastructure code to describe the Ansible code that will create and maintain your infrastructure. We use the expression infrastructure code to distinguish it from the application code, which is the code that composes your applications, websites, and so on. This distinction is needed for clarity, but in the end, both types are a bunch of text files that the software will be able to read and interpret.
For this reason, a version control system will help you a lot. Its main advantages are as follows:
- The ability to have multiple people working simultaneously on the same project.
- The ability to perform code-reviews in a simple way.
- The ability to have multiple branches for multiple environments (that is, dev, test, QA, staging, and production).
- The ability to track a change so that we know when...