Partilhar via


Preparar cargas de trabalho para a nuvem

Antes de migrar para o Azure, as cargas de trabalho devem estar prontas para a nuvem. A preparação para a nuvem reduz o risco de substituição e garante a compatibilidade com os serviços do Azure. Valide, proteja e automatize cargas de trabalho no Azure antes da transferência de produção. Use seu plano de arquitetura do Azure e sua avaliação de 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 controladores 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 planejar sua arquitetura de nuvem e preparar suas zonas de aterrissagem de aplicativos, a próxima etapa é implantar 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 assinaturas do 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. Implante a arquitetura do Azure definida durante o planejamento da adoção da nuvem. Certifique-se de que ele reflita quaisquer requisitos de carga de trabalho atualizados. Para obter orientação, consulte Planejamento da arquitetura do 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 os dados de avaliação da fase de planejamento para orientar os esforços de correçã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. Aplique correções no ambiente de teste do 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 requer versões de SO suportadas para atualizações de segurança e compatibilidade de plataforma
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 Substituir por Armazenamento de Blob do Azure ou Arquivos 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ção com o Microsoft Defender for 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 problemas de compatibilidade, verifique se suas cargas de trabalho funcionam corretamente no ambiente do 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 de rede confiável garante que todos os componentes do aplicativo e dependências externas possam se comunicar conforme pretendido no Azure. Uma rede mal configurada pode causar falhas críticas na produção.

  1. Teste a conectividade entre todos os componentes. Use a solução de problemas de conexão do Observador de Rede do Azure para verificar se as camadas de aplicativo podem se 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 Inspetor de Rede para validar se a conectividade de saída funciona corretamente e se as regras de 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. A validação desses fluxos garante que os usuários e serviços possam se autenticar sem problemas no ambiente do Azure.

  1. Testar fluxos de autenticação do usuário. Use contas de usuário de teste para verificar se provedores de identidade, como o Microsoft Entra ID, estão acessíveis e se 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 se as permissões RBAC (controle de acesso baseado em função) do Azure estão configuradas corretamente e se os serviços podem se autenticar nos recursos necessários, como bancos 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 de usuário críticos e processos de negócios para garantir que eles funcionem corretamente no ambiente do 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 o Teste de Carga do Azure para simular tráfego de usuário realista e medir tempos de resposta, taxa de transferência 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 modelos de Bicep, Terraform ou Azure Resource Manager para definir 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. Ele evita o erro humano ao 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 o GitHub ou o Azure DevOps para gerenciar ativos IaC com controle de versão 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. Utilize o Azure Pipelines, GitHub Actions para executar trabalhos de implantação que adotam o modelo IaC e implantam em uma assinatura/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. Utilize uma assinatura ou grupo de recursos separado no Azure como um sandbox e pratique implantar todo o seu ambiente do zero usando os seus modelos 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 obter mais informações, consulte Projetar uma alteração de fornecimento de desenvolvimento de carga de trabalho e Infraestrutura como código no 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. Se um novo engenheiro precisasse fazer uma implementação, poderia ler este documento para seguir os passos ou compreender o resultado 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 o SharePoint, o GitHub ou um wiki para armazenar essas informações. 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