BLOG

Migração de nuvem: empresa reduz custos em 30% ao migrar sua infraestrutura para AWS

Descubra como a Zup migrou a infraestrutura de um cliente para a AWS, reduzindo custos em 30% sem interromper as operações.

Situação

Uma empresa brasileira que opera sistemas críticos de assistência médica, hospitalar e odontológica e de educação para funcionários, dependentes e aposentados, operava suas aplicações — sistemas de gestão, portais de serviços e ferramentas de suporte operacional — na infraestrutura da Microsoft Azure. O ambiente, embora funcional, apresentava custo crescente e limitações estruturais que comprometiam sua sustentabilidade a longo prazo. O ambiente utilizava:

  • Azure Functions para lógicas de negócio e processamento de eventos
  • SQL Server para armazenamento de dados estruturados
  • Serviços de mensageria para comunicação assíncrona entre componentes
  • Blob Storage para armazenamento de arquivos e objetos

Além das limitações técnicas, a empresa cliente enfrentava pressões de negócio que tornaram a migração de cloud incontornável: 

  • Custo elevado e não competitivo: o ambiente Azure representava um custo de infraestrutura crescente. Uma análise comparativa entre a infraestrutura Azure vigente e a arquitetura AWS proposta projetou uma otimização da ordem de R$3 milhões por ano, estabelecendo como meta uma redução de pelo menos 30% nos custos de infraestrutura.
  • Necessidade de modernização tecnológica: o ambiente apresentava overcommit crítico de recursos, ausência de observabilidade e lacunas de segurança, configurando um cenário incompatível com a criticidade dos serviços prestados pela empresa cliente.
  • Escalabilidade e segurança: a demanda crescente por capacidade e por controles de segurança mais maduros exigia uma plataforma com serviços gerenciados e automação de provisionamento.
  • Continuidade de serviços sensíveis: como a empresa cliente opera sistemas críticos de educação e de assistência médica, hospitalar e odontológica para funcionários, dependentes e aposentados, a migração precisava garantir continuidade e segurança dos dados, preservando o motor SQL Server (migrado para o Amazon RDS).
  • Footprint AWS pré-existente (decisão estratégica): parte da plataforma já operava na AWS antes da migração completa. A base de usuários já estava estruturada no Amazon Cognito (User Pools) e a integração com parceiros já estava implementada na AWS. Manter as cargas restantes na Azure resultava em um ambiente híbrido fragmentado, com custos e complexidade operacional duplicados; migrar o restante consolidava toda a operação em uma única cloud, reforçando o caráter estratégico da migração.
  • Consolidação em cloud única (performance e custo de rede): com a migração, os sistemas passariam a operar exclusivamente na AWS, eliminando a conectividade cruzada com a Azure. Ao centralizar todo o tráfego dentro de uma única cloud, o fluxo de dados entre as aplicações deixaria de depender de comunicação entre nuvens, melhorando a performance de rede e o fluxo de dados e reduzindo os custos de data transfer decorrentes do tráfego entre Azure e AWS.

Esse conjunto de fatores — custo, modernização, escalabilidade, segurança e a consolidação sobre um footprint AWS já existente — definiu o cenário que exigiu uma migração completa de cloud para garantir a sustentabilidade financeira e a evolução dos serviços da fundação.

A topologia da arquitetura AWS evidencia esses pontos, já contemplando o Amazon Cognito (User Pools) para a base de usuários, a integração com parceiros e os demais serviços gerenciados (RDS SQL Server, Lambda, DocumentDB, ElastiCache, SQS/SNS, S3) sobre os quais a plataforma foi consolidada:

Figura 1 — Topologia da Infraestrutura AWS

O sistema mantinha integrações ativas com as operadoras dos serviços operados, cada um com pipeline dedicado (API + workers).

Os gaps técnicos identificados no assessment, somados aos drivers de negócio já descritos, definiram o escopo e a urgência da migração completa de cloud detalhada a seguir.

Tarefa

O objetivo era realizar a migração completa da infraestrutura e das aplicações da empresa cliente da Microsoft Azure para a AWS, utilizando a ferramenta de gestão de nuvem proprietária da Zup, com as seguintes metas:

  • Redução de custos: Diminuir em pelo menos 30% os custos de infraestrutura em comparação com a Azure
  • Desempenho: Manter ou melhorar o desempenho das aplicações (tempo de resposta, taxa de erro, latência e throughput)
  • Disponibilidade: Garantir a disponibilidade das aplicações conforme os SLAs existentes, minimizando interrupções
  • Segurança: Preservar a confidencialidade, integridade e disponibilidade dos dados durante e após a migração
  • Migração completa: Migrar 100% das aplicações e dados, garantindo todas as funcionalidades no novo ambiente
  • Capacitação: Treinar a equipe da empresa cliente para operar e gerenciar o ambiente AWS via portal ferramenta de gestão de nuvem proprietária da Zup
  • Consolidação em cloud única: Eliminar o ambiente híbrido Azure-AWS, centralizando toda a operação na AWS e encerrando a conectividade cruzada entre as nuvens

O projeto foi conduzido pela equipe de migração da Zup, em colaboração com os times da empresa cliente entre novembro/2022 e julho/2023.

Ação

A migração foi executada em 6 fases estruturadas:

Fase 1 — Avaliação e Planejamento (11/2022 – 01/2023)

  • Análise minuciosa do código das aplicações, funções e infraestrutura Azure
  • Reuniões com equipes técnicas, de negócio, infraestrutura e terceiros da empresa cliente para levantamento de dependências e requisitos
  • Mapeamento de-para de todos os componentes Azure para serviços equivalentes AWS
  • Elaboração do plano de migração com cronograma, arquitetura da solução AWS, plano de testes e plano de contingência
  • Assessment técnico detalhado do cluster AKS: Levantamento completo dos 46 pods, 4 nodes, 25 services, 46 deployments, secrets e configmaps, identificando problemas críticos de overcommit de recursos, ausência de observabilidade, falhas de segurança (sem RBAC, sem NORoot) e gaps de operação (sem alertas, sem tracing, sem ingress)

Fase 2 — Configuração do Ambiente AWS (01/2023 – 03/2023)

  • Desenvolvimento de plugins de infraestrutura utilizando a plataforma de desenvolvimento (IDP) proprietária da Zup.
  • Criação automatizada dos ambientes DEV, HOM e PROD na AWS com Terraform e a plataforma de desenvolvimento (IDP) proprietária da Zup.
  • Provisionamento dos seguintes serviços AWS: Route53, Shield, API Gateway, CloudFront, Cognito, Secrets Manager, EKS, Lambda, EventBridge, RDS (SQL Server), DynamoDB, DocumentDB, ElastiCache (Redis), SQS, SNS, SES e S3
  • Configuração de VPCs, sub-redes, grupos de segurança e elementos de rede conforme arquitetura definida
  • Ambientes distribuídos em 3 contas AWS na região sa-east-1 (São Paulo)

Fase 3 — Migração de Dados e Aplicações (01/2023 – 03/2023)

  • Dois times atuando em paralelo: migração de dados e migração de aplicações
  • O time técnico da empresa cliente exportou os dados da Azure e disponibilizou em bucket para importação no ambiente DEV
  • Refatoração e adaptação do código: conversão de Azure Functions para AWS Lambda, integração com RDS, SQS, SNS, S3 e Secrets Manager
  • Migração dos 46 microsserviços (20 aplicações core + 26 integrações com operadoras), incluindo a conversão do container registry de Azure ACR para registro compatível AWS
  • Reescrita dos pipelines de integração: cada parceiro possui um fluxo completo: API → dispatcher → parser → persistence → logging → transparency
  • Migração de secrets do Azure Key Vault para AWS Secrets Manager
  • Configuração da esteira de CI/CD para entregas das aplicações
  • Ambiente DEV entregue com dados e aplicações funcionando na AWS

Fase 4 — Testes, Correções e Promoção para Homologação (03/2023 – 05/2023)

  • Testes intensivos no ambiente DEV com participação dos times de negócio e técnico da empresa cliente
  • Identificação e correção de erros e inconsistências nas aplicações e configurações
  • Validação de funcionalidade, desempenho e integração com serviços AWS
  • Replicação das configurações e aplicações para o ambiente de homologação (HOM)
  • Segunda rodada de testes em HOM, incluindo integração com parceiros externos (planos de saúde e outros sistemas de terceiros)
  • Execução de testes de carga

Fase 5 — Promoção para Produção, Migração de Dados e Testes Finais (05/2023 – 06/2023)

  • Promoção do ambiente HOM para PROD na AWS
  • Exportação dos dados produtivos da Azure e importação para o ambiente de produção AWS
  • Estratégia de cutover: parada total do ambiente Azure, alteração de DNS para apontar para AWS
  • Configuração dos acessos dos parceiros da empresa cliente no novo ambiente
  • Bateria de testes em produção com o time de negócios
  • Time de plantão mantido durante a semana seguinte ao go-live para atuação rápida em caso de problemas
  • Treinamento da equipe empresa cliente sobre utilização da ferramenta de gestão de nuvem proprietária da Zup e operação no ambiente AWS

Fase 6 — Melhorias, Suporte e Otimização (06/2023)

  • Equipe dedicada para melhorias contínuas nas aplicações
  • Suporte aos times técnico e de negócios da empresa cliente
  • Otimizações no código e na infraestrutura visando desempenho, estabilidade e segurança
  • Desligamento dos sistemas na cloud anterior (Azure)
  • Monitoramento contínuo do novo ambiente

Resultados

A migração foi concluída com sucesso dentro do prazo estabelecido (novembro/2022 a julho/2023), alcançando os seguintes resultados:

  • Redução de custos: A migração alcançou a redução de custos esperada em relação ao ambiente Azure de 30%.
  • Migração completa: Todas as aplicações e dados foram migrados da Azure para a AWS, com todas as funcionalidades operando corretamente no novo ambiente, validadas por múltiplas rodadas de testes (DEV, HOM e PROD).
  • Infraestrutura moderna e escalável: Arquitetura robusta na AWS com mais de 16 serviços gerenciados, distribuída em 3 ambientes (DEV, HOM, PROD) com automação completa de provisionamento.
  • Integração preservada: Conectividade com parceiros externos da plataforma (planos de saúde e outros) reestabelecida e validada no novo ambiente.
  • Continuidade operacional: Migração realizada com estratégia de cutover controlada, minimizando o impacto nos serviços da fundação, com time de plantão garantindo suporte imediato pós go-live.
  • Capacitação da equipe: Time da empresa cliente treinado para operar e gerenciar o ambiente AWS através da ferramenta de gestão de nuvem proprietária da Zup, garantindo autonomia operacional.
  • Base para evolução futura: Com a estabilização na AWS, a empresa cliente ficou posicionada para próximos passos de otimização, incluindo a substituição do SQL Server por soluções de banco de dados gerenciáveis mais econômicas da AWS.
  • Correção de gaps identificados no assessment: Os problemas críticos encontrados no ambiente Azure foram endereçados na nova arquitetura AWS:
  • Overcommit de CPU (563%) e memória (328%) resolvido com dimensionamento adequado no EKS
  • Implementação de observabilidade (anteriormente inexistente — sem tracing, sem logs externos, sem alertas)
  • Melhoria de segurança com práticas de RBAC e gestão de secrets via AWS Secrets Manager (substituindo Azure Key Vault)
  • Arquitetura de rede aprimorada com API Gateway, CloudFront e Route53 (anteriormente sem Ingress)
  • Escala do projeto: Migração bem-sucedida de 46 microsserviços (20 aplicações core + 26 integrações com operadoras de saúde), 4 nodes de cluster, 25 services Kubernetes e integrações ativas com parceiros internos.
  • Consolidação em cloud única: Com o desligamento do ambiente Azure, toda a operação passou a ser executada exclusivamente na AWS, eliminando a conectividade cruzada entre nuvens. A centralização do tráfego em uma única cloud reduziu a complexidade operacional e os custos de data transfer entre Azure e AWS, além de simplificar o fluxo de dados e a gestão da plataforma.
juliana.sampaio@zup.com.br

Sumário

Posts relacionados

Newsletter

Inscreva-se para receber nossos conteúdos!