Isso não é tão comum quanto você imagina, mas é a configuração ideal. O Azure tem o conceito com a capacidade de trocar uma instância de teste e ao vivo. Eu suponho que isso é o que você está se referindo.
Eu faço isso com vários sites e planejo documentar e lançar algumas práticas recomendadas no final deste ano sobre esse assunto.
O que você está usando para um balanceador mais longo?
Em um nível alto, aqui está o que eu faço:
- Eu uso o Application Request Routing (ARR) para a solução de balanceamento de carga
- Cada site é configurado com várias (2 - 4) 'instâncias'. Cada um aponta para um caminho diferente no disco.
- Eu posso enviar para qualquer uma das instâncias de teste durante o dia e testá-las completamente.
- Quando estiver pronto para ir ao ar (no meio do dia ou da noite), a regra de regravação de URL no servidor ARR é alterada para apontar para uma instância diferente de ServerFarm. Ele realiza a troca instantaneamente sem qualquer tempo de inatividade.
Se você não puder fazer isso no balanceador de carga, o que algumas pessoas farão é alterar o caminho no disco no IIS. Isso causará uma reciclagem AppDomain e não é tão suave, mas é muito rápido. Se você estiver usando a configuração compartilhada do IIS, a alteração para o novo caminho no disco será aplicada a todos os cinco nós ao mesmo tempo.