Este artigo foi traduzido por máquina.

Windows Azure

Desenvolvendo e implantando o Windows Azure aplicativos no Visual Studio 2010

Jim Nakashima, Hani Atassi e Danny Thorpe

Há muitas razões para implantar um aplicativo ou serviços no Windows Azure, a plataforma de serviços em nuvem da Microsoft. Elas incluem redução de operação e os custos de hardware pagando para que você usa, criação de aplicativos que possam dimensionar quase infinitamente, capacidade de armazenamento enormes, localização geográfica... a lista continua em e em.

Ainda uma plataforma é interessante com somente quando os desenvolvedores, na verdade, podem usá-lo. Os desenvolvedores são o coração e a alma de qualquer versão da plataforma — a definição muito de um lançamento bem-sucedido é o grande número de implantação de aplicativos e serviços em os desenvolvedores. Microsoft sempre tem o objetivo de fornecer a melhor experiência de desenvolvimento para uma variedade de plataformas de — seja estabelecida ou emergentes — com o Visual Studio, e que continua a nuvem de computação. A Microsoft adicionou suporte direto para a criação de aplicativos Windows Azure para Visual Studio 2010 e Express Visual Web Developer 2010.

Este artigo o orientará na usando o Visual Studio 2010 para o ciclo de vida de desenvolvimento de aplicativos Windows Azure na íntegra. Observe que, mesmo se você não hoje um usuário do Visual Studio, você pode ainda avaliar Windows Azure desenvolvimento gratuitamente, usando o suporte do Windows Azure no Visual Web Developer 2010 Express.

Criando um serviço em nuvem

Inicie o Visual Studio 2010, clique no menu Arquivo e escolha Novo | projeto para abrir a caixa de diálogo New Project. Em Installed Templates | Visual selecione translation from VPE for Csharp (ou Visual Basic), o nó de nuvem. Exibe um modelo de projeto Enable Windows Azure ferramentas que, quando clicado, mostrará uma página com o botão para instalar o Windows Azure Tools para Visual Studio.

Antes de instalar as ferramentas de Azure do Windows, certifique-se de instalar o IIS no seu computador. O IIS é usado pela simulação de desenvolvimento local da nuvem. A maneira mais fácil para instalar o IIS é usando a plataforma Web Installer disponível no microsoft.com/web. Selecione a aba plataforma e clique em incluir produtos recomendados no servidor Web.

Baixe e instale as ferramentas de Azure do Windows e reinicie o Visual Studio. Como você verá o modelo de projeto Enable Windows Azure Tools foi substituído por um modelo de projeto de serviço do Windows Azure nuvem. Selecione este modelo para abrir a caixa de diálogo Novo projeto de serviços de nuvem mostrada no Figura 1. Esta caixa de diálogo permite que você adicionar funções a um serviço em nuvem.

image: Adding Roles to a New Cloud Service Project

Figura 1 Adicionando funções a um novo projeto de serviços de nuvem

Uma função Windows Azure é um componente individualmente dimensionável em execução em nuvem em que cada instância de uma função corresponde a uma instância da máquina virtual (VM).

Há dois tipos de função:

  • Uma função de Web é um aplicativo da Web em execução no IIS. Ele é acessível por meio de um ponto de extremidade HTTP ou HTTPS.
  • Uma função de trabalho é um plano de fundo de processamento de aplicativo que executa o código .NET arbitrário. Ele também tem a capacidade de expor pontos de extremidade com a Internet e internos.

Como um exemplo prático, pode ter uma função de Web no meu serviço nuvem que implementa um site podem acessar meus usuários por meio de uma URL como http://[somename].cloudapp. NET. Eu também pode ter uma função de operador que processa um conjunto de dados usados pela função dessa Web.

Consigo definir o número de instâncias de cada função de forma independente, como três instâncias de função da Web e duas instâncias de função de trabalho e isso corresponde a ter três VMs na nuvem de execução de minha função Web e duas VMs a nuvem de minha função de trabalho.

Você pode usar a caixa de diálogo Novo projeto de serviço em nuvem para criar um serviço em nuvem com qualquer número de funções de trabalho e da Web e usar um modelo diferente para cada função. Você pode escolher o modelo a ser usado para criar cada função. Por exemplo, você pode criar uma função de Web usando o modelo de função de Web do ASP.NET, modelo de função do serviço WCF ou o modelo de função do ASP.NET MVC.

Depois de adicionar funções para o serviço em nuvem e clicar em OK, o Visual Studio criará uma solução que inclui o projeto de serviço em nuvem e um projeto correspondente a cada função que você adicionou. Figura 2 mostra um serviço de nuvem de exemplo que contém duas funções da Web e uma função de trabalho.

image: Projects Created for Roles in the Cloud Service

Figura 2 Projetos criados para funções no serviço de nuvem

As funções da Web são projetos de aplicativos Web do ASP.NET com algumas das diferenças. WebRole1 contém referências aos seguintes assemblies que não são referenciados com um aplicativo ASP.NET padrão:

  • Microsoft.WindowsAzure.Diagnostics (diagnóstico e APIs de log)
  • Microsoft.WindowsAzure.ServiceRuntime (ambiente e APIs do runtime)
  • Microsoft.WindowsAzure.StorageClient (.NET API para acessar os serviços de armazenamento Windows Azure blobs, tabelas e filas)

O arquivo WebRole.cs contém código para configurar o log e diagnósticos e um ouvinte de rastreamento web.config/app.config que lhe permite usar o .NET padrão API de log.

O projeto de serviço em nuvem atua como um projeto de implantação, listando as funções que estão incluídas no serviço em nuvem, along with os arquivos de definição e configuração. Ele fornece Azure específicos do Windows executar, depurar e publicar funcionalidades.

É fácil adicionar ou remover funções no serviço de nuvem após a criação do projeto. Para adicionar outras funções para este serviço em nuvem, clique com o botão direito do mouse no nó funções no serviço de nuvem e selecione Adicionar | novo projeto de função da Web ou adicionar | novo projeto de função de trabalho. Selecionar qualquer uma dessas opções exibe a caixa de diálogo Add New Role onde você pode escolher o modelo de projeto a ser usado ao adicionar a função.

Você pode adicionar qualquer projeto ASP.NET Web Role à solução clicando com o botão direito do mouse no nó funções, selecionando Add | projeto de função Web pela solução e selecionando o projeto para associar como uma função de Web.

Para excluir, basta selecione a função de administrador para excluir e pressione a tecla DELETE. O projeto, em seguida, pode ser removido.

Você também clicar com o botão direito do mouse as funções sob o nó funções e selecione Propriedades para exibir uma guia de configuração para essa função (consulte Figura 3). Este guia de configuração torna fácil adicionar ou modificar os valores nos arquivos de ServiceConfiguration.cscfg e ServiceDefinition.csdef.

Figure 3 Configuring a Role

Figura 3 Configurando uma função

Ao desenvolver para o Windows Azure, o projeto de serviço em nuvem em sua solução deve ser o projeto iniciar para depuração funcione corretamente. Um projeto é o projeto de inicialização quando ele é mostrado em negrito no Solution Explorer. Para definir o projeto ativo, clique com o botão direito do mouse no projeto e selecione Definir como projeto de inicialização.

Dados de nuvem

Agora que você tem a solução definida para Windows Azure, você pode aproveitar suas habilidades do ASP.NET para desenvolver seu aplicativo.

Como você está codificando desejará considerar o modelo Windows Azure para tornar seu aplicativo e dimensionável. Para tratar o tráfego adicional para seu aplicativo, você pode aumentar o número de instâncias para cada função. Isso significa que as solicitações será balanceamento de carga em suas funções e que afetam como projetar e implementar seu aplicativo.

Especificamente, determina como você pode acessar e armazenar os dados. Muitos métodos de armazenamento e recuperação de dados familiarizados não são escalonáveis e, portanto, não são amigável de nuvem. Por exemplo, armazenar dados no sistema de arquivos local não deve ser usado na nuvem porque não dimensionar.

Para tirar proveito da natureza dimensionamento da nuvem, você precisa estar atento a novos serviços de armazenamento. Windows Azure Storage fornece blob dimensionável, fila e os serviços de armazenamento de tabela e Azure do Microsoft SQL fornece um serviço de banco de dados relacional com base em nuvem construído sobre as tecnologias do SQL Server. BLOBs são usados para armazenamento de arquivos nomeados com os metadados. O serviço de fila fornece armazenamento confiável e entrega de mensagens. A tabela de serviço dá estruturada de armazenamento, onde uma tabela é um conjunto de entidades que cada um contém um conjunto de propriedades.

Para ajudar os desenvolvedores usam esses serviços, o SDK do Windows Azure vem com um serviço de armazenamento de desenvolvimento que simula a maneira como esses serviços de armazenamento são executados na nuvem. Ou seja, os desenvolvedores podem escrever seus aplicativos voltados os serviços de armazenamento de desenvolvimento usando as APIs do mesmas destino os serviços de armazenamento em nuvem.

Depuração

Para demonstrar a execução e depuração no Windows Azure localmente, let’s use um dos exemplos de Code.msdn.Microsoft.com/windowsazuresamples. Esta página MSDN Code Gallery contém um número de Exemplos de código para ajudar você a começar a criação de aplicativo da Web escalonável e serviços que são executados no Windows Azure. Baixe as Exemplos para Visual Studio 2010 e, em seguida, extrair todos os arquivos para um local acessível como a pasta documentos.

Development Fabric requer executando no modo elevado, então, iniciar Visual Studio 2010 como um administrador. Em seguida, navegue até onde você extraiu os exemplos e abra a solução de miniaturas, um serviço de exemplo que demonstra o uso de uma função de Web e uma função de trabalho, bem como o uso da biblioteca StorageClient para interagir com serviços de fila e irregular.

Quando você abre a solução, você perceberá três diferentes projetos. Miniaturas é o serviço de nuvem que associa duas funções Thumbnails_WebRole e Thumbnails_WorkerRole. Thumbnails_WebRole é o projeto de função da Web que fornece um aplicativo front-end para o usuário a carregar as fotos e adiciona um item de trabalho para a fila. Thumbnails_WorkerRole é o projeto de função de trabalho que extrai o item de trabalho da fila e cria as miniaturas no diretório designado.

Adicione um ponto de interrupção para o método submitButton_Click no arquivo default.aspx.cs. Obter alcance deste ponto de interrupção quando o usuário seleciona uma imagem e clica em Enviar na página.

protected void submitButton_Click(
  object sender, EventArgs e) {
  if (upload.HasFile) {
    var name = string.Format("{0:10}", DateTime.Now.Ticks, 
      Guid.NewGuid());
    GetPhotoGalleryContainer().GetBlockBlob(name).UploadFromStream(upload.FileContent);

Agora adicione um ponto de interrupção no método executar o direito de arquivo, WorkerRole.cs, operador após o código que tenta recuperar uma mensagem da fila e verifica se realmente existir. Obter alcance deste ponto de interrupção quando a função Web coloca uma mensagem na fila que é recuperada por operador.

while (true) {
  try {
    CloudQueueMessage msg = queue.GetMessage();
    if (msg != null) {
      string path = msg.AsString

Para depurar o aplicativo, vá para o menu Debug e selecione Start Debugging. O Visual Studio irá compilar seu projeto, inicie Development Fabric, inicializar o desenvolvimento de armazenamento (se executado pela primeira vez), a implantação do pacote, anexar a todas as instâncias da função e, em seguida, inicie o navegador apontando para a função de Web (consulte Figura 4).

image: Running the Thumbnails Sample

Figura 4 Executando o exemplo de miniaturas

Neste ponto, você verá que o navegador aponta para a sua função na Web e que a área de notificações da barra de tarefas mostra que Fabric desenvolvimento foi iniciado. A malha de desenvolvimento é um ambiente de simulação executada instâncias da função em sua máquina da maneira que são executados na nuvem real.

Clique com o botão direito do mouse no ícone de notificação do Windows Azure na barra de tarefas e clique no Mostrar Development Fabric Interface. Isso iniciará o aplicativo de desenvolvimento Fabric propriamente dita, que permite executar várias operações com suas implantações, como exibir os logs e reiniciar e excluir implantações (consulte Figura 5). Observe que o Fabric Development contém uma nova implantação que hospeda uma instância de função de Web e uma instância de função de trabalho.

image: The Development Fabric

Figura 5 A malha de desenvolvimento

Examine os processos que o Visual Studio anexado ao (Debug/Windows/processos), você notará que há três: WaWebHost.exe WaWorkerHost.exe e iexplore.exe.

(Instância Windows Azure Web Host) WaWebHost WaWorkerHost (instância de trabalho do Windows Azure Host) host e sua função de Web e instâncias de função de trabalho, respectivamente. Na nuvem de cada instância é hospedada no seu próprio VM, enquanto no desenvolvimento local simulação que cada instância de função está hospedada em um processo separado e o Visual Studio anexa a todos eles.

Por padrão, o Visual Studio anexa usando o depurador gerenciado. Se você quiser usar outro, como o depurador nativo, escolha-lo na caixa de propriedades do projeto de função correspondente. Para projetos de função da Web, a opção do depurador está localizada na guia ' Web ' Propriedades do projeto. Para projetos de função de trabalho, a opção está sob a guia Debug de propriedades do projeto.

Por padrão, o Visual Studio usa o mecanismo de script para anexar ao Internet Explorer. Para depurar aplicativos do Silverlight, você precisa ativar o depurador Silverlight a partir do projeto de função Web propriedades.

Procure uma imagem que deseja carregar e clique em Enviar. O Visual Studio pára no ponto de interrupção definido dentro do método submitButton_Click, dando a você todos os recursos de depuração que você esperaria do Visual Studio. Aperte F5 para continuar; o método submitButton_Click gera um nome exclusivo para o arquivo, carrega o fluxo de imagem para o armazenamento de blob e adiciona uma mensagem em fila que contém o nome do arquivo.

Agora você verá Visual Studio faça uma pausa no ponto de interrupção definido na função operador, que significa que o trabalho recebeu uma mensagem da fila e está pronto para processar a imagem. Novamente, você tem todos os recursos de depuração que você esperaria.

Aperte F5 para continuar, o operador de obter o nome do arquivo da fila de mensagens, recuperar o fluxo de imagem do serviço irregular, criar uma imagem de miniatura e carregar a nova imagem em miniatura para diretório de miniaturas do serviço irregular, que será mostrado pela função de Web.

Implantação

Agora que você tenha criado, editado e depurado seu aplicativo localmente, você está pronto para implantá-la à nuvem. Aqui é um processo boa seguir ao implantar um aplicativo para Windows Azure:

  • Obtenha seu aplicativo executado localmente no Windows Azure Development malha usando o armazenamento local.
  • Execute o aplicativo localmente em malha o desenvolvimento usando uma conta do Windows Azure Storage.
  • Execute o aplicativo no Windows Azure usando uma conta do Windows Azure Storage.

No primeiro estágio, você pode fazer todo o seu desenvolvimento no computador local usando o Development Fabric e armazenamento de desenvolvimento como substitutos para a infra-estrutura do Windows Azure nuvem. Don é necessário nem mesmo uma conexão de rede — você pode desenvolver e depurar seu aplicativo Windows Azure ou serviço completamente off-line. Você provavelmente fará a 70 % do seu desenvolvimento de projeto nesse primeiro estágio.

O segundo estágio, você substitua o substituto do armazenamento local do negócio real, o Windows Azure Storage, mas manter as vantagens de diagnóstico e depuração da execução de código do aplicativo Windows Azure na malha de desenvolvimento local. Definir pontos de interrupção no código-fonte, etapas da linha por linha de código-fonte, avaliar expressões e examinar pilhas de chamadas enquanto seu aplicativo Windows Azure interage com o armazenamento em nuvem. Provavelmente você passará 20 a 25 % de seu ciclo de projeto nesse estágio, refinando seu código e testes contra operações assíncronas do mundo real.

Quando que chegar ao terceiro estágio, seu aplicativo Windows Azure deve ser quase concluído. Você deve estar recurso completo e conclua código, exceto para correções de bugs. Seu foco principal neste estágio for testes e o desempenho de ajuste. Com seu Windows Azure aplicativo execução na nuvem, você não tem o luxo de depuração de código de origem para que você vai precise fallback para diagnóstico logging.

Provavelmente você Don precisa de seu aplicativo Windows Azure totalmente novo sejam vistas por áreas de armazenamento do mundo todo amplo no seu URL de destino instantâneas carregá-lo na nuvem Azure do Windows. O serviço Windows Azure Hosted tem a noção de várias implantações dentro do mesmo serviço hospedado. Cada serviço Windows Azure Hosted tem uma área de implantação preparo privada onde você pode testar seu código na nuvem silenciosamente e uma área de implantação de produção pública onde você liberar seu código testado para seus clientes usar.

Implantações de teste só podem ser acessadas por meio de uma URL exclusiva é prefixada por um GUID atribuído pelo sistema. Implantações de produção podem ser o destino de mapeamentos de nome de domínio personalizado para facilitar o acesso.

Mover para o Windows Storage Azure

Agora que o serviço de miniaturas está sendo executado em uma máquina local em malha Developer, let’s atualizá-la para trabalhar em uma conta do Windows Azure Storage na nuvem. Isso envolve obter uma conta de armazenamento e fazendo as alterações de configuração para executar o serviço de miniaturas em sua conta do armazenamento. Executar localmente, mas usando armazenamento em nuvem de dados é uma ótima maneira de garantir que seu código será executado quando hospedado em Windows Azure.

Iniciar a navegação para o portal do desenvolvedor do Windows Azure (Windows.Azure.com) e entre com seu Live ID. Na página, selecione o novo serviço e clique em conta de armazenamento. Na criar um serviço de página (consulte Figura 6), preencha um nome amigável para a conta de armazenamento (isso não é o nome de domínio do serviço; você será solicitado para que na próxima página). Opcionalmente, insira uma descrição do projeto. Em seguida, preencha o nome de domínio do serviço na próxima página (consulte Figura 7). O nome de domínio é global portanto, talvez seja necessário emendar com ele um pouco para obter um nome que não ainda esteja em uso por outro serviço. Certifique-se de clicar em Verificar disponibilidade</a0> para testar a exclusividade.

image: Configuring a Storage Service

Figura 6 Configurando o serviço de armazenamento

 

image: Configuring a Storage Domain

Figura 7 Configurando um domínio de armazenamento

É uma boa idéia criar um grupo de afinidade para garantir que o armazenamento e os serviços hospedados usá-lo estão localizados no mesmo Data Center sempre que possível. Grupos de afinidade também pode especificar uma preferência para uma região geográfica para que o serviço e armazenamento são como próximo ao seu público-alvo possível para minimizar o tempo de trânsito de rede.

Clique em criar e você verá uma página de resumo para sua nova conta de armazenamento.

Agora você precisa informar ao seu serviço de miniaturas para usar sua nova conta de armazenamento para armazenar suas miniaturas e imagens. Clique duas vezes no nó Thumbnails_WebRole em funções no Visual Studio Solution Explorer para abrir sua página de propriedades. Selecione a guia Configurações, selecione DataConnectionString e clique no botão Editar na extrema direita da linha de grade. Isso exibe a caixa de diálogo Storage Connection String, mostrada na Figura 8.

image: Storage Connection String Properties

Figura 8 Propriedades de string de conexão de armazenamento

“ Usar armazenamento de desenvolvimento ” é o padrão para novos projetos Azure. Clique em “ ENTER armazenamento credenciais ” e, em seguida, insira os detalhes de serviço de armazenamento. No campo de nome de conta, digite o nome de domínio do serviço que você inseriu durante a criação de seu serviço de armazenamento. Esta é a primeira parte do seu domínio, thumbnails1138 (todas as minúsculas) no exemplo.

No campo conta chave, digite a chave primária de acesso exibida na sua página de Web armazenamento serviço resumo. Você pode selecionar o texto da tecla no navegador, copiá-lo e colá-lo na caixa de edição a AccountSharedKey.

Observe que a tecla de acesso secundário fornece o mesmo acesso à sua conta de armazenamento que a chave primária do Access e é gerada como um backup deve estar comprometida sua chave primária do Access. Gerar uma chave invalida a antiga chave, desligando o acesso ao armazenamento para todos os usuários ainda a chave antiga.

Deixe os pontos de extremidade da conexão definidos para usar os pontos de extremidade HTTPS padrão e clique em OK.

Repita essas etapas para Thumbnails_WorkerRole em funções também, para que a função Web irá ser falando com o mesmo serviço de armazenamento com a função de trabalho. Quando você tem várias funções para atualizar, você pode copiar o valor de seqüência de conexão para a área de transferência e colá-lo apenas na célula valor DataConnectionString em todos as outras páginas de propriedades de função para economizar um pouco tempo.

Depois de você alternou as funções da Web e trabalho para usar o Windows Azure armazenamento, pressione F5 no Visual Studio para depurar seu serviço em nuvem e garantir que tudo funcione corretamente.

Você verá que a página da Web URL você está depurando localmente ainda é hospedado, mas as URLs das miniaturas (visíveis em suas caixas de diálogo Propriedades) Agora aponte para Windows Azure Storage.

Observe que neste estágio do desenvolvimento — serviços locais com armazenamento em nuvem — provavelmente terá o pior desempenho de três estágios da implantação. Estágio 1 (local ou local) será bastante interessantes porque tudo está na mesma caixa e tiver um público total de um (você!). Etapa 3 (nuvem/nuvem) terá o benefício da escala de hardware e do data center afinidade de nuvem. Etapa 2 (local/nuvem), no entanto, executar código razoavelmente pressupõe o armazenamento estiver próximo, mas na verdade os dados são provavelmente muitos saltos de rede fora do ambiente de execução local.

Don Avalie o desempenho do seu aplicativo na configuração local/nuvem. Você pode ativar essa latência de rede a seu favor, no entanto: Use este estágio como um teste de stress para ver como seu código manipula tempos de resposta exagerada do seu serviço de armazenamento. Se tiver tratados algo com uma chamada síncrona que deve ser realmente assíncrona, provavelmente perceberá-muito rapidamente.

Depois de ter tudo trabalhando na configuração local/nuvem, você estará pronto para implantar seu código em um serviço Windows Azure hospedado.

Criando um serviço hospedado

Para criar o serviço hospedado totalmente, vá para o portal do desenvolvedor do Windows Azure e entre com seu Live ID. Clique no novo serviço, em seguida, nos serviços hospedados. Isso leva você para uma página onde você pode especificar o nome amigável de projeto e a descrição usada pelo portal do desenvolvedor. Insira uma etiqueta de serviço e, opcionalmente, uma descrição de serviço. Clique em Next. Agora você pode digitar um nome de domínio para seu projeto de serviço hospedado (consulte Figura 9). Defina o grupo de afinidade para coincidir com o grupo de afinidade de miniaturas criado anteriormente com o serviço de armazenamento. Depois que o projeto é criado, você verá uma página de resumo para seu projeto.

image: Configuring a Hosted Service

Figura 9 Configurando um serviço hospedado

Para implantar o projeto de Visual Studio, clique com o botão direito do mouse no nó do projeto miniaturas no Solution Explorer e selecione Publicar. Esse comando cria um pacote de binários do aplicativo Windows Azure e arquivos relacionados, abre o Windows Explorer para mostrar o diretório local em que o pacote foi criado e inicia seu navegador padrão para navegar até o portal do desenvolvedor.

Na página da Web do portal do desenvolvedor, navegue até a página de resumo do serviço hospedado de miniaturas e clique em Deploy em preparação para exibir a página de implantação de teste (consulte Figura 10). Isso é onde você especifica o pacote e o arquivo de configuração para carregar.

image: Choosing the Package to Deploy

Figura 10 Escolhendo o pacote de implantação

Você pode copiar o caminho da janela do Windows Explorer que o Visual Studio aberto nessa caixa de diálogo Abrir arquivo, o que torna fácil para você selecionar o pacote de serviço (.cspkg) e arquivos de configuração do serviço.

O portal será, em seguida, carregue o pacote e implantar seu serviço em nuvem para teste, que coloca suas funções no estado alocados. Isso significa que seu aplicativo Windows Azure foi configurado com o hardware do data center, mas ela ainda não estiver agendada para executar.

Para testar o serviço de nuvem na área de preparo, você precisará executá-lo. Clique em executar. Isso colocará sua função Web no estado inicializando. Quando a função Web estiver pronta, o estado será alterado para iniciado.

Atualiza a nota que há planos para tornar a implantação direto para a nuvem do Visual Studio ainda mais simples no futuro, mas esse procedimento permanecerá válido mesmo quando esses recursos estão no lugar.

Após o início de suas funções, você pode testar a navegação para a URL de preparo (o cloudapp. NET URL que comece com um GUID).

Provisionamento de um aplicativo no data center envolve muito pesado em segundo plano. Permitir pelo menos 10 minutos para que seu aplicativo para fazer a transição de inicialização para iniciado. Agora você não gostar de que você ter Developer Fabric no computador local?

Depois que você estiver satisfeito com o serviço de nuvem em preparo, você pode promovê-lo a produção clicando no botão mostrado no Figura 11.

image: Promotion Button

Figura 11 Botão de promoção

Quando os detalhes de sua implantação aparece no lado produção da página, seu serviço será em execução no seu URL final.

Caso você precise testar um hotfix para seu aplicativo ou apenas deseja continuar o desenvolvimento em paralelo para a implantação de produção em execução, pode carregar um novo pacote para transferência e testá-lo por meio de URL temporário. Promover a produção é realmente uma troca: preparo move para a produção e o que estava em produção entra no preparo.

Enquanto você pode carregar diretamente para a produção, é altamente recomendável sempre implantar primeiro para teste e execute algum grau de teste antes de estendendo-os para a produção de aceitação.

Observe que várias implantações usará como padrão o mesmo serviço de armazenamento — se você precisar de isolamento de dados entre a produção e teste (por exemplo, para preparo pode limpar o seu banco de dados sem afetar os dados de produção), você precisará modificar suas ligações de armazenamento para cada implantação antes de implantá-los. Isso é feito usando dois conjuntos de armazenamento e migração de dados de produção para teste antes de promover o preparo para a produção.

Atualizando a configuração do serviço

Se você deseja girar instâncias adicionais do seu serviço com o fim de carga adicional ou desligar instâncias não utilizadas, você pode fazer isso modificando a configuração de implantação imediatamente. Você Don precisa que reimplantar o pacote inteiro, apenas o arquivo de configuração de serviço. No portal, clique em Configurar para atualizar a configuração do serviço (cscfg) por carregar um novo arquivo de configuração de serviço criado pelo Visual Studio ou usando o editor fornecido pelo portal do desenvolvedor.

Let’s agora adicionar um ponto de extremidade HTTPS para o aplicativo de miniaturas. Esse é um processo de três etapas. Você precisa configurar o ponto de extremidade, configure o certificado e carregar o certificado.

Para configurar o ponto de extremidade, abra a configuração da interface do usuário na função da Web clicando com o botão direito do mouse no nó Thumbnails_WebRole sob o nó funções no Solution Explorer e selecionando Propriedades. Alternar para a guia pontos de extremidade e clique na caixa de seleção para selecionar o HTTPS. Isso adiciona o ponto de extremidade HTTPS, mas não especifica o certificado.

Alterne para a página de configuração e desmarque a “ iniciar navegador para: Opção de ponto de extremidade HTTP ”. Cancelando essa opção, em execução ou depuração do serviço em nuvem, o navegador padrão será iniciado apenas para o ponto de extremidade HTTPS.

No Visual Studio, clique em Debug | Start Debugging para empacotar e executar serviços em nuvem na simulação de desenvolvimento local. A simulação de desenvolvimento sempre usa um certificado auto-assinado emitido para e emitido por 127.0.0.1, que corresponde ao host local. Porque o certificado não confiável, o navegador da Web virá com um erro de certificado. Isso é esperado. Clique em “ Continuar neste site (não recomendado) ” para navegar até o site.

Para que o certificado confiável e, portanto, não verá os erros de certificado, você pode instalar o certificado ao armazenamento de certificados de autoridades de certificação raiz confiáveis. Faça isso somente se você ter uma compreensão apropriada das implicações de segurança.

Para configurar um certificado para uso na nuvem, você precisa de um certificado que será carregado para a nuvem e configurar esse certificado para a função. A finalidade de neste artigo, nós será criar e usar um certificado auto-assinado. Criar um certificado auto-assinado abrindo o IIS Manager, selecionar certificados de servidor e clicando em criar certificado auto-assinado em ações de título na extrema direita da caixa de diálogo. Depois de criar o certificado, clique em Exportar para exportar o certificado para um arquivo .pfx.

Navegue até o portal do desenvolvedor do Windows Azure e seleciona o componente de serviço hospedado para implantar. Em certificados de título, selecione Gerenciar. Carregar o certificado digitando o nome do arquivo .pfx e a senha correspondente que você inseriu durante a etapa de exportação. Copie a impressão digital do certificado depois de instalado para o componente de serviço hospedado.

Para configurar o certificado, volte para o Visual Studio, abra a configuração Thumbnails_WebRole UI, clique na guia certificados e clique em Adicionar certificado. Atribuir ao certificado um nome (por exemplo, sslCert), cole na impressão digital e deixe o local de armazenamento e o nome padrão de LocalMachine e gerenciar.

A página de configuração de certificados lhe permite especificar para uma determinada função certificados devem ser instalados para as instâncias VM para essa função e em quais armazenamentos para instalar esses certificados. Em outras palavras, esse mesmo processo pode ser usado para todos os certificados que você deseja ter sobre suas VMs em nuvem e não apenas para os certificados SSL.

Por fim, alterne para a guia pontos de extremidade e selecione sslCert do certificado HTTPS.

Agora implante seu aplicativo. Agora, você poderá acessar o seu site via HTTP e HTTPS. Porque um certificado auto-assinado é carregado, o navegador exibirá um erro de certificado ao navegar para o ponto de extremidade HTTPS. Usando um certificado assinado real para resolver esse problema.

Resumo

O Windows Azure Tools e o Visual Studio 2010 tornam mais fácil criar, editar, configurar, depurar e implantar aplicativos executados no Windows Azure. Elas permitem que você aproveite as habilidades existentes com ASP.NET e com o Visual Studio.

O suplemento Ferramentas de Azure Windows destina-se tanto o Visual Studio 2010 como o Visual Studio 2008. A maneira mais fácil de instalar o Windows Azure Tools para Visual Studio 2008 é usando a plataforma Web Installer disponível no Microsoft.com/Web. Certifique-se de adicionar os cenários de ferramentas de desenvolvedor nas opções.

Para as últimas notícias e informações sobre Windows Azure, consulte windowsazure.com and blogs.msdn.com/jnak.

Hani Atassi é engenheiro de software na equipe do Windows Azure Tools. Antes ao seu trabalho na nuvem de ferramentas, Atassi gastou tempo desenvolvendo o Windows Vista e no Microsoft.com.

Danny Thorpe é engenheiro de software principal na equipe do Windows Azure Tools. No passado lives ele era um colaborador fundador do Google Gears no Google e arquiteto de compiladores Delphi em Borland.

Jim Nakashima é gerente de programa na equipe de ferramentas do Windows Azure enfocando a criação de experiências de desenvolvedor de ponta a ponta para Windows Azure. Nakashima passou vários anos trabalhando o Windows Presentation Foundation e o designer do Silverlight e ferramentas antes sendo atraiu as possibilidades infinitas da nuvem.

Obrigado aos seguintes especialistas técnicos para revisar este artigo: Anson Horton e Gus Perez