Microsoft Azure

[Microsoft Azure]–Guia para migração de aplicações do IIS 6x, 7x, 8x, 10x para App Service


microsoft-azure-logo

Você já deve ter se deparado com um cenário de migração de uma aplicação web hospedada no IIS (on premises) para um App Service no Microsoft Azure. Para o ITPro isso pode ser um cenário complicado para trabalhar, até porque uma forma ‘garantida’ de que funcione a migração seria uma arquitetura ‘as-is’, ou seja, uma infraestrutura IaaS (infrastructure as a Service), semelhante no que tem em ambiente on premises. Hoje desmistificaremos esse cenário e esse guia servirá de apoio para o planejamento de uma migração ou até mesmo em uma situação de pré-vendas que esteja atuando em alguns cenários.

Primeiro o que você precisa saber, é possível migrar um web app a partir do IIS 6 ou posteriores utilizando a ferramenta chamada – Azure App Server Migration Assistant, antes disso é importante entender o que precisamos verificar antes de iniciar o processo, em algumas situação a ferramenta não vai te ajudar a identificar será necessário uma análise mais profunda na aplicação e limitações do App Service.

  • Bindings – O App Service suporta apenas requisições nas portas 80 e 443, qualquer coisa diferente não vai funcionar e o tráfego será roteado entre as portas mencionadas, logo a aplicação não vai funcionar, portanto se utiliza qualquer porta diferente é necessário estudar para não impactar nenhuma sistema e cliente final.
  • Autenticação – Por padrão o App Service vem habilitado o modo anônimo de autenticação, e form authentication quando especificado na aplicação. Se por acaso optar por utilizar o Windows Authentication é possível ser integrado ao AD Azure e ADFS e manter o gerenciamento de usuários centralizado. Todas outras formas conhecidas de autenticação e que são utilizadas em um ambiente tradicional não é suportado.
  • Modo de compatibilidade (IIS 5) – Não é suportado no App Service
  • Application Pool – No WebApp cada site e aplicação dentro do mesmo site utilizam o application pool de forma compartilhada. Se o site em ambiente on primises tem N aplicações com N applicationPool será necessário replanjear e consolidadar em apenas um, ou migrar cada aplicação em um WebApp diferente. Nesse caso é necessário uma análise criteriosa, pois o limite de recursos está associado ao tier escolhido para o App Service, provavelmente seja necessário ter dois (02) App Services.
  • Global Assembly Cache (GAC) – É comum em ambiente on premise a utilização do GAC para compartilhar assembly com outras aplicações no mesmo servidor. Isso não é suportado no App Service, dessa forma é necessário fazer o deploy de cada aplicação com a pasta BIN.
  • Componentes COM – O App Service não suporta registrar nenhum tipo de componente COM, se a aplicação necessita desse componente será necessário reescrever e adaptar no website e/ou aplicação.
  • ISAPI Filters – É suportado porém é necessário seguir alguns passos:
    • Deploy da DLL em conjunto com a aplicação
    • Registrar DLL no web.config.

Com todos esses itens validados é possivel migrar do IIS tradicional  para o App Service, saliento que ainda não estamos utilizando todos os recursos do App Service (PaaS), porém a aplicação será funcional no Microsoft Azure. Recomendo a leitura desse documento – Best Practices for Azure App Service para utilizar todo o poder computacional do App Service.

Todos os pontos que comentamos acima podem ser executado automaticamente através da ferramenta – Azure App Service Migration Assistant, o procedimento é simples, siga os passos para instalação em Windows Server aqui, no final do análise será gerado um relatório com as recomandações do que precisa ser resolvido e o que pode ser movimentado para a nuvem, e por fim ainda é possível criar os objetos no Azure e migrar todo conteúdo (incluíndo banco de dados que estão definidas na ConnectionString), em tempo servidores Linux com versões especificam podem ser migrados também, consulte os requisitos neste link.

Esses passos são o suficente para migrar uma aplicação web para o Microsoft Azure, porém existem outros fatores que precisam ser avaliados, por exemplo: Que tipo de App Service será utilizado? Precisa Escalar? Se utilizar um dominio customizado, será o mesmo servidor de DNS ou Azure DNS? Precisa de site redudante em outra região? Vai utilizar Traffic Manager? Enfim, são algumas varíaveis que precisam ser levadas em consideração antes da migração, a ferramenta serve como apoio e não como solução definitiva!

Até a próxima!
Erick Albuquerque

Microsoft Azure
[Microsoft Azure] Auditoria de criação de objetos por e-mail – Parte01
Microsoft Azure
[Microsoft Azure] Redirecionando HTTP para HTTPS em WebApp
Microsoft Azure
[Microsoft Azure] Auditoria de criação de objetos por e-mail – Parte03
There are currently no comments.

XPTO-WPC-MONITOR-TAG