Aqui vão mais 2 patterns interessantes para uso também no Azure:

1) Deployment dinâmico de sites

Com o Web Role do Azure suportando o IIS-full desde o ano passado já é possível fazer o deployment de múltiplos sites em uma única máquina/WebRole. O post http://www.wadewegner.com/2011/02/running-multiple-websites-in-a-windows-azure-web-role/ mostra que basta algumas configurações e pronto – num único pacote colocamos e configuramos mais de um site para rodar no Azure num único IIS.

Porém, esta solução não é boa para alguém que quer usar o Azure para revender a hospedagem de sites. Por quê? Simples: é inviável ter que criar e fazer upload de um novo pacote do Azure à cada novo site.

Uma melhor opção é a de ter uma máquina capaz de criar sites dinamicamente sem ter que parar o servidor IIS ou o WebRole. Natten Totten mostra como fazer isto neste post. Ele cria um serviço de deployment (WebDeployEngine) que fica a espera de arquivos zip contendo o novo site. Assim que o arquivo chega, ele carrega os arquivos para o WebRole e configura o IIS para mostrar este novo site. Simples e poderoso!

Com isto deixo o seguinte problema matemático: vendendo a hospedagem de sites por R$9/mês e sabendo que existem ofertas de ~US$60 para ter um nó de computação do Azure, quantos sites necessito vender para começar a lucrar usando o Azure?

2) Um WorkRole múltiplas tarefas

O grupo do Patterns&Practices da Microsoft já tratou em seus dois livros sobre o Azure (ver aqui e aqui) de um pattern interessante para executar mais de uma tarefa em um WorkRole. O pattern associa uma interface para uma Fila (IAzureQueue) com uma tarefa para ser feita em Batch (BatchProcessingHandler). O Batch é responsável pelo o polling na fila e por chamar o Comando (herança de ICommand) que irá tratar a mensagem.Veja a figura abaixo.

Mais uma vez, simples e poderoso.

O código pode ser encontrado em http://wag.codeplex.com/. Um texto mais detalhado você encontra em http://msdn.microsoft.com/en-us/library/ff966483.aspx.

Abraços

PS.: Saiu a nova versão 1.4 do SDK do Azure. Lembre-se de atualizar o seu.