dynamic inventory scenario

I’m trying to wrap my head around hosts files, dynamic inventory (Linode, for me) and creating/provisioning new nodes within this scenario. If I have a brand new project and I want to use Ansible to spin up a few linodes to handle it - how best can I visualize this?

Keeping it simple, let’s say I wanted:

  • www (nginx proxying to web0[1-2])

  • web01 (running gunicorn/django)

  • web02 (running gunicorn/django)

  • db (postgresql)

Questions:

  1. Do I need to create these 4 servers via the Linode web interface or via the Linode module before I provision?
  2. If I want to add a new web worker node (for example) to horizontally scale traffic, how would I add it in after initial provisioning?

All the individual pieces are in the documentation, but I’m having a little trouble piecing it all together coherently - sorry.

Thanks,
James