Vou dar uma olhada em algumas de suas perguntas, mas é muito mais útil se você puder refinar suas perguntas.
Any problems you see in my setup?
Não parece bom, mas depende do que você está fazendo e onde os gargalos podem ser.
In what situation Ansible could be not enough, so I wish to have something like docker?
Ansible deve ser bom para fazer toda a sua automação, mesmo se você estiver usando o Docker. Eu não usei muito o Docker, mas o Docker é essencialmente um wrapper em torno do lxc e o Ansible permite que você execute comandos em uma máquina linux completa ou em um contêiner lxc.
How to keep track on separate instances? If I change a playbook in ansible, how to be sure it has been run on every host in each instance?
Toda vez que você mudar seus livros Ansible, você basicamente terá que atualizar seu contêiner Docker se estiver usando o Docker. Então, do Docker, você pode usar push suas alterações. Se você não estiver usando o Docker, precisará executar novamente seus playbooks Ansible em todos os servidores afetados sempre que os alterar. Você pode querer considerar escalonar a execução de seus playbooks. Você pode executar esses livros localmente em cada um dos servidores ou remotamente a partir de uma estação de trabalho cliente. Tenha em mente que se você tiver muitos nós rodando a partir de uma estação de trabalho de um único cliente, pode não ser possível devido a restrições de rede e CPU do seu cliente.
Is there a chance to automate of create firewall rules for each VM based on roles and ansible inventory?
Sim. Se você estiver usando o Ansible, você pode usar modelos para configurar o iptables em cada uma das VMs.