Introdução sobre o Windows Azure
Waldemir Cambiucci
Arquiteto de Soluções – Microsoft Brasil
Maio 2011
Tecnologias: SQL Azure, Windows Azure, Windows Azure AppFabric
Conteúdo
Introdução
A plataforma Windows Azure
O Windows Azure
Modelo de Desenvolvimento
Preparando a estação de desenvolvimento
Modelo de Roles (papéis) no Windows Azure
Tipos de alta escalabilidade do Azure Storage
Arquitetura de aplicações para o Windows Azure
Templates e Roles disponíveis no Visual Studio 2010
Considerações Finais
Referências
Sobre o Autor
Introdução
A computação em nuvem (ou cloud computing) tem sido um dos assuntos mais discutidos atualmente no mundo da tecnologia da informação, seja pela oportunidade de redução de custos em TI para cenários corporativos ou pelo poder de computação e alta disponibilidade via internet que oferece para seus usuários finais e empresas. Neste cenário, a Microsoft lançou a plataforma Windows Azure, que oferece uma plataforma como serviço (PaaS – Platform as a Service), a partir de datacenters da Microsoft espalhados pelo mundo. Além dos recursos nativos do Windows Azure, a plataforma oferece uma série de serviços que capacitam as aplicações com bancos de dados, barramentos de serviços, mecanismos de controle de acesso, suporte ao modelo de software como serviço (SaaS – Software as a Service), entre outros. Uma das principais capacidades de uma plataforma como serviço é seu poder de computação, através da hospedagem e execução de processos com alta escalabilidade e provisionamento dinâmico. Este artigo apresenta os principais conceitos e recursos do Windows Azure para a execução de processos e aplicações na nuvem.
A plataforma Windows Azure
A plataforma Windows Azure é uma plataforma como serviços (PaaS – platform as a service) oferecendo recurso para computação de processos (Compute), armazenamento de objetos e dados (Storage), gerenciamento de serviços e recursos contratados (Management).
Podemos destacar quatro grandes grupos de capacidades sobre a plataforma Windows Azure, a saber:
- Windows Azure: com seus recursos para computação, hospedagem de aplicações e serviços, gerenciamento e armazenamento de dados de alta escalabilidade, via o Azure Storage;
- SQL Azure: com seus recursos para relatórios, persistência de dados relacional, sincronização de dados com o ambiente on-premise e gerenciamento de dados na nuvem;
- Windows Azure AppFabric: com seus recursos para gerenciamento e publicação de serviços, através do Service Bus, e controle de acesso, através do Access Control. Funcionalidades como o Azure AppFabric Caching oferecem recursos adicionais para aplicação na nuvem com alta performance.
- Windows Azure DataMarket: finalmente, o Azure DataMarket oferece mecanismos diversos para billing, gerenciamento de pagamentos, subscrição, informações sobre serviços publicados e relatórios para o controle de aplicações oferecidas na nuvem.
Todos esses recursos podem ser consumidos ou utilizados por aplicações, hospedadas no próprio Windows Azure. Aplicações hospedadas no ambiente local (on-premise) de uma empresa também podem consumir esses serviços e recursos na nuvem, criando soluções híbridas poderosas. A figura 1 ilustra os vários recursos presentes na plataforma Windows Azure, veja:
Figura 1 – Principais recursos e serviços da plataforma Windows Azure.
Na figura 1 vemos que os recursos da plataforma Windows Azure estão disponíveis para diferentes ambientes de desenvolvimento, como Visual Studio e .NET, Eclipse, PHP, PYTHON e JAVA. A mesma experiência obtida pelo desenvolvedor no ambiente local (on-premise) de sua empresa é obtida quando construímos aplicações para a plataforma Windows Azure.
Ainda, uma aplicação na plataforma Windows Azure pode se beneficiar de todos os recursos acima descritos, conforme a necessidade, num modelo de contratação conhecimento como “pay as you go”, ou seja, o usuário paga somente pelos recursos efetivamente contratados e utilizados na plataforma.
O Windows Azure
O Windows Azure oferece três grupos principais de funcionalidades para a execução de processos, aplicações e serviços num modelo de nuvem:
- Computação: através de uma malha de máquinas virtuais disponíveis para contratação, o Windows Azure oferece um poder de processamento ilimitado para aplicações que exigem alto volume de computação.
- Armazenamento: aplicações executada na nuvem exigem tipos específicos preparados para uma alta escalabilidade e resposta. Ao mesmo tempo, aplicações na nuvem podem exigir um espaço ilimitado e crescente para o armazenamento de objetos diversos, como dados não estruturados, arquivos, figuras, imagens, vídeos, áudios, etc. Para esse tipo de necessidade, a plataforma Azure oferece o Azure Store, como parte das capacidades de armazenamento do Windows Azure.
- Gerenciamento: para aplicações e processos executados na plataforma Windows Azure, temos ferramentas de gerenciamento e administração através das capacidades de gerenciamento da plataforma. Assim, recursos para criação de máquinas virtuais, configuração de serviços, deployment de aplicações, monitoração e acompanhamento dos custos associados à conta no Azure estão disponíveis para usuário.
A figura 2 apresenta os principais recursos do Windows Azure:
Figura 2 – Principais componentes e serviços da plataforma Windows Azure.
Além dos recursos de computação e armazenamento descritos, a figura 2 ilustra outros componentes importantes da plataforma Windows Azure, como os recursos para Networking, através do Windows Azure Connect e CDN – Content Delivery Network, disponível para ganhos de performance em aplicações hospedadas na nuvem.
Recursos adicionais da plataforma tratam aspectos de autenticação, através do Azure AppFabric Access Control e Caching distribuído com o Azure AppFabric Caching Services.
Completando a plataforma, temos o Marketplace, com recursos para a publicação de dados e aplicações num modelo de subscrição via rede, com recursos para billing, relatórios, administração de serviços publicados, etc.
Modelo de Desenvolvimento
O desenvolvimento de aplicações para o Windows Azure pode ser descrito em quarto passos básicos, a seguir:
- Passo 1: preparação da estação de desenvolvimento para o Windows Azure.
- O passo 1 tem por objetivo a instalação dos pacotes de ferramentas e SDK (Software Development Kit) na estação do desenvolvedor, para a criação de aplicações para a plataforma.
- Passo 2: Criação da aplicação para o Windows Azure e testes locais;
- Depois de corretamente configurada a estação de trabalho, podemos desenvolver aplicações para o Windows Azure de forma local. Isso é possível através do uso do SDK do Windows Azure, que instala na estação de trabalho um ambiente emulador da plataforma, que permite o desenvolvimento e testes desacoplados do ambiente online;
- Passo 3: Criação de uma conta no Windows Azure;
- Antes de subir sua aplicação para a plataforma Windows Azure, devemos criar uma conta de subscrição. Existem diversas opções de contas disponíveis. Se você não possui uma conta Azure contratada, confira a opção de conta Trial, disponível até 30 de setembro de 2011, através do link:
Free Windows Azure Platform Trial
Ref.: http://www.microsoft.com/windowsazure/free-trial/ - Passo 4: upload da aplicação para o Windows Azure;
- Finalmente, após terminar o desenvolvimento da aplicação, podemos fazer o deployment (subida) da aplicação na plataforma Azure. Existem dois ambientes disponíveis para hospedagem: o ambiente de staging, dedicado para testes de homologação; e o ambiente de production (ou produção), dedicado para a publicação de aplicações finais, prontas para divulgação no mercado.
A figura 3 ilustra os quatro passos básicos para o desenvolvimento de aplicações para o Windows Azure:
Figura 3 – Passos básicos para o desenvolvimento de aplicações para o Windows Azure.
Preparando a estação de desenvolvimento
O desenvolvimento para o Windows Azure pode ser feito através de diferente ambientes, suportando as linguagens .NET, PHP, JAVA, Python e Ruby, além dos ambientes de desenvolvimento Visual Studio e Eclipse.
Para o desenvolvimento com o Visual Studio 2010, recomenda-se a instalação dos seguintes pacotes de apoio:
Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (March 2011) Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018&displaylang=en
Windows Azure Platform Training Kit - April Update (April 2011) Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413e88f8-5966-4a83-b309-53b7b77edf78&displaylang=en
Esses pacotes fornecem os componentes para simulação da plataforma em estações de desenvolvimento, assim como diversos exemplos e material de estudo que pode ser consultado pelo desenvolvedor.
Modelo de Roles (papéis) no Windows Azure
Para o desenvolvimento de aplicações no Windows Azure precisamos conhecer o conceito de Azure Services.
O Windows Azure Service consiste de uma fronteira de isolamento entre processos, através de componentes chamados Roles. Um Azure Services pode ser composto de diversos Roles. Cada Roles pode ainda possuir diversos endpoints para comunicação com componentes internos e externos, através de protocolos como HTTP, HTTPS e TCP.
Um Azure Service pode conter múltiplas instâncias de cada role. Para isso, um projeto no Windows Azure obedece às definições de um arquivo de descrição de serviços, que apresenta as configuração de tipos de roles e número de instâncias presentes no projeto.
Assim, temos na plataforma Windows Azure três tipos básicos de Roles:
- Web Role: uma role que é hospedada no IIS (Web) presente numa instância de Azure Service no Windows Azure.
- Worker Role: uma role que é executável como um serviço ou processo, por exemplo, um serviço de encoder, um consumidor de mensagens de filas, etc.
- VM Role: uma role que é representada por uma máquina virtual customizada, uma Virtual Machine (vhd). Nesse cenário, o cliente é responsável pela criação e configuração do sistema operacional da VM que será hospedada no Windows Azure.
A partir da descrição dos três tipos de Roles presentes no Windows Azure, a figura 4 ilustra o grau de controle e abstração que temos no uso de cada Role:
Figura 4 – Utilização de Roles e grau de controle do usuário.
Assim, para um maior grau de abstração sobre a plataforma, Web Roles e Worker Roles oferecem os benefícios de uma plataforma como serviço, onde o usuário se preocupa apenas com os detalhes da aplicação, sem ser responsável pelas atualizações de infraestrutura ou sistema operacional. Para necessidades de maior controle e customização, VM Roles oferece um maior controle sobre o ambiente contratado, exigindo que o usuário seja o responsável pelas atualizações de software e sistema operacional que foram escolhidos para a construção da máquina virtual hospedada.
Para os cenários de Web Roles e Worker Roles, os pacotes de SDK e Tools para o Visual Studio instalam templates prontos para utilização, o que facilita o desenvolvimento de aplicações para a plataforma.
Tipos de alta escalabilidade do Azure Storage
O Azure Storage é componente importante da plataforma Windows Azure. Ele oferece tipos específicos preparados para a alta escalabilidade esperada de aplicações no modelo de computação em nuvem.
Existem três tipos básicos fornecidos pelo Azure Storage, a saber:
- Blobs: os tipos blobs consistem em arquivos binários ou textos que são armazenados dentro de containers. Estes arquivos podem conter tags (metadados) que descrevem o arquivo ou adicionam informações sobre seu conteúdo. Cada container pode conter um ou mais arquivos de qualquer tipo especificado, com permissões especificas, podendo ser público ou privado. Os containers estão associados a sua conta de Storage no Windows Azure. Em aplicações no Windows Azure, podemos usar blobs para o armazenamento de arquivos de vídeo, imagens, áudio, etc. A figura 5 ilustra a estrutura de blobs no Azure Storage:
Figura 5 – Estrutura do tipo Windows Azure Blob no Azure Storage.
- Tables: o tipo table é uma forma de persistência baseada em tabelas para dados estruturados, porém, de forma não relacional como os bancos de dados tradicionais (SQL Server, Oracle, e DB2). Para os tipos relacionais, a plataforma Windows Azure oferece o SQL Azure. O Azure Table Storage é um serviço de armazenamento de dados não relacional que garante a persistência de entidades em tabelas associadas a uma conta do Windows Azure. Estas tabelas funcionam como containers que armazenam entidades. Cada entidade contém propriedades que funcionam como colunas de dados da tabela. A figura 6 ilustra a estrutura de persistência no Windows Azure Table.
Figura 6 – Estrutura do tipo Windows Azure Table no Azure Storage.
- Queues: finalmente, o tipo queue (fila) do Azure Storage oferece um mecanismo de comunicação assíncrona entre componentes de uma solução no Windows Azure. Os tipos queues permitem a comunicação entre processos, Web Roles e Worker Roles, por exemplo, através de mensagens colocadas na fila, mantendo um desacoplamento e alto desempenho para soluções publicadas na nuvem. Uma conta no Windows Azure está preparada para conter filas, criadas para nossas aplicações. A figura 7 ilustra a estrutura simples de mensagens por filas no Azure Storage:
Figura 7 – Estrutura do tipo Windows Azure Queue no Azure Storage.
Ainda, um quarto tipo chamado Drive também está disponível para aplicações sobre a plataforma Windows Azure. O tipo Drive oferece uma unidade NTFS para aplicações, permitindo a manipulação de arquivos dentro da plataforma. Nativamente, o tipo Drive é montado a partir do tipo Blob, ampliando as funcionalidades de aplicações na nuvem.
Podemos utilizar os tipos de alta escalabilidade tables, blobs e queues para a comunicação entre componentes de uma aplicação no Windows Azure. Por exemplo, podemos utilizar mensagens colocadas em filas para comunicar Azure Web Roles com Azure Worker Roles de uma solução. Após um processamento realizado, o Worker Role pode devolver resultados para a interface de usuário Web Roles, completando a execução da aplicação. Veremos esse tipo de arquitetura na próxima seção.
Arquitetura de aplicações para o Windows Azure
Através do uso de tipos de alta escalabilidade do Azure Storage e dos diferentes Azure Roles disponíveis, podemos construir aplicações com alto desempenho no modelo de nuvem.
A figura 8 a seguir ilustra uma arquitetura típica de aplicação no Windows Azure, onde utilizamos endpoints para a comunicação de Roles com sistemas externos, assim como os tipos nativos do Azure Storage (blobs, tables e queues) para a comunicação entre os componentes da solução em Web Roles e Worker Roles.
Figura 8 – Arquitetura de aplicação típica para o Windows Azure, ilustrando a comunicação através de endpoints e tipos do Azure Storage (blobs, tables, queues).
A utilização de arquiteturas como essa garante uma alta escalabilidade da aplicação, uma vez que permite o crescimento da infraestrutura de acordo com a necessidade, devido o alto desacoplamento entre seus componentes.
Templates e Roles disponíveis no Visual Studio 2010
Vejamos agora os diferentes templates disponíveis no Visual Studio para o desenvolvimento de aplicações para o Windows Azure. Após a correta configuração da estação de trabalho, abrimos o Visual Studio e notamos que uma nova pasta de templates está disponível para a criação de novos projetos.
A figura 9 apresenta a janela para criação de novos projetos no Visual Studio 2010, com a pasta chamada “Cloud”.
Figura 9 – Tela principal do Visual Studio 2010 para a criação de projeto para o Windows Azure.
Selecionando a pasta “Cloud”, temos a entrada de templates “Windows Azure Project”. Após definir o nome do projeto, local e nome da solução, podemos escolher os tipos de Azure Roles que desejamos para nossa solução.
Isso é feito através de uma janela de diálogo, que permite a seleção de roles entre os tipos:
- ASP.NET Web Role: um serviço Azure com uma interface web para o usuário;
- ASP.NET MVC 2 Web Role: um serviço Azure com uma interface web para usuário utilizando o pattern de desenvolvimento ASP.NET MVC 2;
- WCF Service Web Role: um serviço Azure para serviços WCF - Windows Communication Foundation;
- Worker Role: um serviço para processamento background, sem interface Web;
- CGI Web Role: um serviço do tipo Web Role que hospeda aplicações FastCGI.
A figura 10 apresenta a janela de seleção de Azure Roles de um projeto Azure:
Figura 10 – Janela de escolha de Azure Roles para um projeto em desenvolvimento.
A partir da seleção de Azure Roles componentes no projeto, o Visual Studio expande os templates escolhidos, apresentando seus componentes na janela do Solution Explorer. Para o exemplo ilustrado na figura 6, o Solution Explorer terá dois projetos principais: o WebRole1 e o WorkerRole1
Notamos que além das entradas para WebRole1 e WorkerRole1, a solução WindowsAzureProject1 possui também uma entrada chamada WindowsAzureProject1, com três componentes:
- A pasta Roles, com as entradas WebRoles1 e WorkerRole1;
- O arquivo de configuração ServiceConfiguration.cscfg;
- O arquivo de definição de serviços ServiceDefinition.csdef.
Vemos a janela do Solution Explorer no Visual Studio como ilustrado na figura 11.
Figura 11 – Janela do Solution Explorer, com as Roles do projeto Windows Azure.
Note que o projeto WebRole1 é simplesmente um projeto ASP.NET, com os mesmos componentes de um projeto ASP.NET local. Isso facilita o processo de migração de aplicações existentes para a nuvem, bastando a utilização do template WebRole para hospedar esse tipo de aplicação no Windows Azure.
A partir do arquivo de definição ServiceDefinition.csdef, temos a descrição dos Azure Services escolhidos para a solução, assim como a configuração de Endpoints criados para cada projeto. O uso de Endpoints é interessante em diversos cenários, permitindo a comunicação de roles no Azure com clientes externos.
A listagem 1 apresenta um exemplo de arquivo ServiceDefinition.csdef, obtido para o projeto exemplo:
Listagem 1 – Exemplo de arquivo ServiceDefinition.csdef.
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WindowsAzureProject1"
xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRole1">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
<WorkerRole name="WorkerRole1">
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WorkerRole>
</ServiceDefinition>
Outro arquivo importante na solução Azure é o ServiceConfiguration.cscfg, onde vemos a configuração dos tipos de roles em uso, assim como número de instâncias de cada role para a solução.
A listagem 2 apresenta um exemplo de arquivo Serviceconfiguration.cscfg, como utilizado pela nosso projeto exemplo.
Listagem 2 – Exemplo de arquivo ServiceConfiguration.cscfg.
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzureProject1"
xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"
osFamily="1" osVersion="*">
<Role name="WebRole1">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
<Role name="WorkerRole1">
<Instances count="1" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>
No arquivo de configuração da listagem 2, notamos as duas entradas para WebRole1 e WorkerRole1. Para cada entrada, temos a propriedade <Instances count />, onde definimos o número de instâncias que serão geradas na plataforma Azure para execução da aplicação. Para as duas roles vimos a definição de apenas uma instância.
Imagine um cenário onde nossa aplicação precise de três instancias de WebRoles e duas instâncias de WorkerRoles. Nesse caso, podemos alterar as opções de
<instances count />, como apresentado na listagem 3.
Listagem 3 - Exemplo de arquivo ServiceConfiguration.cscfg com novo número de instâncias por Role
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzureProject1"
xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"
osFamily="1" osVersion="*">
<Role name="WebRole1">
<Instances count="3" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
<Role name="WorkerRole1">
<Instances count="2" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>
Terminado o desenvolvimento da aplicação e configuração do número de instâncias, podemos executá-la localmente, através do emulador da plataforma, chamado Windows Azure Compute Emulator.
Ao executarmos a solução a partir do Visual Studio 2010, o Azure Compute Emulator é iniciado e permite a visualização das instâncias de WebRoles e WorkerRoles utilizados na solução.
Em nosso exemplo, mantendo a última alteração do arquivo ServiceConfiguration.cscfg, o Windows Azure Compute Emulator apresentará a seguinte tela de instâncias simuladas:

Figura 12 – Tela do Windows Azure Compute Emulator, apresentando as várias instâncias de Roles no projeto Azure em execução local.
Na figura 12, vemos que são emuladas três instâncias de WebRole1 e duas instâncias de WorkerRole1, como definido no arquivo de configuração. Note também que podemos selecionar individualmente cada instância, observando as mensagens de comunicação e comportamento de cada role, facilitando o processo de testes e depuração em ambiente local.
Terminado o processo de desenvolvimento e testes locais, podemos partir para o processo de publicação da aplicação na plataforma Windows Azure.
Para isso, usamos a opção "Publish..." do Visual Studio, na janela do Solution Explorer.

Figura 13 – Janela do Solution Explorer, com a opção de publicação de uma aplicação para o Windows Azure.
Ao iniciarmos o processo de publicação, uma janela de opções para Deployment é apresentada, oferecendo duas opções:
- podemos criar o pacote de projeto e fazer a subida manualmente;
- ou podemos criar o pacote de projeto e subir de forma integrada ao Visual Studio, através de uma conta previamente configurada no ambiente local.

Figura 14 – Janela de Deploy de projetos para Windows Azure no Visual Studio.
Após a compilação com sucesso do projeto, uma pasta com os arquivos de aplicação e configuração é apresentada. Esses são os arquivos destinados para o deployment na plataforma Azure. Em nosso exemplo, os arquivos “WindowsAzureProject1.cspkg” e “ServiceConfiguration.cscfg” foram gerados para o processo de deployment na plataforma.

Figura 15 – Tela principal de deployment de aplicações no portal do Windows Azure.
Podemos então acessar o portal do Windows Azure e criar um novo Serviço Hospedado, através da opção “New Hosted Service”. Isso irá disparar a janela de configuração de um novo Azure Services, onde faremos a indicação dos pacotes de aplicação e configuração gerados para nossa aplicação.
A figura 15 apresenta a janela de configuração do “New Hosted Service”, com os valores para deployment de nossa solução no Windows Azure.
Após o disparo do processo de criação do hosted service, a página principal do portal de administração do Windows Azure é apresentada, com o status e evolução do deployment no ambiente Azure.
Vemos esse processo de deployment na figura 16 a seguir:

Figura 16 – Tela principal de deployment de aplicações no portal do Windows Azure, mostrando o processo de provisionamento e status de um projeto.
Note que durante a configuração do deployment, podemos escolher entre o ambiente de Staging (homologação) e Production (produção).
Depois dos testes de homologação efetuados na aplicação, podemos promover o projeto de Staging para Production, através do botão “Upgrade” do menu principal do portal.
Nossa aplicação poderá ser executada diretamente através da URL definitiva escolhida também durante o processo de configuração do deployment.
URL: http://mywebrolesample.cloudapp.net.

Figura 17 – Exemplo de janela Web de uma aplicação ASP.NET Web Role padrão, conforme fornecida pelo template do Visual Studio 2010.
Vimos até aqui uma rápida descrição dos passos para desenvolvimento, contratação de contas e publicação de aplicações no Windows Azure. Para maiores informações, confira os laboratórios e exemplos disponíveis no Training Kit da plataforma, a partir do link a seguir:
Windows Azure Platform Training Kit - April Update (April 2011)
Ref.:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413e88f8-5966-4a83-b309-53b7b77edf78&displaylang=en
Considerações Finais
Neste artigo, você conheceu alguns dos principais recursos do Windows Azure, uma plataforma completa para aplicação na nuvem, da Microsoft.
Vimos os passos para desenvolvimento de uma aplicação para o Windows Azure, assim como as etapas principais para o deployment de projetos na nuvem.
Existem ainda diversos laboratórios disponíveis com o Azure Training Kit. Não deixe de conferir esse material, assim como os demais exemplos e artigos disponíveis para a plataforma do Windows Azure.
Referências
Windows Azure Team Blog
Ref.: http://blogs.msdn.com/b/windowsazure/
Windows Azure Developer Tools Team
Ref.: http://blogs.msdn.com/b/cloud/
Windows Azure Platform Administration Portal
Ref.: https://windows.azure.com/default.aspx
Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (March 2011)
Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018&displaylang=en
Windows Azure Platform Training Kit - April Update (April 2011)
Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413e88f8-5966-4a83-b309-53b7b77edf78&displaylang=en
Windows Azure posts no blog WCAMB
Ref.: http://blogs.msdn.com/b/wcamb/archive/tags/windows+azure/
Free Windows Azure Platform Trial
Ref.: http://www.microsoft.com/windowsazure/free-trial/
What is Windows Azure?
http://msdn.microsoft.com/en-us/library/dd179367.aspx
Sobre o Autor
Waldemir Cambiucci trabalha na Microsoft Brasil como arquiteto de soluções, com foco na comunidade de arquitetos e clientes corporativos. É graduado em Engenharia de Computação, mestre em Engenharia Elétrica e Pós-Graduado em Finanças e Administração. Com mais de 15 anos de experiência em TI, atua na Microsoft há 9 anos, tendo participado de projetos importantes no Brasil e no exterior. É palestrante frequente em diversos eventos técnicos como Tech-Ed Brasil 2007/2008/2009/2010, SOA Conference Brasil 2008/2009, RAF Brasil 2007/2008/2010, entre outros e escreve periodicamente para revistas e sites de tecnologia. É arquiteto certificado pelo IASA Foundations e possui as certificações MCP, MCSD, MCAD, MCDBA, MCSA, MCTS. Seu blog é o http://blogs.msdn.com/wcamb/ e seu twitter é o http://twitter.com/wcamb/.
