Voltar ao blog
Multi-CloudCloud StrategyAWSInfrastructure

Estratégia multi-cloud: como evitar o vendor lock-in sem sobre-engenharia

O multi-cloud custa 20-40% mais e triplica a carga operacional. Compra antes portabilidade: contentores, Terraform, exportação de dados. Quando é que uma segunda cloud compensa.

P
Davi Nunes
March 8, 20269 min de leitura

Todos os CTO temem o vendor lock-in. A ideia de que todo o teu negócio depende das decisões de preços, dos padrões de falhas e da estabilidade das APIs de um único fornecedor cloud tira o sono aos executivos. O multi-cloud parece a resposta óbvia — mas a maioria das estratégias multi-cloud falha porque tenta abstrair completamente a cloud.

A armadilha do multi-cloud

A abordagem ingénua é construir uma camada de abstração agnóstica da cloud que te permita correr qualquer carga de trabalho em qualquer fornecedor. Parece elegante, mas cria problemas reais:

Mínimo denominador comum — Acabas por usar apenas as funcionalidades que existem em todos os fornecedores, ignorando os serviços geridos que tornam cada cloud valiosa. Correr PostgreSQL autogerido em VMs espalhadas por três clouds é mais caro e menos fiável do que usar RDS na AWS.

Complexidade operacional triplicada — A tua equipa precisa agora de competências em AWS IAM, Azure AD e GCP IAM. Três modelos de rede. Três stacks de monitorização. Três conjuntos de baselines de segurança. A maioria das equipas não tem profundidade para operar bem uma cloud, quanto mais três.

Custo acrescido — As arquiteturas multi-cloud custam tipicamente 20-40% mais do que os equivalentes numa só cloud, porque não consegues comprometer volume para obter descontos, duplicas ferramentas e pagas taxas de egress pelo tráfego entre clouds.

A abordagem pragmática

Em vez de correres tudo em todo o lado, foca-te na flexibilidade estratégica:

Cloud principal + estratégia de saída — Escolhe uma cloud como plataforma principal. Investe a fundo nos seus serviços geridos. Mas desenha a tua camada aplicacional para ser portável — a mesma disciplina que transforma uma futura migração para a cloud num projeto planeado e não numa emergência improvisada.

Contentoriza tudo — Docker e Kubernetes são a tua camada de portabilidade. Uma aplicação em contentores pode mudar de cloud. Uma função Lambda não.

Infraestrutura como código — Módulos de Terraform que conseguem apontar para vários fornecedores dão-te a capacidade de reconstruir a tua infraestrutura noutro lado se for preciso, sem o custo de a correr em todo o lado hoje.

Evita APIs proprietárias na lógica de negócio — Usa bases de dados e filas geridas (poupam esforço operacional), mas mantém os SDKs específicos de cada fornecedor em camadas adaptadoras que possam ser trocadas. A tua lógica de domínio nunca deve importar aws-sdk diretamente.

Portabilidade dos dados — Este é o verdadeiro risco de lock-in. Garante que consegues exportar os teus dados em formatos standard. Testa regularmente a exportação dos dados. É fácil sair de uma cloud quando os teus dados são portáveis.

Quando é que o multi-cloud faz sentido

Há razões legítimas para usar várias clouds:

Requisitos regulamentares — Algumas jurisdições exigem residência de dados que a tua cloud principal não suporta nessa região.

Serviços best-of-breed — GCP para BigQuery e ML, AWS pelo catálogo de serviços mais amplo, Azure para a integração com o ecossistema Microsoft. Usa cada cloud para aquilo que faz melhor.

Integração de aquisições — As empresas que adquires podem correr noutras clouds. Forçar uma migração imediata é caro e arriscado.

Recuperação de desastres — Uma cloud secundária como destino de DR (não active-active) dá uma resiliência genuína contra falhas de uma cloud inteira a um custo gerível.

Diretrizes de implementação

Se avançares mesmo para multi-cloud, segue estes princípios:

  1. 1Uma principal, uma secundária — Não tentes estar ao mesmo nível em três clouds
  2. 2Kubernetes como camada unificadora — Corre K8s nas duas clouds para ter portabilidade das cargas de trabalho
  3. 3Observabilidade centralizada — Usa uma plataforma de monitorização agnóstica da cloud (Datadog, Grafana Cloud) que abranja os dois ambientes
  4. 4Identidade unificada — Federa a autenticação entre clouds através de um único IdP
  5. 5Conectividade de rede — Estabelece interligações dedicadas entre clouds para uma comunicação fiável e de baixa latência
  6. 6Módulos de IaC partilhados — Módulos de Terraform com implementações específicas por fornecedor atrás de uma interface comum

Considerações de custo

O multi-cloud tem custos escondidos que a maioria das equipas subestima:

  • Egress de dados — Mover dados entre clouds custa $0.08-0.12/GB. Um terabyte por dia de tráfego entre clouds são $2,400-3,600/mês.
  • Duplicação de ferramentas — As ferramentas de monitorização, segurança e CI/CD podem precisar de configurações separadas por cloud.
  • Investimento em competências — Formar engenheiros em várias clouds é caro e dilui a profundidade do conhecimento.
  • Descontos por compromisso — Dividir o gasto entre fornecedores reduz o teu poder negocial para obter descontos por volume.

Tem tudo isto em conta na tua análise de TCO antes de decidir.

Conclusão

O objetivo não é o multi-cloud — o objetivo é ficar livre do lock-in. Consegues isso através de uma arquitetura aplicacional portável, infraestrutura como código, portabilidade dos dados e contentorização. Estas práticas dão-te a capacidade de mudar se precisares, sem o custo e a complexidade de correr em todo o lado hoje. Constrói a pensar na portabilidade, faz deploy numa só cloud e mantém a tua estratégia de saída testada e pronta.

Guia de estratégia multi-cloud | Privum Cloud