Investigar assistentes de migração

Concluído

A análise de uma consideração de migração envolve uma revisão de todas as várias opções disponíveis. Em uma unidade anterior, mencionamos a hospedagem de serviços como IaaS e PaaS. A migração de IaaS pode fornecer uma opção de lift-and-shift em que você cria uma VM, define-a com o mesmo software e configurações do seu ambiente local e a hospeda no Azure. A IaaS ainda exige que sua organização gerencie, aplique patches, atualize e ajude a proteger o software na VM.

Quando você tiver um aplicativo ASP.NET que deseja migrar, considere usar a opção de PaaS para obter o maior benefício da automação e da escalabilidade no Azure. Para a solução de PaaS com aplicativos ASP.NET, a discussão se transforma em usar o Serviço de Aplicativo do Azure.

O que é o Serviço de Aplicativo do Azure?

O Serviço de Aplicativo do Azure é um serviço baseado em HTTP no Azure que você pode usar para hospedar aplicativos Web e APIs REST. Esse serviço fornece benefícios como:

  • Dimensionamento automático para ajudar a escalar seu aplicativo para atender à demanda com base nos parâmetros especificados, reduzindo automaticamente a escala quando a demanda diminuir.

  • Alta disponibilidade para ajudar a garantir que seu aplicativo permaneça disponível em caso de falhas ou de tempo de inatividade no servidor ou no datacenter. O Azure usa zonas, regiões e conjuntos de disponibilidade para ajudar a conseguir isso.

  • Suporte em plataformas do Windows e do Linux.

  • Integração com modelos de implantação automatizados usando o Azure DevOps ou repositórios do GitHub.

Como o Serviço de Aplicativo do Azure hospeda aplicativos ASP.NET?

Você pode usar o Serviço de Aplicativo do Azure para hospedar seu aplicativo ASP.NET em um Plano do Serviço de Aplicativo. O plano do Serviço de Aplicativo definirá um conjunto de recursos de computação para seu aplicativo ASP.NET. Considere os recursos de computação como sendo semelhantes a um farm de servidores local. Os recursos de computação serão compostos de VMs que contêm o software necessário para hospedar seu aplicativo. Esta pode ser uma VM executando um produto do Windows Server com o IIS hospedando o aplicativo.

Diagram of web app architecture hosted on Azure with app plan, DNS, resource group, and databases.

O aplicativo também usará outros recursos, como:

  • Recursos de rede para fornecer acesso ao aplicativo Web por meio da porta padrão 80 ou da porta HTTPS 443. A rede também fornece opções para configurações de endereçamento de IP público e DNS.
  • Opções de monitoramento e log para o serviço.
  • Acesso ao controle por meio do Microsoft Entra ID e do controle de acesso baseado em função (RBAC).
  • Outras opções disponíveis, dependendo da configuração necessária para o aplicativo específico, como acesso ao banco de dados e as opções de dimensionamento e de disponibilidade.
  • Uma opção de armazenamento para vários arquivos necessários para hospedar o aplicativo.

O que é o Banco de Dados SQL do Azure?

O Banco de Dados SQL do Azure é um serviço de banco de dados inteligente, escalonável, relacional desenvolvido para a nuvem. É um serviço de banco de dados SQL totalmente gerenciado que gerencia patches, atualizações e backups sem a intervenção do usuário. Selecione entre dois modelos de implantação do banco de dados SQL do Azure: um banco de dados individual ou um pool elástico.

Modelo de banco de dados individual

Um modelo de implantação de banco de dados individual é semelhante a um banco de dados independente e individual em um mecanismo de banco de dados local do SQL Server. No modelo de implantação de banco de dados SQL do Azure individual, você tem a opção gerenciada completa mencionada anteriormente nesta unidade. Trata-se de um banco de dados isolado para as necessidades dos seus aplicativos.

Modelo do pool elástico

O pool elástico é uma coleção de bancos de dados individuais que compartilham um conjunto de recursos, como memória e CPU. Se necessário, mova bancos de dados individuais para fora do pool elástico e mova outros bancos de dados individuais para o pool.

Há várias camadas de serviço e tamanhos de computação que ajudam a personalizar a implantação do banco de dados SQL do Azure às necessidades específicas dos seus aplicativos. Por exemplo, você pode começar com um único banco de dados pequeno para atender às suas necessidades existentes e ajudar a manter os custos baixos. Conforme o seu aplicativo precisar crescer, você pode atualizar a camada de serviço para fornecer opções de escalabilidade dinâmicas para ajudar a atender à demanda sobre o acesso a aplicativos e dados. A escala dinâmica permite que você use recursos para gerenciar a escala quando necessário e reduzi-la quando a demanda cair, o que ajuda a manter os custos mais baixos.

Comparar o Banco de dados SQL do Azure com o SQL Server

Comparar um mecanismo de banco de dados SQL Server local com o banco de dados SQL do Azure pode ajudar a destacar os benefícios do uso do Azure.

Com um mecanismo de banco de dados do SQL Server local, você pode:

  • Exigir que seu departamento de TI adquira o hardware do servidor.

  • Instalar o sistema operacional.

  • Instalar o mecanismo de banco de dados.

  • Gerenciar patches.

  • Configurar a segurança de firewall.

  • Gerenciar o acesso ao banco de dados.

  • Gerenciar o backup do banco de dados.

  • Gerenciar a recuperação de desastre.

  • Execute todas as tarefas anteriores novamente para um novo hardware quando os recursos de computação não forem suficientes para atender à demanda.

Quando você usa um Banco de Dados SQL do Azure, você pode:

  • Criar uma instância de banco de dados no Azure usando o modelo de implantação escolhido.

  • Migrar seus dados para a nova instância.

  • Configurar o acesso ao aplicativo.

  • Configurar as opções de escalabilidade, se necessário.

  • Aproveitar os benefícios de um ambiente gerenciado.

Cenários de dados híbridos

O Benefício Híbrido do Azure é um modelo que ajuda a reduzir os custos de licenciamento para a execução de suas cargas de trabalho do SQL na nuvem. Você pode aproveitar esse benefício usando as licenças locais habilitadas para Software Assurance para o Windows Server e o SQL Server na plataforma do Azure.

Este grafo demonstra um exemplo de economia do SQL Server Enterprise.

Graph of SQL hybrid savings, depicting enterprise at $3.97 per hour and hybrid at $0.598 per hour. This represents an 85% savings.

O que são ferramentas de assistência de migração?

A Microsoft fornece um conjunto de ferramentas de assistência de migração que ajudam a avaliar o ambiente existente, destacar os problemas que podem ser enfrentados durante a migração e ajudar no processo real de trazer seu aplicativo e dados para a nuvem.

O que são as Migrações para Azure?

As Migrações para Azure são um serviço gratuito fornecido pela Microsoft que descobre, avalia e migra sistemas locais para o Azure. O serviço ajuda com os cálculos de dimensionamento baseados no desempenho (dimensionamento de VM, computação/armazenamento) dos computadores que serão migrados; você estimará o custo contínuo da execução desses computadores no Azure. As Migrações para Azure podem avaliar VMs baseadas no VMware e no Hyper-V, além de avaliar servidores físicos. As Migrações para Azure também dão suporte à visualização de dependências para esses computadores. Ele ajuda você a criar grupos de computadores que podem ser avaliados juntos e, por fim, migrados para o Azure simultaneamente. O entendimento das dependências dá a você a certeza de que nada será deixado para trás.

O que é o Migration Assistant do Azure?

O Assistente de Migração do Azure é uma ferramenta que você pode usar para executar a migração do seu aplicativo ASP.NET para a nuvem. Ele funciona com o Assistente de Migração do Serviço de Aplicativo, que foi projetado para simplificar a migração para a nuvem usando uma solução gratuita, simples e rápida para migrar aplicativos ASP.NET do local para a nuvem. Com essas ferramentas, você pode:

  • Avaliar se seu aplicativo é um bom candidato para a migração executando uma verificação da URL pública dele.

  • Baixar o Assistente de Migração para iniciar a migração.

  • Usar a ferramenta para executar verificações de preparação e uma avaliação geral das definições de configuração do aplicativo e, em seguida, migrar seu aplicativo ou site para o Serviço de Aplicativo do Azure.

O que é o Assistente de Migração de Dados?

O Assistente de Migração de Dados ajuda você a fazer upgrade para uma plataforma de dados moderna detectando problemas de compatibilidade que podem afetar a funcionalidade do banco de dado em sua nova versão do SQL Server ou do banco de dados SQL do Azure. O assistente recomenda melhorias de desempenho e confiabilidade para seu ambiente de destino e permite que você mova o esquema, os dados e os objetos não contidos do servidor de origem para o servidor de destino.

Os principais recursos são:

  • A avaliação de instâncias locais do SQL Server para detectar problemas com uma migração resultante de problemas de compatibilidade ou da falta de suporte a recursos

  • Descoberta de novos recursos que você pode aproveitar no Banco de Dados SQL do Azure

  • A migração de instâncias de SQL Server locais para a nuvem

  • A avaliação de pacotes locais do SQL Server Integration Services migrando para o banco de dados SQL do Azure

Avaliar o ambiente existente

Uma etapa crítica no processo de migração é a avaliação de seu ambiente existente. Isso ajuda a garantir uma transição tranquila para seu cenário de migração e também poderá ajudar a identificar possíveis problemas antes, durante e após a migração.

Inventariar o ambiente existente

Fazer um inventário de seu ambiente existente ajuda a identificar os servidores, os aplicativos e os serviços que estão no escopo da migração. Use as equipes de TI e de negócios que trabalham com esses serviços para oferecer orientação, comentários e suporte para a migração.

Você também precisará produzir um mapa de dependências e um inventário completo de servidores e serviços que estão no escopo para migração. O inventário e o mapa determinam como esses serviços se comunicam entre si. Eles podem ajudar a definir as necessidades do ambiente online para garantir uma migração bem-sucedida.

Identificar as alterações de aplicativo necessárias

Seu aplicativo provavelmente precisará de alterações para funcionar corretamente após a migração. Por exemplo, seu aplicativo ASP.NET está acessando um banco de dados. A cadeia de conexão do banco de dados provavelmente precisará de uma alteração. Um benefício de usar o Azure é a capacidade de armazenar a cadeia de conexão do banco de dados como um segredo no Azure Key Vault. Isso protege os parâmetros de autenticação na cadeia de conexão, "ocultando" a cadeia de conexão por trás de um segredo no cofre de chaves. Em seguida, você pode configurar o aplicativo para usar esse segredo, em vez de usar a cadeia de conexão diretamente.

Estimar custos

Uma consideração importante para qualquer cenário de migração é o custo que sua organização incorrerá para hospedar o aplicativo no Azure. Você passará de um modelo de custo que é diferente de um ambiente local típico. No ambiente do Azure, você será cobrado mensalmente por vários custos de consumo relacionados aos custos de computação, de armazenamento e de acesso.

A unidade anterior abordou a Calculadora de Preços do Azure, que você pode usar para ajudar a estimar seus gastos.

Avaliar considerações sobre segurança

A segurança é, e deve ser, uma prioridade superior em qualquer cenário de migração. É possível que você se preocupe com a hospedagem de dados em um mundo online ou se pergunte se os seus funcionários ainda poderão usar as credenciais atuais para acessar os aplicativos. Também é possível que você esteja preocupado com a segurança dos dados do ponto de vista da conformidade com os padrões do setor. Entender as opções disponíveis no Azure pode ajudar a resolver essas preocupações.

Avaliar os requisitos de segurança para seu aplicativo

Em um cenário de aplicativo ASP.NET em que o aplicativo precisa acessar um armazenamento de dados, é preciso considerar como proteger o banco de dados enquanto ainda permite o acesso ao front-end da Web. O Azure fornece redes virtuais para ajudar nesse sentido. As redes virtuais do Azure pode ajudar você a:

  • Criar uma infraestrutura híbrida controlada por você.

  • Usar seus próprios endereços IP e servidores DNS.

  • Proteger suas conexões com uma VPN (rede virtual privada) IPsec ou o Azure ExpressRoute.

  • Obter controle granular do tráfego entre sub-redes.

  • Criar topologias de rede sofisticadas usando soluções virtuais.

  • Obter um ambiente isolado e altamente seguro para seus aplicativos.

Você também pode acessar aplicativos em execução no local usando o Active Directory para autenticação e gerenciamento de identidades. O Microsoft Entra Connect permite integrar seus diretórios locais ao Microsoft Entra ID. Isso significa que os funcionários não precisarão ter vários conjuntos de credenciais para autenticação.

Assim como ao fazer um inventário do seu ambiente local para aplicativos e hardware, você também deve mapear os requisitos de segurança e implementação existentes para poder realizar uma avaliação de segurança adequada para o cenário de migração. Convém garantir que um ambiente hospedado na nuvem ainda atenderá às necessidades de segurança da sua organização.

Explorar o Azure Pipelines para um cenário de migração

Muitas organizações estão adotando práticas de DevOps para um desenvolvimento mais ágil e implantações mais rápidas. Uma das principais áreas que torna isso possível em um ambiente na nuvem é a integração nativa entre as ferramentas que os desenvolvedores usam. O Microsoft Visual Studio, o GitHub e a integração do Serviço de Aplicativo permitem que seus desenvolvedores criem e enviem alterações com mais rapidez. Para aplicativos ASP.NET, a depuração remota e de site ativo oferece maior benefício aos desenvolvedores para diagnosticar problemas no ambiente de produção.