The importance of execution environments
The first question you might have is, why do we need an execution environment in the first place?
There are three reasons why execution environments can simplify your life:
- They allow better scalability by being distributed to multiple machines
- They allow you to freeze all dependencies to specific versions so that you can run the same playbook in five years, with the certainty that it will run exactly as you expect
- They allow you to use different ones for different playbooks so that you can decide when to upgrade each playbook runtime, independently from the others
So, how do execution environments achieve all this? They do so by leveraging containers. In fact, execution environments are containers that contain at least the Ansible runner and the required libraries to run. In addition, execution environments might also include an Ansible collection and many other components that are needed to run your automation.
...