Início: Iago Bonifácio

Cliente de consultoria

Migração de uma plataforma SaaS multi-tenant para outra nuvem

Migrei os três ambientes de um SaaS com um schema por tenant, saindo de VMs montadas à mão, e achei a incompatibilidade de driver que quebrava todo ambiente novo.

Migração em ordem: das VMs legadas para homologação, desenvolvimento e produção; na segunda fase, arquivos e banco vão para object storage e banco gerenciado.VMs legadasà mãoHomologaçãoprimeiroDesenvolvimentoProduçãoIP fixo, SSLObject storagearquivosBanco gerenciadoMySQL
Migração em ordem: das VMs legadas para homologação, desenvolvimento e produção; na segunda fase, arquivos e banco vão para object storage e banco gerenciado.

Contexto

SaaS B2B multi-tenant (um schema por tenant e um schema central de controle) com desenvolvimento, homologação e produção em VMs provisionadas à mão ao longo de anos. O objetivo era levar os três ambientes para outro provedor de nuvem com um processo repetível, sem interromper os tenants ativos.

Problema

  • Drift entre ambientes: versão de runtime e variáveis de ambiente diferentes.
  • Provisionamento manual, sem script nem runbook.
  • O plugin de autenticação padrão do MySQL novo era incompatível com o driver PDO legado, e a conexão falhava em todo ambiente recém-criado.

O que fiz

  • Auditoria dos três ambientes (recursos, serviços, bancos, variáveis) e comparação com a proposta na nuvem nova, incluindo tuning de banco e de runtime.
  • Diagnóstico da causa raiz no plugin de autenticação; recriar o usuário com o plugin legado virou passo obrigatório do runbook.
  • Migração em ordem: homologação, desenvolvimento e produção, validando cada etapa. IP fixo, grupos de segurança e SSL por proxy reverso em cada ambiente.
  • Segunda fase: arquivos e banco fora das instâncias de aplicação, em object storage e banco gerenciado, com instâncias menores.

Resultado

Três ambientes migrados sem perda de dados de tenant, com runbook documentado e repetível. A segunda fase baixou o custo mensal, com retorno estimado em menos de dois meses.