Migrando ASP.NET Web Applications para o Windows Azure


Olá pessoal,

Hoje gostaria de discutir uma solução para realizar a migração de uma ASP.NET Web Application para o Windows Azure. Com os passos abaixo é possível reaproveitar o seu projeto, sem a necessidade de criar um novo projeto e migrar todo o código fonte. Então vou iniciar com uma solução no Visual Studio 2010 contendo apenas um projeto do tipo ASP.NET Web Application, conforme print abaixo:

1

O próximo passo é adicionar um novo projeto VAZIO de Windows Azure na sua solução, é só clicar OK e não selecionar nenhum tipo de role.

3

Em seguida é necessário adicionar 3 referências para assemblies do Windows Azure no seu projeto ASP.NET:

  • Microsoft.WindowsAzure.Diagnostics
  • Microsoft.WindowsAzure.ServiceRuntime
  • Microsoft.WindowsAzure.StorageClient

Depois, é necessário adicionar uma classe que herde de RoleEntryPoint no seu projeto ASP.NET, no meu caso chamei de WebRole.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.WindowsAzure.ServiceRuntime;

namespace WebApplication
{
    public class WebRole : RoleEntryPoint
    {
    }
}

No final seu projeto ASP.NET deve ficar similar ao print abaixo:

8

Neste ponto as alterações necessárias no projeto ASP.NET foram finalizadas e agora é o momento de associá-lo ao projeto de Windows Azure. Para isso, devemos clicar com o botão direito em Roles e em seguida escolher a opção “Add/Web Role Project in solution…”, conforme print abaixo:

 

6

O próximo passo é escolher o projeto que deve ser associado na janela que é apresentada.

7

À partir deste ponto a infraestrutura do Visual Studio está migrada para utilizar um projeto de Windows Azure, agora é só começar a testar e depurar.

RG

Comments (3)

  1. Marcelo says:

    Olá Rafael,

    Parabéns pelo excelente artigo.

    Porém gostaria de saber se os passos para migração de webservices, seriam os mesmos? apenas mudariam o tipo de projeto adicionado que seria o WCF Service Web Role?

    Abcs

  2. @Marcelo,

    Não cheguei a testar este tipo de migração, mas em teoria um projeto do tipo WCF Service Application rodaria em uma Web Role na migração para Windows Azure.

    RG

  3. Leandro says:

    Boa tarde Rafael,

    Gostei muito dos seus artigos e me ajudaram muito na migração do banco de dados.  Agora estou pensando em migrar a aplicação, mas não conheço as vantagens pois já publiquei no azure como webapplication e funciona normalmente. Poderia esclarecer qual os pontos positivos da migração da aplicação de webapp para azure? Obrigado.