O problema clássico em que esse tipo de arquitetura é executado é que os servidores da Web são muito fáceis de dimensionar, enquanto os bancos de dados são muito mais fáceis de ampliar.
O que você sugeriu é um bom começo. Eu tive uma experiência semelhante e estou no ponto em que tenho:
- 2x servidores web IIS 7.5 com configuração compartilhada do IIS e DFS-R replicando os diretórios de conteúdo da Web.
- 2 bancos de dados do SQL 2008 R2 em um cluster do MSCS
- 2x servidores AD / DNS para suportar o cluster
- 2x Balanceadores de carga HaProxy na frente dos servidores da Web
Obviamente, você pode se safar sem o AD e com um único servidor SQL se não se importar muito com a disponibilidade.
Quando o SQL se torna o gargalo, eu vou (depois de eliminar problemas no aplicativo) obter um hardware maior para os servidores SQL. Quando o IIS se torna o gargalo, eu posso simplesmente comprar mais caixas do IIS e jogá-las dentro. Não é incomum ver aplicativos com algumas grandes caixas de banco de dados na parte de trás com massas de servidores da Web na frente.
A outra questão principal é o custo de licenciamento. Em muitos casos, o custo do hardware torna-se irrelevante, porque as licenças de software que você precisa para executar isso se tornam muito maiores. Para agrupar o servidor SQL, acredito que você precise do SQL Server Enterprise e do Windows Enterprise Edition - são muito mais do que as versões Standard.
Por fim, você precisa decidir com o que mais se importa: baixo custo, desempenho ou disponibilidade. A disponibilidade é, na minha experiência, muito cara.