Partilhar via


Preparar cargas de trabalho para a nuvem

Antes de migrar para o Azure, as cargas de trabalho devem estar prontas para a cloud. A prontidão para a cloud reduz o risco de cutover e garante compatibilidade com os serviços do Azure. Validar, proteger e automatizar cargas de trabalho no Azure antes do corte de produção. Use o seu plano de arquitetura Azure e a sua avaliação carga de trabalho para orientar a preparação.

Corrigir problemas de compatibilidade no Azure

Problemas de compatibilidade podem bloquear a migração da carga de trabalho e devem ser resolvidos antes da implantação da produção. O Azure requer configurações específicas, sistemas operativos suportados e drivers atuais. Abordar estas questões de forma sistemática para assegurar uma migração bem-sucedida.

Implantar todos os recursos de carga de trabalho

Depois de planear a arquitetura cloud e preparar as zonas de aterragem das aplicações, o passo seguinte é implementar todos os componentes da carga de trabalho no Azure. Essa fase garante que seus ambientes estejam adequadamente isolados, controlados e alinhados com seu plano de arquitetura. Uma vez implantado, valide a integridade do ambiente de teste para garantir a prontidão para a produção.

  1. Crie subscrições Azure para ambientes de carga de trabalho. Crie assinaturas separadas para ambientes de desenvolvimento, teste e produção para garantir isolamento, controle de custos e governança adequados. Coloque assinaturas no grupo de gestão apropriado e aplique políticas de governação específicas do ambiente, atribuições de controlo de acesso baseadas em funções e orçamentos de gestão de custos. Para obter mais informações, consulte Criar suas assinaturas.

  2. Use seu plano de arquitetura. Implemente a arquitetura Azure definida durante o planeamento da adoção da cloud. Certifique-se de que ele reflita quaisquer requisitos de carga de trabalho atualizados. Para orientação, consulte planeamento da arquitetura Azure.

  3. Implante todos os componentes da carga de trabalho. Em um ambiente de teste (assinatura), implante todos os componentes necessários: computação (VMs, aplicativos Web, contêineres), armazenamentos de dados (bancos de dados, contas de armazenamento), balanceadores de carga, identidades gerenciadas, redes virtuais e recursos DNS.

  4. Valide a integridade do ambiente de teste. Confirme se todas as dependências, configurações e integrações estão presentes. A falta de componentes pode levar a falsos positivos ou problemas não detetados durante o teste.

Resolver problemas de compatibilidade

Antes de mover cargas de trabalho para produção, identifique e resolva quaisquer problemas de compatibilidade que possam afetar o desempenho, a segurança ou a capacidade de suporte. Use dados de avaliação da fase de planeamento para orientar os esforços de remediação e aplique correções no ambiente de teste usando soluções nativas do Azure.

  1. Analise os requisitos de compatibilidade documentados e os problemas conhecidos. Use a avaliação da carga de trabalho da fase de Planeamento do CAF para identificar configurações e dependências sem suporte que devem ser corrigidas.

  2. Resolva cada problema de compatibilidade usando soluções do Azure. Aplicar remediações no ambiente de teste Azure em vez de modificar o ambiente de origem. Os problemas comuns de compatibilidade incluem:

Problema de compatibilidade Solution Por que é importante
Versões de SO não suportadas Atualizar para sistemas operativos suportados O Azure exige versões do sistema operativo suportadas para atualizações de segurança e compatibilidade com plataformas
Drivers de NIC herdados e BIOS Atualize os controladores e o firmware do BIOS Drivers modernos garantem desempenho e segurança de rede em VMs do Azure
Dependências de E/S de arquivos locais Substitua por Armazenamento de Blobs do Azure ou Ficheiros do Azure O armazenamento nativo da nuvem oferece melhor escalabilidade e integração
Endereços IP codificados Substitua por mecanismos de descoberta de serviços, como DNS ou configurações de aplicativos O endereçamento dinâmico suporta a rede e a resiliência do Azure
Software antivírus baseado em host Integra com Microsoft Defender para a Cloud A segurança nativa da nuvem oferece melhor deteção e gerenciamento de ameaças
Contas de usuário codificadas Substituir por identidades gerenciadas As identidades gerenciadas eliminam o gerenciamento de credenciais e melhoram a segurança

Validar a funcionalidade da carga de trabalho

Depois de resolver os problemas de compatibilidade, assegure que as suas cargas de trabalho funcionam corretamente no ambiente Azure. Testes abrangentes são essenciais para confirmar se todos os componentes, configurações e integrações atendem aos requisitos técnicos e de negócios. Esse processo de validação reduz os riscos e garante uma transição suave para a implantação da produção.

Valide a conectividade de rede

A conectividade fiável da rede garante que todos os componentes da aplicação e dependências externas possam comunicar conforme previsto no Azure. Uma rede mal configurada pode causar falhas críticas na produção.

  1. Teste a conectividade entre todos os componentes. Use Observador de Rede do Azure connection troubleshoot para verificar se as camadas de aplicação conseguem comunicar entre si e com serviços externos. Essa validação confirma que grupos de segurança de rede, tabelas de roteamento e configurações de DNS permitem o fluxo de tráfego necessário. Esta ferramenta fornece informações detalhadas sobre problemas de conectividade e identifica problemas de configuração específicos que impedem a comunicação.

  2. Verifique a conectividade do serviço externo. Teste conexões com APIs externas, bancos de dados e serviços externos dos quais sua carga de trabalho depende. Use o Observador de Rede para validar que a conectividade de saída funciona corretamente e que as regras do firewall permitem o tráfego necessário. Documente todos os requisitos de conectividade para implantação de produção.

Validar fluxos de autenticação

A autenticação é fundamental para a segurança e o controle de acesso. Validar estes fluxos garante que utilizadores e serviços podem autenticar-se sem problemas no ambiente Azure.

  1. Testar fluxos de autenticação do usuário. Use contas de utilizador de teste para verificar se fornecedores de identidade como o Microsoft Entra ID são acessíveis e que a autenticação funciona corretamente. Teste diferentes cenários de autenticação, incluindo logon único, autenticação multifator e fluxos de redefinição de senha para garantir a funcionalidade completa.

  2. Valide a autenticação de serviço para serviço. Teste a autenticação entre componentes de aplicativos usando entidades de serviço e identidades gerenciadas. Confirme que as permissões de controlo de acesso baseado em papéis (RBAC) do Azure estão corretamente configuradas e que os serviços podem autenticar-se para recursos necessários como bases de dados e contas de armazenamento.

Realizar testes funcionais e de desempenho

Os testes funcionais e de desempenho garantem que a carga de trabalho atenda aos requisitos de negócios e tenha um desempenho confiável nas condições esperadas antes de entrar em operação.

  1. Execute testes funcionais abrangentes. Realize testes de aceitação do usuário (UAT), testes de integração e testes de regressão para confirmar se o aplicativo atende aos requisitos técnicos e de negócios. Teste todos os fluxos de trabalho críticos dos utilizadores e processos de negócio para garantir que funcionam corretamente no ambiente Azure. Documente quaisquer problemas funcionais e resolva-os antes da implantação da produção.

  2. Meça o desempenho em condições de carga realistas. Use Azure Load Testing para simular tráfego realista de utilizadores e medir tempos de resposta, throughput e utilização de recursos. Configure testes de carga para refletir padrões de uso de produção esperados e cenários de pico de carga. O teste de carga fornece métricas de desempenho detalhadas e identifica gargalos que podem afetar a experiência do usuário.

  3. Valide o desempenho em relação à linha de base. Faça referência às métricas da linha de base de desempenho documentadas durante a avaliação da carga de trabalho do Plano CAF. Compare os resultados do teste com as linhas de base de desempenho estabelecidas do seu ambiente de origem. Identifique qualquer degradação de desempenho e otimize configurações, dimensione recursos ou modifique o código para atender às metas de desempenho.

  4. Inclua as partes interessadas nos testes de aceitação. Realize testes de aceitação com usuários corporativos para confirmar se a carga de trabalho atende às expectativas de negócios e aos requisitos de experiência do usuário. A validação de negócios garante que a carga de trabalho forneça o valor e a funcionalidade esperados antes da implantação da produção.

Criar infraestrutura reutilizável

Depois que sua solução modernizada passar em todos os testes no ambiente de não produção, você deverá capturar a configuração e as configurações da infraestrutura como código, para que possa ser facilmente replicada em ambientes de produção e futuros. Infraestrutura reutilizável significa usar modelos de infraestrutura como código (IaC) e automação para consistência e velocidade.

  1. Crie modelos IaC para configurações comprovadas. Pegue a arquitetura final do seu ambiente de teste (que espelha o que você deseja no prod) e codifice-a. Use templates Bicep, Terraform ou Azure Resource Manager templates para definir a sua infraestrutura. Parametrize estes modelos para que possam ser reutilizados em diferentes fases, como desenvolvimento, teste, produção, com pequenos ajustes como nomes ou tamanhos. Essa configuração garante que o ambiente de produção criado corresponda ao que você testou. Evita o erro humano de clicar manualmente no portal do Azure para criar recursos. Isso também significa que, se você precisar recriar o ambiente, como para recuperação de desastres ou implantação em novas regiões, terá a implantação da infraestrutura pronta. Para obter mais informações, consulte CAF Manage - Gerir implementações baseadas em código.

  2. Armazene modelos no controle de versão. Verifique seu código de infraestrutura em um repositório Git (junto com o código do aplicativo ou em um repositório separado). Use GitHub ou Azure DevOps para gerir ativos IaC com controlo de versões adequado. O controle de versão permite revisões de código, oferece suporte à colaboração em equipe e incentiva a reutilização de modelos em projetos. Essa abordagem fornece rastreabilidade completa para alterações na infraestrutura e oferece suporte a recursos de reversão quando ocorrem problemas.

  3. Automatize a instalação e a configuração de dependências. Crie scripts ou tarefas de pipeline para implantar esses modelos e também lidar com quaisquer tarefas de configuração ou propagação necessárias. Use Azure Pipelines e GitHub Actions para executar trabalhos de implementação que capturam o modelo IaC e o implementam numa subscrição ou grupo de recursos alvo. Automatize a instalação de dependências de aplicativos, a definição de configurações e o gerenciamento de segredos. O objetivo é a configuração do ambiente com um clique (ou um comando): do nada para um ambiente totalmente em execução que corresponda ao que você testou.

  4. Teste o IaC e a automação de ponta a ponta. Usa uma subscrição ou grupo de recursos do Azure separado como sandbox e pratica implementar todo o teu ambiente do zero, usando os teus templates e scripts. Teste se seus modelos, pipelines e scripts IaC podem criar a pilha de infraestrutura completa do nada. Teste diferentes cenários de implantação, incluindo implantação inicial, atualizações de configuração e procedimentos de reversão para confirmar se a automação funciona corretamente.

Para mais informações, consulte Desenhar uma cadeia de desenvolvimento de cargas de trabalho e Infraestrutura como código em WAF.

Criar documentação de implantação

Mesmo com a automação, ter uma boa documentação em torno das implantações é crucial para a auditoria, para a integração de novos membros da equipe e para a manutenção futura. A documentação de implantação deve abranger configurações, procedimentos e etapas de reversão em formato legível por humanos.

  1. Documente as definições e etapas de configuração. Registre todas as configurações específicas do ambiente, cadeias de conexão, pontos de extremidade de serviço e configurações de segurança na documentação acessível. Inclua instruções de implantação passo a passo, requisitos de pré-requisitos e etapas de validação pós-implantação. Esta documentação permite implantações consistentes e oferece suporte à solução de problemas quando ocorrem problemas. Caso um novo engenheiro tivesse de fazer uma implementação, poderia ler este documento e acompanhar ou compreender a saída do pipeline.

  2. Atualizar procedimentos de reversão e recuperação. Depois de concluir os testes, formalize as etapas para reverter as alterações quando ocorrerem problemas de implantação. Inclua gatilhos de reversão, procedimentos de backup e restauração de dados e etapas de validação de recuperação. Teste os procedimentos de reversão e recuperação regularmente para garantir que funcionem corretamente quando necessário. Esta preparação reduz o tempo de inatividade.

  3. Reúna toda esta documentação num local central. Use SharePoint, GitHub ou uma wiki para armazenar esta informação. Certifique-se de que a equipe e o pessoal de suporte saibam onde encontrá-lo. Em um incidente de alto estresse, ter documentos claros à mão é um salva-vidas.

Próximo passo