Novidades no CTP de Julho para o Windows Azure
Olá pessoal, tudo certo?
Como fazemos sempre que um novo CTP é lançado para a plataforma Azure, vamos conferir as novidades que chegaram! No post anterior você encontra os links para os novos CTPs.
Logo após a instalação, você já percebe que os templates para a nuvem foram agrupados numa caixa de diálogo, como vemos a seguir. A partir da opção Cloud Service/Cloud Service no Visual Studio 2008 (caixa New Project)…
…você pode escolher quais templates aplicar em seu projeto para a nuvem, como vemos a seguir:
Como resultado, agora podemos combinar múltiplas Web Roles e Worker Roles num mesmo projeto cloud, veja o exemplo abaixo:
Isso deve permitir a construção de soluções mais interessante na nuvem, combinando e dividindo tarefas entre diferentes Worker Roles, assim como capacidades da aplicação em diferentes Web Roles. Ainda, é possível integrar essas Roles com o CGI Web Role, uma Web Role que suporta uma aplicação FastCGI.
Nosso arquivo de configuração (.cscfg) também mudou, contemplando os vários projetos agora participantes, veja:
Arquivo: ServiceConfiguration.cscfg
1: <?xml version="1.0"?>
2: <ServiceConfiguration serviceName="CloudService2" xmlns="https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
3: <Role name="WebRole1">
4: <Instances count="1" />
5: <ConfigurationSettings />
6: </Role>
7: <Role name="WebRole2">
8: <Instances count="1" />
9: <ConfigurationSettings />
10: </Role>
11: <Role name="WebRole3">
12: <Instances count="1" />
13: <ConfigurationSettings />
14: </Role>
15: <Role name="WorkerRole1">
16: <Instances count="1" />
17: <ConfigurationSettings />
18: </Role>
19: <Role name="WorkerRole2">
20: <Instances count="1" />
21: <ConfigurationSettings />
22: </Role>
23: </ServiceConfiguration>
Assim como o arquivo de definição de processo e roles para o ambiente no Windows Azure, veja:
Arquivo: ServiceDefinition.csdef
1: <?xml version="1.0" encoding="utf-8"?>
2: <ServiceDefinition name="CloudService2" xmlns="https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
3: <WebRole name="WebRole1" enableNativeCodeExecution="false">
4: <InputEndpoints>
5: <!-- Must use port 80 for http and port 443 for https when running in the cloud -->
6: <InputEndpoint name="HttpIn" protocol="http" port="80" />
7: </InputEndpoints>
8: <ConfigurationSettings />
9: </WebRole>
10: <WebRole name="WebRole2" enableNativeCodeExecution="false">
11: <InputEndpoints>
12: <!-- Must use port 80 for http and port 443 for https when running in the cloud -->
13: <InputEndpoint name="HttpIn" protocol="http" port="8080" />
14: </InputEndpoints>
15: <ConfigurationSettings />
16: </WebRole>
17: <WebRole name="WebRole3" enableNativeCodeExecution="false">
18: <InputEndpoints>
19: <!-- Must use port 80 for http and port 443 for https when running in the cloud -->
20: <InputEndpoint name="HttpIn" protocol="http" port="8081" />
21: </InputEndpoints>
22: <ConfigurationSettings />
23: </WebRole>
24: <WorkerRole name="WorkerRole1" enableNativeCodeExecution="false">
25: <ConfigurationSettings />
26: </WorkerRole>
27: <WorkerRole name="WorkerRole2" enableNativeCodeExecution="false">
28: <ConfigurationSettings />
29: </WorkerRole>
30: </ServiceDefinition>
Quando executamos nosso projeto localmente, o Development Storage é iniciado, para suportar os objetos Blobs, Queues e Tables do Azure Storage.
Da mesma forma, a ferramenta Development Fabric é disparada, apresentando nosso ambiente local para testes com as várias Roles participantes do projeto. Em nosso exemplo inicial, temos 3 Web Roles e 2 Worker Roles, veja:
Continua assim a possibilidade de acompanhar nossos testes locais de forma integrada, monitorando o comportamento de cada papel no projeto para a nuvem.
A publicação do projeto para o Windows Azure continua da mesma forma, integrada ao Visual Studio 2008, na janela Solution Explorer:
Após a compilação, somos direcionados para o portal do Windows Azure, para o upload dos arquivos de projeto (.cspkg) e configuração (.cscfg):
Depois de algum tempo realizando o upload dos arquivos, a página de administração de Staging e Production é apresentada, permitindo a inicialização e execução do projeto. Veja que agora, como o projeto possui mais de uma role associada, temos as várias roles descritas para nossa administração de forma individualizada, bem legal!
Em posts futuros, vamos falar um pouco mais sobre as novidades do CTP de Julho e como podemos aproveitar seus recursos em alguns novos cenários de aplicações para a nuvem.
Por enquanto é só! Até o próximo post :)
Waldemir.
Comments
Anonymous
August 07, 2009
Olá,Waldemir. Preciso ligar minhas aplicações WinForms a serviços de mensagens instantâneas (Windows Messenger) e compartilhamento de arquivos (Live Workspace). Um MVP disse que há equivalentes na plataforma Azure, mas não consigo encontrar material específico sobre isso. Você poderia nos fazer a gentileza de citar onde há tais referências ou algum exemplo/template?Anonymous
August 07, 2009
The comment has been removed