Some of my clients have virtual machines for their websites which I want to manage using Ansible.
I'm sure that roles are the way to go. I can assign common roles like "web server" and "mail daemon" to my clients' hosts as well as deploy i.e. multiple Wordpress instances to one host using parametrized roles.
What I'm not sure about is how to assign these roles to my clients' hosts. What is the best practice to use inventory files, groups, playbooks, host_vars, group_vars and so on to assign roles (including multiple assignment of a parametrized role) to the hosts? Should I add each host to a playbook and assign the roles there? Should I assign roles to groups only (but then I could not add multiple parametrized roles? Or maybe I could, using host_vars or something like that)?