Nós usamos Tecido e libcloud para escrever scripts python que podem chamar api's para criar um servidor, instalar todo o software necessário e alterar as configurações. Leva um pouco mais de tempo toda vez que criamos um servidor do que se tivéssemos uma imagem de disco, mas achamos que a simplicidade de não ter que construir muitas imagens é muito melhor.
Certifique-se de que todos esses arquivos estão no seu VCS (incluindo arquivos de configuração) para que você possa essencialmente usá-los como documentação para a aparência de sua configuração. Então, girar um novo servidor pode ser tão simples quanto
fab create_server:server_type=webserver