Separating code and data

The real magic of infrastructure as code tools, such as Ansible, lies in its ability to separate data and code. In our example, the default.conf file is a configuration file that is specific to an Nginx web server. The configuration parameters, such as ports, users, paths, and so on, remain generic and constant at all times, no matter who installs and configures them. What is not constant are the values those parameters take. That's what is specific to our organization. So, for this, we would decide the following:

  • Which port should Nginx run on?
  • Which user should own the web server process?
  • Where should the log files go?
  • How many worker processes should be run?

Our organization-specific policies may also require us to pass ...

Get Ansible Playbook Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.