Compartilhar via


Planejar a modernização da nuvem

O planejamento e a governança adequados são fundamentais para a modernização. Nesta fase, você decide qual abordagem de modernização aplicar e como fazer isso. O planejamento atencioso reduz a chance de estouro de orçamento, mudanças de escopo ou interrupções de serviço durante a execução.

Escolher uma estratégia de modernização

Modernizar uma carga de trabalho significa atualizá-la para se alinhar melhor às metas de negócios atuais, aos padrões técnicos e aos recursos de nuvem. As três estratégias primárias (mudar a plataforma, refatorar, renovar a arquitetura) existem em um contínuo de complexidade e valor. A maioria dos esforços de modernização usa uma combinação dessas abordagens.

A chave é corresponder a estratégia às necessidades específicas de cada componente, considerando suas metas, linha do tempo e recursos disponíveis. Evite a tentação de modernizar demais. Embora as novas tecnologias sejam empolgantes, cada decisão deve ser fundamentada no valor dos negócios.

Estratégia de modernização Definition Quando usar Pros Cons
Replatforme Mover aplicativos para plataformas de nuvem com alterações mínimas de código (IaaS para PaaS). Vitórias rápidas com interrupção mínima. O código atual funciona, mas a carga de operações é alta. Implementação rápida. Reduz o esforço de manutenção. Melhora a confiabilidade por meio de uma melhor infraestrutura. Ganhos de capacidade limitados. O aplicativo principal permanece inalterado.
Refactor Modifique o código existente para melhorar a estrutura, o desempenho e a otimização da nuvem, mantendo a funcionalidade. A dívida técnica causa problemas ou o código não é otimizado para a nuvem. Melhora a manutenção, o desempenho e a segurança. Permite aprimoramentos futuros mais fáceis. Requer esforço e teste significativos do desenvolvedor. Não há novos recursos imediatos para os usuários.
Rearchitect Reprojete a arquitetura do aplicativo usando padrões nativos de nuvem (microsserviços, sem servidor, controlados por eventos). A arquitetura atual limita o crescimento ou a otimização da nuvem. Aborda problemas fundamentais de escalabilidade. Habilita serviços avançados de nuvem. Define as bases para a inovação de longo prazo. Mais complexo e demorado. Alto custo inicial e risco. Requer testes extensivos e operações paralelas.

Planejar modernizações em fases

Tentar modernizar toda uma carga de trabalho complexa (ou múltipla) de uma só vez é arriscado. Divida o esforço em fases lógicas. O planejamento por etapas permite fornecer valor incremental, reduzir o risco ao lidar com etapas gerenciáveis e ajustar o curso entre as fases com base no que você aprende.

  1. Divida as modernizações em fases lógicas. Determine como dividir o trabalho. Não há um único "caminho certo". Escolha o detalhamento que faz sentido para sua arquitetura e estrutura de equipe. A meta é que cada fase seja pequena o suficiente para executar e testar sem complexidade esmagadora, mas significativa o suficiente para fornecer valor. Maneiras comuns de dividir fases:

    Método division Description Example
    Por componente ou camada Fases separadas com base em camadas de carga de trabalho ou limites de carga de trabalho Fase 1: Migração de banco de dados, Fase 2: Refatoração de aplicativos, Fase 3: modernização da interface do usuário
    Por prioridade e complexidade Organizar o trabalho das alterações de baixo risco às de alto risco Fase 1: serviços não críticos, Fase 2: Lógica de negócios principal, Fase 3: recursos voltados para o cliente
    Por função de negócios Estruture fases em torno de limites de aplicação ou de função Fase 1: Carga de trabalho de gerenciamento de usuários, Fase 2: Processamento de pagamento, Fase 3: Serviços de relatórios
  2. Comece com alterações de baixo risco e de alto valor. Para sua Fase 1, escolha algo que seja alcançável e forneça uma vitória tangível, mas não coloque o negócio em risco se surgirem problemas. Por exemplo, modernize primeiro um serviço de back-end ou uma ferramenta interna em vez do site voltado para o cliente. Pretenda concluir a primeira fase rapidamente (um mês ou dois) como um ponto de prova. O sucesso antecipado cria a confiança da equipe e o suporte dos stakeholders para as fases subsequentes.

  3. Sequência de fases restantes por valor e dependências. Após a primeira fase, planeje a ordem das fases subsequentes com base no valor comercial e nas dependências técnicas. Crie um roteiro em que cada fase tenha um escopo definido e garanta que os componentes críticos tenham seus elementos de suporte já modernizados ou compatíveis.

    • Endereçar áreas frágeis. Se uma carga de trabalho for frágil em seu estado atual, talvez você precise até mesmo de uma "Fase 0" preliminar para estabilizá-la no local (aplicar correções urgentes no ambiente antigo) para que seja seguro modernizar na Fase 1.
    • Primeiro, abordar pré-requisitos: Se a modernização da Carga de Trabalho B depender da modernização da Carga de Trabalho A (ou pelo menos de sua estabilidade), faça a Carga de Trabalho A primeiro.
    • Considere o valor comercial versus o risco: Você pode decidir alternar, fazendo uma peça de alto valor, mas mais arriscada em uma fase, em seguida, uma peça de menor risco na próxima, para equilibrar a carga na equipe e o risco para o negócio.
  4. Defina critérios de êxito para cada fase. Para cada fase, decida quando ela for concluída e bem-sucedida. Ter critérios de saída claros previne o crescimento do escopo em uma fase. Os critérios de êxito podem incluir:

    Tipo de critério de êxito Examples
    Metas técnicas • O Serviço X é executado no Serviço de Aplicativo do Azure e lida com 20% mais carga
    • O Banco de Dados Y migra para o SQL do Azure sem perda de dados e desempenho dentro de 10% da linha de base anterior
    Portões de qualidade • Nenhum bug do Sev-1 aberto
    • Todos os testes automatizados são aprovados
    • A verificação de segurança mostra zero vulnerabilidades críticas
    Restrições de tempo e orçamento • Concluir dentro de três meses e dentro de 5% de orçamento
    • Implantar durante janelas de manutenção agendadas
  5. Adapte planos com base nos resultados. Depois de concluir uma fase, examine os resultados e as lições aprendidas. Você pode descobrir que algumas suposições estavam equivocadas ou algumas tarefas foram mais fáceis ou mais difíceis do que você esperava. Ajuste o plano para as próximas fases conforme necessário, como adicionar, combinar ou reprioritizar fases. A abordagem em fases deve ser flexível. O importante não é tentar fazer tudo de uma vez.

Planejar para a governança de modernização

A modernização geralmente introduz alterações significativas em cargas de trabalho críticas, portanto, uma governança forte é necessária para gerenciar riscos. A governança de modernização envolve processos de gerenciamento de alterações, congelamentos e escopo de controle:

  1. Estabelecer um fluxo de trabalho formal de aprovação de alteração. Defina um processo de aprovação estruturado para todas as alterações relacionadas à modernização. Integre-se aos Conselhos Consultivos de Alterações (CAB) existentes ou crie um conselho de revisão de modernização dedicado. Atribua a autoridade de aprovação com base na categoria de alteração e documente o fluxo de trabalho completo em seu plano de projeto. Para obter mais informações, consulte Gerenciar alteração.

  2. Congele as alterações quando necessário. Antes e durante os principais eventos de implantação, suspenda outras alterações nas mesmas cargas de trabalho. Um congelamento de alterações significa que nenhuma outra alteração não relacionada será feita nesses workloads durante a preparação e a implantação. Ele estabiliza o ambiente para que você não esteja perseguindo um alvo em movimento. Comunique o período de congelamento a todas as equipes relevantes.

  3. Evite aumento de escopo. O aumento do escopo é um grande desafio nas modernizações. Exigir qualquer alteração proposta no escopo de modernização acordado para passar por uma etapa de avaliação e aprovação. A maioria das solicitações deve ser adiada, a menos que sejam cruciais. Formalize o "não, não agora" para trabalho adicional através de um processo. Mantenha uma lista de pendências de ideias interessantes que surgirem, as quais podem ser incluídas em um projeto de inovação futuro quando a modernização atual estiver concluída. Os stakeholders devem saber que sua ideia não está perdida.

Definir sua estratégia de implantação

Uma decisão de execução crucial é como distribuir os componentes modernizados em produção. Há duas estratégias principais. Em uma implantação no local, você atualiza a configuração existente (como renovar uma casa enquanto mora nela). Em uma implantação paralela, você cria uma nova configuração ao mesmo tempo (como construir uma nova casa e depois se mudar). Escolha a estratégia que se ajuste ao nível de alteração e tolerância a riscos para cada fase ou carga de trabalho. Muitas vezes, cada fase da modernização pode usar uma estratégia diferente. Por exemplo, você pode escolher no local para a Fase 1 (se for uma alteração pequena) e paralela para a Fase 2 (se essa envolver uma grande revisão do banco de dados).

  1. Use implantação local para alterações reversíveis e de baixo risco. A implantação realizada diretamente introduz alterações no ambiente de produção atual, possivelmente durante uma janela de manutenção. Essa estratégia minimiza a sobrecarga de infraestrutura, mas aumenta o risco de tempo de inatividade. Use a implantação local somente quando as alterações forem pequenas, isoladas e facilmente reversíveis. Exemplos incluem pequenas atualizações de código ou alterações de esquema que podem ser revertidas rapidamente usando o controle do código-fonte ou backups.

  2. Use a implantação paralela para alterações complexas ou de alto risco. Nesse modelo, você configura um novo ambiente para a carga de trabalho modernizada enquanto a carga de trabalho antiga ainda é executada. Os dados são mantidos em sincronia (por meio de processos de replicação ou migração) para que, quando estiverem prontos, você possa mudar do ambiente antigo para o novo. Use para alterações complexas ou de alto risco em que o tempo de inatividade deve ser mínimo. Se você estiver fazendo uma migração de banco de dados principal ou uma rearquitecagem que envolva uma nova infraestrutura, o paralelo geralmente é o caminho. Além disso, se a carga de trabalho for essencial para a missão e não puder ter mais de alguns minutos de tempo inativo, será necessário um funcionamento paralelo (com replicação e transição rápida).

    Strategy Description Quando usar Pros Cons
    Implantação no ambiente existente Implantar alterações diretamente no ambiente de produção atual Alterações pequenas e reversíveis com janelas de manutenção aceitáveis Nenhuma infraestrutura duplicada, implantação mais rápida Maior risco, requer tempo de inatividade, reversão mais lenta
    Implantação paralela Executar um novo ambiente junto com a carga de trabalho existente durante a transição Alterações complexas, cargas de trabalho críticas que exigem tempo de inatividade mínimo Implantação mais segura, tempo de inatividade quase zero, fallback imediato Custos de infraestrutura duplicados, sincronização de dados complexa, esforço de encerramento

Planejar a mitigação dos riscos de modernização

Mesmo com o melhor planejamento e teste, nem todas as alterações são perfeitas. A modernização geralmente envolve alterações complexas e há sempre o risco de que uma implantação possa introduzir um problema ou algo se comporte inesperadamente na produção. A marca de uma equipe bem preparada é ter um plano de reversão sólido para cada alteração ou fase.

  1. Use técnicas progressivas de implantação. Se a plataforma permitir, faça versões canário ou mude gradualmente o tráfego para partes modernizadas do aplicativo. Por exemplo, implante a nova versão junto com a antiga e inicialmente envie apenas 5% de usuários para ela durante o monitoramento. Essa abordagem pode detectar problemas enquanto a maioria dos usuários não é afetada. Se as métricas parecerem boas, aumente para 50%e, em seguida, 100%. Se algo começar a falhar, retorne rapidamente para 0% novo (reversão).

  2. Crie procedimentos de reversão para cada alteração principal. Para cada mudança importante ou entrega de fase, escreva um procedimento de reversão passo a passo. Liste claramente cada ação para desfazer a alteração, quem é responsável por cada etapa e quanto tempo levaria. Após a reversão, inclua quais verificações confirmam que a normalidade foi restabelecida.

  3. Automatize as reversões sempre que possível. Scripts de reversão automatizados ou "infraestrutura como código" podem tornar a recuperação rápida e confiável. Use ferramentas de infraestrutura como código (Terraform, modelo ARM, Bicep) para reimplantar estados bons conhecidos. As implantações azul-verde ou canário permitem inerentemente "voltar" para a versão anterior, se necessário. Teste esses mecanismos no ambiente de teste. O objetivo é reduzir o esforço manual (às 3h durante um incidente) para uma ação automatizada. Escreva as etapas de reversão junto com as etapas de implantação, para que seja fácil reverter.

  4. Tenha suporte em espera durante e após a implantação. Planeje implantações durante períodos de baixo tráfego (fins de semana ou durante a noite) quando possível, mas verifique se os especialistas relevantes estão disponíveis. Não faça isso quando os principais membros da equipe estiverem de férias. Tenha um período de suporte estendido (hipercare) logo após a implantação com desenvolvedores e operações em espera para detectar problemas antecipadamente. Para grandes ativações, algumas organizações têm monitoramento no estilo "sala de guerra" por 24 a 48 horas depois.

Garantir a aprovação dos stakeholders

Até agora, nos concentramos no planejamento técnico. Igualmente importante é garantir a adesão dos stakeholders, tanto da liderança de negócios quanto da liderança técnica. A modernização geralmente requer um investimento significativo, portanto, você precisa apresentar um caso convincente e manter os stakeholders envolvidos durante todo o processo.

  1. Personalize a proposta de valor para cada público-alvo. Diferentes partes interessadas se preocupam com resultados diferentes. Personalize suas mensagens:

    • As equipes técnicas priorizam a eficiência operacional: manutenção reduzida, tempo de atividade aprimorado e menos escalonamentos.
    • Os líderes empresariais se concentram nos resultados: tempo de mercado mais rápido, melhor experiência do cliente e economia de custos.
  2. Documente um plano estruturado com etapas. Os stakeholders ficam mais confortáveis se virem um roteiro claro. Apresente as fases que você planejou, conforme decidido anteriormente e o que cada um deve alcançar, com uma linha do tempo aproximada. Enfatizar as vitórias antecipadas, como "Dentro de 6 semanas, pretendemos modernizar o componente X e melhorar seu desempenho em 20%".

  3. Quantificar o valor de modernização. Prepare algumas métricas antes e depois e as melhorias almejadas. Exemplos de métricas e intervalos de melhoria típicos (com base em parâmetros de comparação do setor) são:

    Category Métricas de exemplo Intervalo de valor típico
    Redução de custos Infraestrutura, manutenção, licenciamento 20-40% poupança anual
    Ganhos de produtividade Frequência de implantação, tempo de resolução Melhoria de 50-80%
    Mitigação de risco Tempo de inatividade evitado, incidentes de segurança Us$ 100 mil a us$ 1 milhão+ evasão de custos
    Revenue Tempo de comercialização mais rápido, retenção do cliente 10-25% aceleração de receita
  4. Resolva os riscos do projeto. Identifique possíveis desafios e demonstre a preparação por meio de estratégias de mitigação específicas. Os riscos comuns incluem replicação de dados, degradação de desempenho e problemas de integração. Apresentar soluções como procedimentos de reversão automatizados, protocolos de teste abrangentes e disponibilidade de consulta de especialistas. A discussão transparente de riscos aumenta a confiança das partes interessadas na liderança do projeto e na minuciosidade do planejamento.

  5. Manter uma comunicação cadenciada regularmente. Relatar o progresso em relação aos critérios de êxito definidos, realçar entregas concluídas e comunicar os próximos marcos. Solicite comentários ativamente e resolva preocupações para manter o suporte durante todo o processo de modernização.

Próxima etapa