Tecnologia e Infraestrutura → Multi-cloud estratégia e sincronização
Estratégia multi-cloud e sincronização
1) Por que Multi-cloud
Multi-cloud - usar duas ou mais nuvens públicas (ou combiná-las com on-prem) para:- Sustentabilidade e DR.: redução de riscos específicos na nuvem (falhas regionais/plataforma).
- Geografia e complacência: armazenamento e processamento nas jurisdições certas (data residency).
- Produtividade e custo: rota para o POP próximo, arbitragem de mercado para preços/quotas.
- Independência do vendedor, liberdade tecnológica e poder de negociação.
- O preço da questão é a dificuldade de sincronizar dados, redes, identidades e processos de mudança.
2) Modelos básicos de implantação
2. 1 Ativo passivo (multi-cloud DR)
Prod vive em Cloud-A; em Cloud-B - estebai quente/quente.
RTO/RPO dependem da profundidade da replicação, de minutos (jornaling) a horas (backup/restore).
Os benefícios são mais simples e mais baratos. Contras: RTO maior, risco de «deriva» de configs.
2. 2 ativo ativo (dois planos de combate)
O tráfego está distribuído entre Cloud-A/Cloud-B (GeoDNS/Anycast, GSLB, nível do país/ASN).
Requer consistência de dados elaborada e isolamento «blast radius».
Benefícios: RTO baixo/RPO mais próximo do usuário. Contras: dificuldade de consistência e teste.
2. 3 Divisão por domínio (segmentação funcional)
Núcleo de pagamento na nuvem com as melhores ligações privadas para PSP; conteúdo/catálogo - em outro.
Minimize a sincronização de nuvens cruzadas por vias quentes.
3) Sincronização de dados: estratégias e pattern
3. 1 Tipos de coerência
Estrito (strong): Replicação sincronizada transacional (normalmente dentro de uma nuvem/região).
Final: replicação asincrona; adequado para diretórios, perfis, analistas.
Híbrido (bounded estaleness): uma liga válida (segundos/minutos) para leitura fora da vertical «quente».
3. 2 Técnicas de replicação
CDC (Mudança Data Capture): journal → eventos → aplicações em outra nuvem; bom para DWH/relatórios/caixas.
Event Surcing: Origem da verdade - fluxo de eventos de domínio; são projeções em cada nuvem.
CRDT/conflito-estrutura livre: para registros/contadores editáveis (por exemplo, classificações/líderes).
Dual-write idimpotente: gravação e publicação por evento; o receptor fornece dedupe (outbox/inbox).
Armazenamento de objetos: versionização + região cruzada/nuvem de replicação cruzada (com custos gerais de egress).
3. 3 Conflito-resolução (exemplo)
Regras de domínio: «última operação ganha» somente se os comandos idempotent forem Idempotent.
O status de pagamento finaliza a carteira, não o contrário.
Relógios vetoriais/marcas lógicas: Para raros conflitos de ativo-ativo de gravações.
Compensações (sagas): Em caso de divergência - compensação de domínio (desbloqueio do balanço, transações esturadas).
3. 4 Layout prático (carteira e pagamentos)
Os comandos (debit/credit) vão para o registro local em Cloud-A/Cloud-B.
Eventos 'wallet. changed 'são publicadas em ambas as nuvens através de um pneu entre os preços.
Finalização de estatais - apenas por confirmação PSP; Deduplicação por 'operation _ id'.
Os relatórios finais são reunidos em cada nuvem; os campos de dependência wender estão a ser normalizados.
4) Camada de rede e tráfego global
GSLB (Global Server Load Balancing): GeoDNS/Anycast, health-per-cloud, «stickiness» na sessão.
Mesh-over-internet/links privados: IPsec/Cloud-to-Cloud interconnect/peerings privados.
Controle Egress: NAT-IP fixo por allow-list para PSP/KYC; QoS e limites.
Segmentação: Subretas individuais para prod/stage; o controle do tráfego oriental (east-west) é interligado.
[Users] → [GSLB/Anycast] → (Cloud-A: Edge/API) ↔ (Cloud-B: Edge/API)
[Services / Data A] ↔↔↔ [Services / Data B]
^ Inter-cloud Mesh ^
[DWH/CDC A] [DWH/CDC B]
5) Identidade, segredos e complacência
Federação IAM: IdP unificada (OIDC/SAML), modelo de papel projetado em ambas as nuvens; Excluam os flocos de neve.
Segredos e KMS: chaves no lado de cada nuvem (BYOK/HYOK, se necessário), rotações acordadas; não replique diretamente as chaves mestre.
MTLS/assinatura: Serviços interligados de TLS mútuo; eventos e webhooks são assinados pelo HMAC com chaves na nuvem.
Data residency: tags/classes de dados, políticas de rotação/armazenamento (PII/PCI permanecem no país).
Auditoria: logs WORM, rastreamento de transações entre pagamentos, registro de alterações unificado.
6) Plataforma e abstração
Kubernetes multi-cluster: clusters em cada nuvem; unificação por GitOps (Argo/Flux), perfis de cluster e policy-as-código (OPA/Gatekeeper).
Service Mesh (multi-cluster): mTLS, retry/breakers, locality-aware routing; limitar claramente as chamadas de nuvem cruzadas.
Armazenamento (CSI) e dinheiro: evite o stateful set com a gravação intercalada sincronizada obrigatória; dinheiro/leitura - local, aquecimento asincrona.
IaC: Terraform/Crossplane para artefatos na nuvem; pods unificados com «inserções» específicas.
DevPortal/catálogo de serviços: metadados de acomodação e dependências per-cloud.
7) CI/CD e gerenciamento de alterações
Um mono-repo/mono-speki com parametrização per-cloud (fichas, quotas, tipos de balanceadores).
Canary/Blue-Green per-cloud: Lançamento separado em Cloud-A/Cloud-B + comparação de métricas.
Testes de integração «oblako↔oblako», réplicas de incidentes, sintéticos por geo.
Versioning de contratos: Schema Registry Geral, regras de compatibilidade (backward-compatível MENOR).
Mudança freeze para a migração EOL: Quando estiver a suingar o tráfego entre nuvens.
8) Observabilidade e controle SLO
Trace _ id: Maldita entrada → serviço → corretor → consumidor em outra nuvem; лейблы `cloud`, `region`, `api_version`, `partner`.
SLO per-cloud/per-region: dashboards de disponibilidade/latência/erros e inter-cloud lag (atraso na replicação).
Anomalias de sincronização entre as pagas: alertas para o crescimento do DLQ, aumento do «conflict rate», atraso do CDC.
Página status: estatais públicas sobre nuvens e regiões.
9) FinOps: custo Multi-cloud
Egress e canais intercalados: o principal artigo de custos; Minimize o bate-papo, agregue eventos, use projeções locais.
Duplicação de recursos: warm pools, instâncias/comitivas reservadas em cada nuvem → balanceie.
Perfis de carga: Deslize os fundos não críticos para uma nuvem com melhor preço/quota.
Contadores de «custo de coerência»: $/s, $/GB de replicação, $/conflito - transparência para o negócio.
10) Mala para iGaming/fintech
Pagamento/carteira (nível de rigorosa coerência): ativo-passivo com failover rápido; os eventos de finalização das estatais são a única fonte de verdade; replicação de revistas.
Catálogo de jogos/promoção/classificação: ativo-ativo com eventual, contadores CRDT para estatísticos; Dinheiro TTL para leitura.
Relatórios aos reguladores: vitrines locais DWH, agregação de nuvem cruzada asincrona; garantia de frescura (SLO freshness).
Marketing/notificações: orquestração por geo/nuvem, limites para chamadas de nuvem cruzadas; Deduplicação de envios.
KYC/AML: Provedores paralelos em diferentes nuvens, normalização de respostas e políticas de decisão unificadas.
11) Exemplos de soluções (fatias)
11. 1 Outbox→CDC (Idempotidade)
BEGIN TX apply(domain_command)
insert into outbox(event_id, aggregate_id, type, payload, hash)
COMMIT
//Replicator reads outbox, publishes to inter-cloud bus;
//receiver executes inbox-dedupe on event_id/hash.
11. 2 Política de conflitos (pseudo)
if operation. type in {CAPTURE, REFUND}:
source = PSP_EVENT elif operation. type in {LIMIT_SET, LIMIT_REMOVE}:
source = RG_SERVICE apply_if_newer(source, aggregate_version)
11. 3 Políticas de rede
Chamadas intercaladas só são permitidas para 'events', 'idp', 'catalog-sync'; direto 'wallet. write '- proibido (localmente).
12) Segurança e risco
Blast-radius: Limites de largura de banda e filas para evitar que um erro/laço «inundue» ambas as nuvens.
Gardriles de automação: Os alagamentos AI/Ops não podem alterar os configs de duas nuvens ao mesmo tempo sem o multibilíneo.
Testes de «ruptura» de comunicação: comportamento de split-brain, aumento de filas, temporizações e degradação automática.
13) Folha de cheque de implementação
1. Os domínios de coerência rigorosa/definitiva e RPO/RTO per-domain são definidos.
2. O modelo selecionado (ativo-passivo/ativo-ativo/segmentação de domínios).
3. GrSLB, mesh/links privados, egress-IP fixo, WAF/bot.
4. Circuitos de dados no Registry, regras de compatibilidade; outbox/inbox em todo o lado.
5. Idempotação e dedução (chaves, armazenamento TTL, hash).
6. CI/CD: configuração per-cloud, canary separadamente, centro de lançamento comum.
7. Observabilidade: 'trace _ id', liga de replicação, conflict-rate, monitoramento DLQ.
8. Federação IAM, KMS/segredos na nuvem, auditoria de acessibilidade.
9. FinOps: orçamentos egress, alertas para custos entre os pagamentos.
10. Dricos DR regulares, faulver nuvens, simulações split-brain.
14) Anti-pattern
Transações sincronizadas de nuvem cruzada por caminho quente (wallet/write) → fragilidade e cauda P99.
Um único «cluster mestre» de BB para duas nuvens → SPOF através da rede.
Replicar «tudo e logo» sem categorias de dados → uma explosão de custos e conflitos.
Falta de outbox/inbox e idempotação → duplicação de pagamentos/inscrições.
Segredos que «mudam» através de baquetas S3/tubos em forma aberta.
Egress não contabilizado e serviços de bate-papo ocultos → contas imprevisíveis.
15) Resultado
Multi-cloud não é «dois selos no console», mas uma disciplina de design de dados, redes e processos de mudança. Divida os domínios de acordo com os requisitos de coerência, limite o caminho «quente» cruzado-nuvem, use o CDC/event surcing e a idempotação, mede as lagoas e os conflitos, e mantenha os custos sob controle. O Multi-cloud será uma ferramenta de estabilidade e velocidade, em vez de uma fonte de incidentes noturnos e contas de egress.