Acho que a implantação em uma VM nova a cada vez é uma ótima ideia. Ter vários aplicativos por VM não deve ser um problema, desde que você tenha um processo para testar cada um deles antes de passar para a produção. Você deve ser capaz de criar um script de inicialização personalizado que forneça a cada VM um nome de host exclusivo para evitar conflitos com as VMs de produção.
Algumas coisas (tenho certeza de que há mais) que você precisará considerar:
- como você manterá sua configuração mestra de VM da qual você clonou os outros e impedirá que as pessoas façam alterações inadvertidas que possam entrar na produção
- como você automatizará a troca de uma VM de teste para produção e, opcionalmente, obterá a VM antiga que ela substitui do balanceador de carga de produção.