Migrar seu aplicativo Web .NET ou serviço para o Serviço de Aplicativo do Azure

O Serviço de Aplicativo é um serviço de plataforma de computação totalmente gerenciado, otimizado para hospedar sites escalonáveis e aplicativos Web. Este documento fornece informações sobre como fazer um lift-and-shift em um aplicativo existente para o Serviço de Aplicativo do Azure, modificações a considerar e recursos adicionais para mover para a nuvem. A maioria dos sites ASP.NET (formulários da Web, MVC) e serviços (API da Web, WCF) podem migrar diretamente para o Serviço de Aplicativo do Azure sem alterações. Alguns podem precisar de pequenas alterações enquanto outros talvez precisem de alguma refatoração.

Pronto para começar? Publique seu aplicativo ASP.NET + SQL para o Serviço de Aplicativo do Azure.

Considerações

Recursos locais (incluindo o SQL Server)

Verifique o acesso aos recursos locais, conforme precisem ser migrados ou alterados. Veja a seguir opções para atenuar o acesso a recursos locais:

  • Crie uma VPN que conecta o Serviço de Aplicativo aos recursos locais usando as Redes Virtuais do Azure.
  • Exponha com segurança os serviços locais na nuvem sem alterações de firewall usando a Retransmissão do Azure.
  • Migre dependências como banco de dados SQL para o Azure.
  • Use as ofertas de plataforma como serviço na nuvem para reduzir dependências. Por exemplo, em vez de se conectar a um servidor de email local, considere o uso de SendGrid.

Associações de Porta

O Serviço de Aplicativo do Azure dá suporte à porta 80 para HTTP e à porta 443 para tráfego HTTPS.

Para o WCF, há suporte para as seguintes associações:

Associação Observações
BasicHttp
WSHttp
WSDualHttpBinding O suporte de soquete da Web deve ser habilitado.
NetHttpBinding O suporte de soquete da Web deve estar habilitado para contratos duplex.
NetHttpsBinding O suporte de soquete da Web deve estar habilitado para contratos duplex.
BasicHttpContextBinding
WebHttpBinding
WSHttpContextBinding

Autenticação

O Serviço de Aplicativo do Azure dá suporte à autenticação anônima por padrão e autenticação de formulários quando pretendido. A autenticação do Windows pode ser usada somente com a integração com o Microsoft Azure Active Directory e o ADFS. Saiba mais sobre como integrar seus diretórios locais no Azure Active Directory.

Instale assemblies no cache de assembly global (GAC)

Não há suporte para isso. Considere copiar os assemblies necessários para a pasta \bin do aplicativo. Arquivos .msi personalizados instalados no servidor (por exemplo, geradores de PDF) não podem ser usados.

Configurações do IIS

Tudo configurado tradicionalmente via applicationHost.config em seu aplicativo, agora pode ser configurado com o portal do Azure. Isso se aplica ao número de bits do AppPool, habilitar/desabilitar WebSockets, versão do pipeline gerenciada, versão do .NET Framework (2.0/4.0) etc. Para modificar as configurações do aplicativo, navegue até o portal do Azure, abra a folha de seu aplicativo Web, em seguida, selecione a guia Configurações do Aplicativo.

Modo de Compatibilidade do IIS5

Não há suporte para o Modo de Compatibilidade do IIS5. No Serviço de Aplicativo do Azure, cada aplicativo Web e todos os que ele contém executam o mesmo processo de trabalho com determinado conjunto de pools de aplicativos.

IIS7+ conformidade de esquema

Alguns elementos e atributos não são definidos no esquema do IIS do Serviço de Aplicativo do Azure. Se você encontrar problemas, considere o uso de transformações XDT.

Pool de aplicativos único por site

No Serviço de Aplicativo do Azure, cada aplicativo Web e todos os que ele contém são executados no mesmo pool de aplicativos. Considere a possibilidade de estabelecer um único pool de aplicativos com as mesmas configurações ou de criar um aplicativo Web separado para cada aplicativo.

Componentes COM e COM+

O Serviço de Aplicativo do Azure permite o registro de componentes COM na plataforma. Se o aplicativo usar qualquer um dos componentes COM, eles precisarão ser regravados no código gerenciado e implantados com o site ou aplicativo.

Diretórios físicos

O Serviço de Aplicativo do Azure não permite acesso à unidade física. Você talvez precise usar Arquivos do Azure para acessar arquivos via SMB. O armazenamento de Blobs do Azure pode armazenar arquivos para acesso via HTTPS.

Filtros ISAPI

O Serviço de Aplicativo do Azure pode dar suporte ao uso de filtros ISAPI, no entanto, a DLL ISAPI deve ser implantada com seu site e registrada por meio do web.config.

Associações de HTTPS e SSL

Associações de HTTPS não são migradas, nem os certificados SSL associados aos seus sites. Certificados SSL podem ser carregados manualmente, no entanto, somente após a migração do site.

SharePoint e FrontPage

Não há suporte para o SharePoint e as Extensões de Servidor do FrontPage (FPSE).

Tamanho do site da Web

Sites gratuitos têm um limite de tamanho de 1 GB de conteúdo. Se seu site for maior que 1 GB, você deve atualizar para uma SKU paga. Confira Preço do Serviço de Aplicativo.

Tamanho do banco de dados

Para bancos de dados do SQL Server, verifique os preços do Banco de Dados SQL do Microsoft Azure atuais.

Integração do Azure Active Directory (AAD)

O AAD não funciona com aplicativos gratuitos. Para usar o AAD, você deve atualizar o SKU de aplicativo. Confira Preço do Serviço de Aplicativo.

Monitoramento e diagnóstico

As atuais soluções locais para o monitoramento e diagnóstico provavelmente não funcionarão na nuvem. No entanto, o Azure fornece ferramentas para o registro em log, monitoramento e diagnóstico, para que você possa identificar e depurar os problemas nos aplicativos Web. Você pode habilitar facilmente o diagnóstico para seu aplicativo Web na configuração e pode exibir os logs registrados no Azure Application Insights. Saiba mais sobre como habilitar o log de diagnóstico para os aplicativos Web.

Configurações do aplicativo e cadeias de conexão

Considere usar o KeyVault do Azure, um serviço que armazena com segurança as informações confidenciais usadas em seu aplicativo. Como alternativa, você pode armazenar esses dados como uma configuração do Serviço de Aplicativo.

DNS

Talvez seja necessário atualizar as configurações de DNS com base nos requisitos de seu aplicativo. Essas configurações de DNS podem ser definidas nas configurações de domínio personalizadas do Serviço de Aplicativo.

Serviço de Aplicativo do Azure com contêineres do Windows

Se seu aplicativo não pode ser migrado diretamente para o Serviço de Aplicativo, considere usar o Serviço de Aplicativo usando contêineres do Windows, que permite o uso do GAC, componentes COM, MSIs, o acesso completo a APIs do .NET FX, DirectX e muito mais.

Confira também