Windows Azure: Conhecendo o ambiente de tempo de execução

Não há muito a aprender a desenvolver aplicativos para uma nova plataforma, como o Windows Azure. Eis uma história passo a passo da experiência do desenvolvedor.

José Barreto

Recentemente, eu aprendi como desenvolver, testar e implantar um aplicativo Windows Azure. Eu tinha ouvido falar bastante sobre o Windows Azure e viu muitos experiências relatadas por outra pessoa, mas eu queria que minha própria experiência prática e validar o que eu tinha sido informado. O lançamento do Visual Studio 2010 era o envio final, precisei começar.

Este artigo, eu descreverei como criei e implantou um aplicativo de exemplo. É sempre uma boa forma de obter os pés programar com uma nova tecnologia e ela me experimentar todo o ciclo de vida de um aplicativo no Windows Azure forçado.

Meus experimentos foi facilitado pelo fato de que tinha anteriormente desenvolvi aplicativos asp.net, porque um aplicativo Windows Azure segue a mesma arquitetura, com funções da Web (Web front-ends) e funções de operador (serviços de back-end). A principal ferramenta para desenvolver aplicativos de Windows Azure e aplicativos do asp.net regulares também é o mesmo: O Visual Studio. Eu já tinha instalado a versão final do Visual Studio 2010 no meu computador do Windows 7 e também tivesse adicionado o IIS como um componente opcional do Windows 7.

O IIS e o Visual Studio 2010, baixei também as ferramentas de Windows Azure, adicionar modelos adicionais para o desenvolvimento de Windows Azure. Eu estava interessado em entender mais sobre o ambiente no qual os aplicativos de Windows Azure são executados. Em geral, eu sei que essas são as máquinas virtuais e que eles devem funcionar bem para seus aplicativos, independentemente de seus detalhes de configuração específicas, mas eu estava curioso para saber como Windows Azure implantado. Como alguém com algum plano de fundo de infra-estrutura IT, que sempre estou interessado em aprender a aparência deste tipo de implantação nos bastidores.

Para chegar lá, eu decidi escrever um aplicativo poderia relatar informações sobre o sistema de arquivos do computador no qual ele é executado — coisas simples, como quais unidades existem e são de que suas características (tipo, sistema de arquivos, tamanho total e espaço disponível). Também adicionei a possibilidade da consulta de pastas e arquivos, para que eu pudesse entender o que existia onde. A Figura 1 mostra o que eu terminou com.

Figure 1 A sample file system report application created in Windows Azure.

Figura 1 uma amostra de aplicativo de sistema de relatórios criado no arquivo Windows Azure.

Nada sofisticados, como você pode ver, apenas o suficiente para compreender a experiência de desenvolvimento, passar pelo processo de implantação e tenha as ferramentas para compreender o ambiente de tempo de execução do Windows Azure.

C# para a nuvem

Criar o aplicativo foi bastante simples. Eu criou um novo projeto usando o c# e selecionado o projeto de nuvem. Para simplificar, usei uma função da Web do asp.net única para o meu projeto de serviços de nuvem.

Em seguida, eu arrastado alguns controles, adicionar algum código e iniciado testá-lo. O processo de desenvolvimento inteiro é executado localmente, portanto, não é preciso ainda ter uma conta de Windows Azure neste momento. Estava também não usando qualquer Windows Azure Storage, portanto, foi simplesmente um função de Web não tivesse nenhuma dependência externa. Não é geralmente um aplicativo muito útil, mas meu objetivo era criar um pouco de um glorified “ Hello, World ” para começar.

Porque eu tivesse o Microsoft .NET Framework completo disponível, escrever o código não era difícil em todos os. Para obter as informações de unidade, por exemplo, usei do namespace System. io.

protected void btnDrives_Click(object sender, EventArgs e)
 {
   DriveInfo[] diAll = DriveInfo.GetDrives();
   string strDrive = "";
   foreach (DriveInfo diOne in diAll)
    {
       strDrive = "Drive " + diOne.Name + " Type:" + diOne.DriveType.ToString();
      if (diOne.IsReady)
       {
          strDrive = strDrive + " Volume:" + diOne.VolumeLabel + " FS:" + diOne.DriveFormat.ToString() + " Total:" + diOne.TotalSize.ToString() + " Free:" + diOne.AvailableFreeSpace.ToString();
       }
       txtAdd(strDrive);
    }
 }

Além do fato de que eu tive que executar o Visual Studio como administrador, tudo o que era bastante normal em termos de desenvolvimento e depuração local do aplicativo. O Visual Studio automaticamente iniciado o ambiente de simulação de Azure locais do Windows quando o executei meu aplicativo (consulte do Figura 2). Consegui definir os pontos de interrupção, observe que o meu código de execução passo a passo e assim por diante. Surpresas lá.

Figure 2 Here’s how my application looked when it ran through the Windows Azure Simulation Environment.

A Figura 2 aqui está como meu aplicativo parecia quando ele foi executado por meio do ambiente de simulação de Azure do Windows.

Implantando aplicativos Azure

Talvez a parte mais difícil para mim, sendo novos do Windows Azure, foi saber exatamente o que eu precisava implantar meu aplicativo. Depois de criar o seu serviço na interface do usuário do Windows Azure da Web, você alcançar um ponto em que você pode implantar o aplicativo.

Quando você clica no botão Deploy, em seguida, for solicitado para fornecer os dois arquivos (um arquivo de pacote de aplicativo e um arquivo de configuração) juntamente com um nome de implantação do serviço. Não havia outra pouco em termos de dicas sobre como gerar aqueles.

Depois de gastar algum tempo no ambiente do Visual Studio, não foi possível encontrar a maneira certa de criar esses arquivos ou seriam o mesmo que as extensões de arquivo. Isso foi quando eu tive que consultar a documentação do Windows Azure pela primeira vez. Até este ponto, eu era apenas winging-lo. Acontece que você precisa para o botão direito do mouse no projeto de nuvem para localizar a opção “ … Publish ” para gerar um pacote para Windows Azure.

Isso criará os arquivos necessários dois, um pacote de serviços de nuvem (.cspkg) e uma configuração de serviços de nuvem (.cscfg). A opção de “ … Publish ” abre uma janela do Explorer do Windows com a pasta certa (consulte do Figura 3), bem como uma janela do Internet Explorer com a URL de Azure certa do Windows.

Figure 3 The Windows Explorer window opened from the “Publish-…” option.

A Figura 3 janela de O Windows Explorer aberta a partir da opção “ … Publish ”.

Depois que forneci tudo, o serviço foi publicado em segundos. Depois, clicando em “ executar ” implantou o aplicativo. É quando o virtual machine (VM) que contém o aplicativo em execução, na verdade, torna-se configurado e iniciado. Esta etapa leva alguns minutos.

Executando o serviço

O status do serviço passou de “ Inicializando ” como “ ocupado ” a “ Ready ”. Depois disso, a implantação foi concluída e que esteja executando o serviço deve simplesmente acertando o URL do site da Web em http://servicename.cloudapp. net.

Eu estava finalmente pronta para examinar algumas das características da VM Azure Windows executando o serviço. Primeiro, eu listadas as unidades do sistema. Acontece que a máquina virtual tivesse três unidades (unidade C:, e E:) Conforme mostrei na do Figura 1. Então, usei o aplicativo para procurar em pastas específicas e os arquivos em cada unidade. Depois de uma investigação mais detalhada, eu veio uma conclusão sobre as três unidades diferentes, mostrado em do Figura 4.

Figura 4 aqui é como o armazenamento foi analisado check-out em três unidades.

Encontrei de documentação de relativas à quantidade de armazenamento que pode ser especificado por VM. O tamanho padrão (pequeno) oferece 250 GB de armazenamento local. Que tinha o tamanho da minha máquina virtual. Você pode escolher os maiores com 1000 GB de 500 GB e 2000GB de armazenamento local.

No entanto, eu não encontrar a documentação nesta divisão entre as três unidades (nem mesmo toda a documentação sobre as três unidades de período). Posso apenas dizer que os números de do Figura 4 eram true para o meu implantação de aplicativos específicos nesse momento.

Se você estiver planejando usar o local de armazenamento temporário em seu aplicativo, você deve procurar de documentação do para recursos locais de armazenamento t . Esses recursos de armazenamento local ao vivo, aparentemente, na unidade unidade, mas você deve usar a API para localizar o caminho de local exato para usar.

Se você precisar de um armazenamento permanente, você deve procurar em várias opções do Windows oferece Azure, incluindo BLOBs, tabelas, filas, bancos de dados do Drivesand SQL Azure. Esses são acessados por meio de APIs e não são armazenadas como parte do seu armazenamento local do Windows Azure VM.

Recursos básicos de preparo

Uma última coisa que achei interessante era o processo de implantar versões adicionais do aplicativo. Windows Azure permite que você colocar a nova versão em uma área separada de “ preparo ”. Isso possibilita executar e testar a nova versão de teste com uma URL temporária enquanto a versão mais antiga ainda estiver sendo executado com a URL principal.

Quando tiver certeza de que a versão está tudo bem, você pode simplesmente alternar de produção e ambientes de preparo. Isso é feito rapidamente, pois ambos os ambientes totalmente são implantados naquele ponto e você alterna efetivamente apenas as duas URLs. Se a nova versão tenha algum problema, você pode alternar também rapidamente para a versão antiga.

Pacotes de nuvem

Se você estiver familiarizado com o asp.net, criar aplicativos Windows Azure não é uma grande extensão, uma vez que você compreender alguns conceitos adicionais. Aprendi bastante sobre o modo como os aplicativos de Windows Azure são empacotados e também compreender que as etapas de implantação mais detalhadamente.

Fiquei satisfeito com minha experiência, tendo implantado o meu primeiro aplicativo Windows Azure e aprender mais sobre o tempo de execução do Windows Azure no processo.  Eu compreender mais sobre as diferentes unidades usadas pelo Windows Azure VMs e era capaz de entender os detalhes da implantação da VM em maiores detalhes. Não é necessário compreender esses detalhes para implantar seus aplicativos, mas o desenvolvedor é sempre mais confortável depois de entender mais sobre o que está dentro.

Jose Barreto Photo

José Barretoé um gerente de programas principal com a equipe de servidor de arquivo, parte do Microsoft Server e a divisão de nuvem. Ele graduação em ciências da computação na Universidade Federal do Ceara no Brasil em 1989 e movido para os Estados Unidos em 2000. Barreto ingressou na Microsoft em 2002 na Califórnia e movido para o campus de Redmond, em 2007.

Conteúdo relacionado