Migrar seu aplicativo Web ou serviço .NET 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 e aplicativos Web escaláveis. Este artigo fornece informações sobre como elevar e deslocar um aplicativo existente para o Serviço de Aplicativo do Azure, modificações a serem consideradas e recursos adicionais para migrar para a nuvem. A maioria dos ASP.NET sites (Webforms, MVC) e serviços (API Web, WCF) podem ser movidos diretamente para o Serviço de Aplicativo do Azure sem alterações. Alguns podem precisar de pequenas alterações, enquanto outros podem precisar de alguma refatoração.

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

Considerações

Recursos locais (incluindo SQL Server)

Verifique o acesso aos recursos locais, pois eles podem precisar ser migrados ou alterados. A seguir estão as opções para reduzir o acesso a recursos locais:

  • Crie uma VPN conectando o Serviço de Aplicativo a recursos locais usando as Redes Virtuais do Azure.
  • Exponha com segurança os serviços locais à nuvem sem alterações de firewall usando o Azure Relay.
  • Migre dependências, como um banco de dados SQL, para o Azure.
  • Use 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 usar o SendGrid.

Ligações de porta

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

Para WCF, as seguintes ligações são suportadas:

Enlace Notas
BasicHttp
WSHttp
WSDualHttpBinding O suporte a soquetes da Web deve estar habilitado.
NetHttpBinding O suporte a soquete da Web deve ser habilitado para contratos duplex.
NetHttpsBinding O suporte a soquete da Web deve ser 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 integrando-se somente ao Azure Ative Directory e ao ADFS. Saiba mais sobre como integrar seus diretórios locais ao Azure Ative Directory.

Montagens no GAC (Global Assembly Cache)

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

Configurações do IIS

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

Modo de compatibilidade do IIS5

O Modo de Compatibilidade do IIS5 não é suportado. No Serviço de Aplicativo do Azure, cada aplicativo Web e todos os aplicativos sob ele são executados no mesmo processo de trabalho com um conjunto específico de pools de aplicativos.

Conformidade com esquema IIS7+

Alguns elementos e atributos não estão definidos no esquema 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 aplicativos sob ele são executados no mesmo pool de aplicativos. Considere estabelecer um único pool de aplicativos com configurações comuns ou criar um aplicativo Web separado para cada aplicativo.

Componentes COM e COM+

O Serviço de Aplicativo do Azure não permite o registro de componentes COM na plataforma. Se seu aplicativo usa componentes COM, eles precisam ser reescritos em 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. Talvez seja necessário usar os 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 via web.config.

Ligações HTTPS e SSL

As ligações HTTPS não são migradas, nem os certificados SSL estão associados aos seus sites. No entanto, os certificados SSL podem ser carregados manualmente após a conclusão da migração do site.

SharePoint e FrontPage

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

Tamanho do site

Os sites gratuitos têm um limite de tamanho de 1 GB de conteúdo. Se o seu site tiver mais de 1 GB, você deverá atualizar para uma SKU paga. Consulte Preços do Serviço de Aplicativo.

Tamanho da base de dados

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

Integração do Azure Ative Directory (AAD)

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

Monitorização e diagnóstico

É improvável que suas soluções locais atuais para monitoramento e diagnóstico funcionem na nuvem. No entanto, o Azure fornece ferramentas para registo, monitorização e diagnóstico para que possa identificar e depurar problemas com aplicações Web. Você pode habilitar facilmente o diagnóstico para seu aplicativo Web em sua configuração e pode exibir os logs registrados no Azure Application Insights. Saiba mais sobre como habilitar o log de diagnóstico para aplicativos Web.

Cadeias de conexão e configurações do aplicativo

Considere usar o Azure KeyVault, um serviço que armazena com segurança 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 do seu aplicativo. Essas configurações de DNS podem ser definidas nas configurações de domínio personalizado do Serviço de Aplicativo.

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

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

Consulte também