Fazendo o deploy de uma Worker Role no Windows Azure

Olá pessoal,

Dando continuidade no post Hospedando um serviço WCF em uma Worker Role do Windows Azure, vou mostrar hoje o processo de deploy da solução. O primeiro passo é adquirir a sua conta do Windows Azure através do link, uma possibilidade pode ser utilizar a oferta introdutória, que fornece 25 horas de computação mensais sem custo. ATENÇÃO: se as 25 horas forem excedidas, existirá cobrança da diferença em cartão de crédito.

Depois que a conta já está disponível, podemos iniciar o processo de deploy, no Visual Studio 2010. Para isso clique com o botão direito em cima do projeto do Windows Azure e escolha a opção “Publish…”

Publish...

Após isso a tela “Publish Cloud Service” será exibida, esta tela fornece duas opções: “Create Service Package Only” e “Deploy your Cloud Service to Windows Azure”. A primeira opção irá criar dois arquivos para distribuição no Windows Azure, um arquivo de configuração (Cloud Service Configuration file, com a extensão .cscfg) e outro arquivo com o pacote binário do projeto (Service Package file, com a extensão .cspkg). A segunda opção irá fazer a mesma coisa e também irá fazer a instalação automática no Windows Azure. Vou escolher a primeira opção e depois fazer a instalação manualmente.

image

Para fazer a instalação manualmente é necessário logar na console administrativa do Windows Azure e escolher o seu projeto.

image

Depois de escolher o projeto, escalha o serviço.

image

Em seguida, clique no botão Deploy.

image

Agora informe o arquivo de configuração, o pacote binário, a versão do sistema operacional, um label para a versão e clique em Deploy.

image

Depois disso clique em run e espere o serviço entrar no ar. Atenção para a mensagem de warning exibida, mesmo se o serviço não estiver executando as horas serão contabilizadas.

image

Quando o Azure terminar de processar, o serviço fica com o status de ready e está pronto para ser acessado.

image

Para acessar o serviço, modifique o arquivo de configuração da aplicação cliente para apontar para o endereço do Windows Azure. No meu caso o endereço é net.tcp://rgodinho.cloudapp.net:8080/EchoService. O arquivo de configuração deve ficar parecido com o abaixo:

 <endpoint address="net.tcp://rgodinho.cloudapp.net:8080/EchoService" 
          binding="netTcpBinding" 
          contract="WcfDefinition.IEchoService"
          name="WcfDefinition.IEchoService" />

Abaixo vemos o exemplo da aplicação cliente funcionando.

image