Partilhar via


Avalie suas cargas de trabalho para migração para a nuvem

A fase de avaliação garante que tem total visibilidade sobre cada componente, dependência e requisito antes de passar para o Microsoft Azure. Ao coletar informações detalhadas sobre arquitetura, desempenho, segurança, código e bancos de dados, você pode antecipar problemas, minimizar riscos e tomar decisões de migração informadas.

Tipo de carga de trabalho Ferramenta de descoberta Ferramenta de avaliação Examples
On-premises Azure Migrate Azure Migrate
Dr. Migrate
• Servidores físicos
VMware VMs
• Hyper-V VMs
• Bases de dados SQL
• Aplicações Web
Infraestrutura da AWS (IaaS) Azure Migrate Azure Migrate
Orientação da AWS para o Azure
• Instâncias do AWS EC2
• Bancos de dados do AWS RDS
• Volumes do AWS EBS
Infraestrutura do Google Cloud (IaaS) Azure Migrate Azure Migrate
Diretrizes de migração do Google Cloud para o Azure
• Máquinas Virtuais do Google Cloud Compute Engine
• Google Cloud SQL
• Disco persistente do Google Cloud
Serviços da plataforma AWS (PaaS) Explorador de recursos da AWS Diretrizes de migração da AWS para o Azure
Comparação de serviços AWS e Azure
Cloudockit
• AWS Lambda
• AWS Elastic Beanstalk
• AWS DynamoDB
Serviços da plataforma Google Cloud (PaaS) Inventário de ativos do Google Cloud Orientação do Google Cloud para Azure
Comparação de serviços do Google Cloud e do Azure
Cloudockit
• Google Cloud BigQuery
• Google Cloud App Engine
• Funções de execução do Google Cloud
Código do aplicativo Destaque CAST
Dr. Migrate
Dr. Migrate
CloudPilot
Destaque CAST
CloudAtlas
GitHub Copilot
• GitHub
• Azure Repos
• GitLab

Avaliar a arquitetura da carga de trabalho

Uma avaliação arquitetónica completa dá-te visibilidade sobre todos os componentes da carga de trabalho e como interagem. Esta visibilidade apoia um planeamento preciso da migração, identificando que componentes precisam de se mover em conjunto e quais poderão necessitar de modificação.

  1. Utilize ferramentas de avaliação. Ferramentas como o Azure Migrate ou outros produtos automatizam a descoberta de componentes e configurações de carga de trabalho. Essas ferramentas reduzem o esforço manual e fornecem coleta de dados consistente em todo o ambiente, embora possam perder dependências não documentadas. Você pode usar uma ferramenta como o Cloudockit para gerar seus diagramas. Também pode criar os seus próprios diagramas usando ícones do Azure ou ajustando os diagramas descarregáveis no Azure Architecture Center.

  2. Valide a arquitetura com experiência no assunto. Os proprietários da carga de trabalho podem confirmar as descobertas da ferramenta e identificar informações ausentes ou desatualizadas. Conduza entrevistas ou sessões de revisão de arquitetura para fechar lacunas nos dados de descoberta automatizados.

  3. Arquitetura de documentos. Armazene diagramas de arquitetura, listas de componentes e dados de configuração em um formato que ofereça suporte ao planejamento e à validação. Use ferramentas como Microsoft Visio, planilhas ou wikis do Azure DevOps para manter essas informações.

Avaliar os componentes da carga de trabalho

Para cada carga de trabalho, colete métricas detalhadas de desempenho e uso da linha de base do ambiente atual. Estes dados são críticos para ajustar o tamanho dos recursos do Azure e para comparar o desempenho após a migração.

  1. Reúna métricas de carga de trabalho. Rastreie a utilização da CPU, o uso da memória, a E/S do disco (leituras/gravações, IOPS), a taxa de transferência da rede e o pico de simultaneidade ou carga do usuário. Identifique picos diários ou semanais para entender as necessidades de capacidade. Meça os tempos médios de resposta para transações de usuários, taxa de transferência de trabalhos processados por hora e quaisquer métricas relacionadas ao SLA. Esta informação ajuda a garantir que as cargas de trabalho migradas cumprem os mesmos requisitos de desempenho empresarial.

  2. Captura os detalhes de configuração. Note as configurações de escalonamento, tamanhos atuais das máquinas virtuais (VM), especificações do servidor físico (núcleos de CPU, RAM), tipo e versão do sistema operativo, tipo de armazenamento (SSD/HDD) e capacidade, e qualquer hardware especial como GPUs. Esses detalhes informam a escolha de tamanhos de VM do Azure ou serviços PaaS. Também regista informações sobre licenciamento de software. Esta informação pode permitir a utilização do Azure Hybrid Benefit ou exigir a migração de licenças.

  3. Documente todas as configurações de segurança e identidade. Inventarie todas as configurações de segurança e identidade: liste contas de serviço, credenciais codificadas, métodos de criptografia usados e regras de firewall. Estas configurações precisam de ser replicadas ou ajustadas em Azure.

    Componente de Segurança Action Purpose
    Inventário de identidades Registre todas as contas de serviço, contas de usuário e chaves de API que os aplicativos usam para autenticação Afeta o sequenciamento da migração ao escolher entre as abordagens de lift-and-shift ou de modernização.
    Documentação de criptografia Documente os métodos de criptografia atuais para dados em repouso e em trânsito Mapeie esses requisitos para os serviços de criptografia do Azure para manter os padrões de segurança
    Configuração de segurança de rede Capture regras de segurança de rede, configurações de firewall e listas de controle de acesso Use essas informações para projetar grupos de segurança de rede do Azure e políticas de acesso
  4. Identificar problemas de compatibilidade. As ferramentas automatizadas fornecem análise sistemática de sistemas operacionais, middleware e estruturas de aplicativos em relação às políticas de suporte do Azure. Essas ferramentas sinalizam componentes sem suporte, preteridos ou que estão se aproximando do fim do suporte. Ferramentas como o Azure Migrate e outras ferramentas de avaliação podem detetar esses problemas em seu ambiente sem revisões manuais de configuração.

  5. Listar as remediações necessárias. Crie uma lista abrangente de todos os problemas de compatibilidade e seus requisitos de correção. Prioriza aqueles que têm de ser corrigidos antes da migração (bloqueadores) e aqueles que podem ser resolvidos após a migração, se necessário. Envolva fornecedores, se necessário, para entender os caminhos de atualização para software comercial.

Mapear dependências internas e externas

  1. Mapeie dependências internas. Mapeie como os componentes de uma carga de trabalho comunicam entre si e com outros sistemas dentro da sua organização. Use ferramentas de monitoramento de rede ou monitoramento de desempenho de aplicativos para ver conexões de tempo de execução entre serviços. Este mapeamento ajuda-o a determinar o agrupamento nas ondas migratoriais. Por exemplo, se a Aplicação A chama constantemente a Base de Dados B, ou as migra juntas ou fornece conectividade de rede entre o Azure e o ambiente de origem até que ambas estejam na cloud.

  2. Identificar todas as dependências externas. Liste todos os serviços externos com os quais a carga de trabalho interage. Essas dependências incluem plataformas SaaS, APIs de parceiros, sistemas locais e serviços de terceiros que os aplicativos exigem para funcionar corretamente. Você deve catalogar todas as integrações upstream e downstream, serviços compartilhados e pipelines de dados para entender todo o cenário de dependência. APIs de documentos, sistemas de mensagens, processos ETL, bancos de dados compartilhados, métodos de autenticação, padrões de troca de dados e contratos de nível de serviço. Analise a documentação de integração e conduza entrevistas com proprietários de aplicativos para garantir visibilidade completa de todas as conexões externas. Esse mapeamento abrangente evita falhas de integração e oferece suporte ao sequenciamento preciso da migração.

  3. Envolva os proprietários da carga de trabalho para validar e concluir os dados de dependência. Os proprietários de carga de trabalho oferecem informações críticas sobre o comportamento do sistema, recursos compartilhados e integrações informais que as ferramentas podem não detetar. Você deve conduzir entrevistas estruturadas ou workshops com proprietários de aplicativos e cargas de trabalho para validar dados gerados por ferramentas e identificar dependências não documentadas. Esta etapa garante a integridade e a precisão do mapa de dependência e ajuda a capturar o contexto de negócios que informa o sequenciamento da migração.

  4. Documente todas as dependências em um repositório central. Armazene dados de dependência em um formato que ofereça suporte à colaboração entre equipes e ao planejamento de migração, como planilhas, diagramas de arquitetura ou ferramentas de mapeamento de dependência. Garantir que o repositório esteja acessível e atualizado regularmente para refletir as alterações durante o processo de migração.

  5. Use dependências para planejar migrações. Organize as cargas de trabalho em ondas de migração que minimizem dependências quebradas. Para mais informações, consulte Planeamento da Vaga de Migração.

Avaliar a conformidade e os requisitos operacionais

  1. Identificar requisitos de conformidade regulamentar. Uma compreensão clara dos requisitos de conformidade regulamentar garante que sua arquitetura do Azure esteja alinhada com as obrigações legais, do setor e organizacionais. Esses requisitos influenciam a seleção de regiões, a disponibilidade do serviço, a proteção de dados e as decisões de arquitetura. As normas regulatórias e de conformidade incluem políticas globais, regionais, específicas do setor e internas. Essas normas podem incluir GDPR, HIPAA, FedRAMP, ISO 27001 ou regulamentações financeiras, como SOX. Cada norma impõe requisitos específicos sobre tratamento de dados, controle de acesso, criptografia e auditabilidade. Você deve identificar todos os padrões aplicáveis para cada carga de trabalho consultando as partes interessadas jurídicas, de conformidade e de segurança.

  2. Documente SLAs, RPOs e RTOs. Os contratos de nível de serviço (SLAs), os RPOs (Recovery Point Objetives, objetivos de ponto de recuperação) e os RTOs (Recovery Time Objetives, objetivos de tempo de recuperação) definem níveis aceitáveis de disponibilidade e perda de dados. Essas métricas orientam o design de estratégias de backup, replicação e failover. Você deve documentar esses valores para cada carga de trabalho para garantir que a arquitetura atenda às expectativas de continuidade de negócios. Consulte Definir requisitos de confiabilidade.

  3. Classifique cada ambiente de carga de trabalho. As cargas de trabalho normalmente são executadas em ambientes de produção, teste ou desenvolvimento. Cada ambiente tem diferentes requisitos de disponibilidade, segurança e desempenho. Você deve documentar a classificação de ambiente para cada carga de trabalho para informar o sequenciamento de migração, os controles de acesso e a alocação de recursos.

  4. Valide a integração do ISV com o Azure. Muitas cargas de trabalho dependem de software de fornecedores independentes de software (ISVs). Você deve confirmar se todo o software ISV é compatível com o Azure antes da migração. Use documentação do fornecedor, ambientes de teste ou validação direta com o ISV. Identifique quaisquer atualizações, substituições ou alterações de configuração necessárias. Determine também se o Benefício Híbrido do Azure ou outros modelos de licenciamento se aplicam. Inclua custos de licenciamento e ajustes de compatibilidade em seu plano de migração para orçamento e agendamento precisos.

Avaliar o código do aplicativo

Uma avaliação de código de aplicativo identifica problemas de compatibilidade e oportunidades de modernização que podem afetar o sucesso da migração. Essa avaliação é essencial para garantir que os aplicativos sejam executados de forma confiável no Azure e para planejar as ondas de migração de forma eficaz. Você deve avaliar o código do aplicativo para detetar bloqueadores antecipadamente, reduzir o risco de falha de migração e informar as decisões de arquitetura de destino.

Use ferramentas automatizadas para avaliar o código do aplicativo

  1. Usa a ferramenta de modernização da aplicação GitHub Copilot (.NET e Java). A modernização de aplicações com o GitHub Copilot fornece avaliações detalhadas para cargas de trabalho .NET e Java. Combina as capacidades de avaliação da AppCAT com a assistência baseada em IA do Copilot para tornar a modernização mais rápida e fácil. Esta integração atua como um parceiro de programação, ajudando-o a:

    • Capturar dependências relacionadas com aplicações
    • Revise e otimize o código-fonte para os serviços Azure
    • Atualizar o código e remediar Vulnerabilidades e Exposições Comuns (CVEs)
    • Contentorizar aplicações para implementação flexível
    • Gerar ficheiros de implementação para agilizar a migração
    • Reduza o esforço com programação assistida por IA
  2. Use ferramentas de terceiros para outros idiomas de aplicativos. Ferramentas como CloudPilot e CAST Highlight suportam linguagens como Python, JavaScript, Node.jse Go. Essas ferramentas identificam as alterações no nível de código necessárias para a compatibilidade do Azure e fornecem insights de modernização. Use essas ferramentas para avaliar cargas de trabalho non-.NET e não Java.

  3. Use os resultados da avaliação para informar as decisões da arquitetura de destino. As descobertas de compatibilidade de aplicativos podem influenciar a seleção de serviços do Azure. Por exemplo, um aplicativo que não é compatível com um serviço pode ser compatível com outro com alterações mínimas de código. Por exemplo, serviços como o Azure App Service normalmente requerem menos alterações de código, enquanto os serviços da plataforma de contentores podem exigir mais atualização de código antes da implementação. Use essa flexibilidade para migrar aplicativos mais cedo e adiar a modernização do código para uma fase posterior. Essa abordagem reduz o risco de migração e acelera o tempo de entrada na nuvem.

Validar a compatibilidade da estrutura e do SDK

  1. Entenda a compatibilidade de código. A compatibilidade entre a estrutura e o SDK garante que os aplicativos sejam executados de forma confiável no Azure. Versões sem suporte ou SDKs incompatíveis podem causar falhas de tempo de execução ou exigir retrabalho significativo. Você deve verificar se o Azure dá suporte à versão e à estrutura de idioma do seu aplicativo.

  2. Verifique o suporte do Azure para a linguagem e a estrutura do seu aplicativo. Confirme se o Azure suporta a sua versão do .NET,Java, Python, JavaScript, Node.jse Go. Use a documentação oficial do Azure para validar a compatibilidade.

  3. Evite alterações desnecessárias na estrutura. Só migre para um novo framework (como Microsoft .NET Framework para .NET Core) se houver uma justificação empresarial forte. As alterações na estrutura exigem um esforço de desenvolvimento e testes significativos.

Avaliar bases de dados

As dependências do banco de dados geralmente determinam o sucesso da migração de aplicativos. Bancos de dados compartilhados, dependências entre aplicativos e padrões de integração podem complicar o planejamento da migração. Você deve avaliar os bancos de dados que dão suporte aos seus aplicativos e entender suas dependências. Siga estas orientações:

  1. Identificar todos os bancos de dados usados pelo aplicativo. Crie um inventário completo de todos os bancos de dados usados pelo aplicativo. Inclua tipos de mecanismo de banco de dados (SQL Server, MySQL), versões e modelos de hospedagem (por exemplo, local, IaaS, PaaS). Use ferramentas, como o Azure Migrate, para coletar essas informações sistematicamente. Especifique se o banco de dados é auto-hospedado, hospedado em máquinas virtuais ou entregue como um serviço gerenciado. Essas informações ajudam a determinar a prontidão da migração e a compatibilidade da plataforma de destino.

  2. Mapeie dependências de entrada e saída. Uma visão clara de como os dados entram e saem de cada banco de dados é fundamental para sequenciar migrações e evitar interrupções de serviço. As dependências geralmente abrangem vários aplicativos, serviços e sistemas externos. Inclua aplicativos internos, APIs, trabalhos em lote, ferramentas de relatório e outras integrações. Especifique se a dependência é somente leitura, somente gravação ou bidirecional. Esse detalhe ajuda a priorizar cargas de trabalho e identificar possíveis bloqueadores de migração.

  3. Determinar a estratégia de migração do banco de dados. Decida se deseja mover o banco de dados como uma instância compartilhada ou dividi-lo por carga de trabalho. Os bancos de dados compartilhados simplificam o gerenciamento, mas podem atrasar a migração se vários aplicativos dependerem deles. A divisão de bancos de dados permite a migração independente, mas requer coordenação e testes cuidadosos. Certifique-se de que o plano de migração do banco de dados ofereça suporte ao sequenciamento de movimentações de aplicativos e minimize o tempo de inatividade ou a interrupção do serviço.

Criar e manter um registo de riscos

Um registo de risco é um documento ou ferramenta que utiliza para identificar, avaliar, priorizar e monitorizar potenciais riscos que possam afetar a adoção na cloud. Apresenta estratégias de mitigação. A manutenção deste registo garante uma gestão proativa dos riscos.

  1. Estabeleça um registro de risco para todas as cargas de trabalho. Registrar riscos relacionados a fatores técnicos, operacionais e organizacionais. Este registo fornece visibilidade sobre potenciais bloqueadores e o seu valor.

  2. Defina estratégias de mitigação e acompanhe seu status. Para cada risco, documente ações de mitigação, partes responsáveis e prazos de resolução. Este acompanhamento garante que gere e resolve ativamente os riscos.

Para obter mais informações, consulte CAF Govern - Avaliar riscos de nuvem

Recursos e ferramentas do Azure

Category Tool Description
Descoberta e avaliação Azure Migrate Deteção e avaliação abrangentes para servidores, bancos de dados e aplicativos locais
Servidores com suporte para Arc Azure Arc Estende o gerenciamento do Azure para ambientes locais e multicloud
Avaliação de código Copiloto do GitHub Análise de compatibilidade automatizada para aplicativos .NET e Java
Migração de banco de dados Assistente de Migração de Dados Ferramenta de avaliação e migração para bancos de dados SQL Server
Mapeamento multicloud Mapeamento de serviços da AWS para o Azure Guia de comparação de serviços para migração da AWS para o Azure
Mapeamento multicloud Mapeamento do serviço Google Cloud para Azure Guia de comparação de serviços para migração do Google Cloud para o Azure
Desenvolvimento do Azure .NET no Azure Orientação para acessar os serviços do Azure a partir de aplicativos .NET
Desenvolvimento do Azure Java no Azure Recursos para desenvolvedores Java com base no Azure
Desenvolvimento do Azure Python no Azure Recursos para desenvolvedores Python com base no Azure
Desenvolvimento do Azure JavaScript e Node.js no Azure Orientação para desenvolvimento de JavaScript e Node.js no Azure
Desenvolvimento do Azure Vá no Azure Recursos para desenvolvedores do Go com base no Azure
Cloud Adoption Framework Definir requisitos de confiabilidade Orientação para definir requisitos de confiabilidade para cargas de trabalho na nuvem

Próximos passos