Three solutions to structure a deployment with Ansible?
I would recommend to structure the code as defined in the Ansible Best Practices document:



and to follow the structure that major contributors to the ansible galaxy platform use, like geerlingguy.

If one will follow a significant different structure then it will be really hard in the future to reuse roles from the ansible galaxy community and one has to reinvent the wheel.