Migração multi-ambiente de infraestrutura (SaaS multi-tenant)
Migração de três ambientes (dev, homologação, produção) de um SaaS B2B multi-tenant de uma infraestrutura legada para um provedor de nuvem alternativo, sem interrupção do atendimento aos tenants.
- Banco de dados relacional multi-tenant
- Framework legado (PHP)
- Fila/cache em memória
- Ferramenta de provisionamento de servidores
- Migração de provedor de nuvem
Contexto
Cliente SaaS B2B com arquitetura multi-tenant, operando três ambientes sobre uma infraestrutura legada de VMs, provisionada e mantida de forma majoritariamente manual ao longo de vários anos. O objetivo do engajamento foi migrar os três ambientes para um provedor de nuvem alternativo, com um processo repetível e documentado, sem interromper o atendimento aos tenants ativos.
Problema
- Drift entre ambientes: dev, homologação e produção divergiam em versões de runtime e configuração, causando falhas não documentadas entre ambientes.
- Provisionamento manual e não repetível, aumentando o risco de erro humano a cada novo ambiente.
- Incompatibilidade de plugin de autenticação do banco de dados entre a versão mais recente do MySQL e o driver do framework legado da aplicação.
- Processos de fila e cache mal configurados, deixando integrações paradas sem alerta visível.
Solução
Migração conduzida em duas fases, do ambiente menos crítico ao mais crítico: uma fase de avaliação completa dos ambientes existentes, seguida da migração propriamente dita (com o padrão de recriação explícita de usuários de banco estabelecido como procedimento obrigatório) e de uma fase de otimização que desacoplou armazenamento e banco de dados das instâncias de aplicação.
Resultado
Migração de produção concluída nos três ambientes sem perda de dados de tenant, com processos de deploy documentados em runbook. A fase de otimização reduziu o custo de infraestrutura mensal.
Aprendizados
Documentar e padronizar o plugin de autenticação do banco de dados antes de trocar de versão major evita horas de troubleshooting, e migrar do ambiente menos crítico para o mais crítico permite validar todo o processo com risco controlado antes do cutover final.