Multi-cloud estratégia e migração
1) Porquê multi-cloud e quando isso é justificado
Objetivos: continuidade do negócio (reserva de provedor), soberania de dados/jurisdição, otimização de custos/descontos, acesso a melhores serviços administrados (ML/antifrod/analista).
Compromissos: aumento da complexidade das operações, duplicação de competências, custos de rede egress.
A chave é determinar onde a portabilidade é necessária e onde o vendor lock-in é permitido para velocidade/preço.
2) Modelos arquitetônicos de destino
Motor Core: núcleo crítico (API, serviços de domínio, dados) - portável (K8s, Postgres, Kafka, Redis, MinIO/Vault); periferia - natively-managed.
Ativo-Ativo Multi-cloud: duas nuvens servem o tráfego ao mesmo tempo (complicado: conflitos de dados, rotação global).
Ative-Passive (Hot/Warm): um é principal e o outro é quente/quente DR..
Hybrid: parte em pram/em nuvens (muitas vezes para restrições legais/PII).
3) Pattern de portabilidade
Kubernetes como plataforma básica (EKS/GKE/AKS/on-pram K8s).
Service Mesh (mTLS, traffic shifting, locality/failover; Istio/Linkerd).
IaC: Terraform + abstrações modulares; для K8s — Helm/Kustomize + GitOps (Argo/Flux).
Segredos: HashiCorp Vault/External Secret Operator; abstração sobre o KMS/HSM.
Armazenamento: Postgres (operadoras/Patroni), Kafka (operadoras/MirrorMaker2), Redis (sentinela/cluster), S3 compatíveis (MinIO) para API uniforme.
Observabilidade: OpenTelemetry + vendedor-neutro backands (Prometheus/Tempo/Loki/ClickHouse).
Autenticação: OIDC/OAuth2 (Keycloak/Auth0/Entra/Google), federação única.
Camada API: Envoy/NGINX/Contour + políticas gerais (CORS, títulos de mandato, rate limits).
4) Estratégias de migração (7R - Resumo)
Rehost (Lift-and-Shift): rápido, sem reciclagem; bom para estatless/VM, ruim para o custo.
Replatorm: transferência para K8s/simplificação de dependências (menos arriscado que o refator).
Refactor/Repurchase: reescrever sob portable-patters ou substituir por um serviço de SaaS.
Retain/Retire: Deixar para trás o que não é necessário mover.
Prática: começar com o registro de serviços (criticidade, RTO/RPO, SLO, dependências), criar ondas migratórias (domínios).
5) Dados e consistência
Replicação/CDC: Debezium/strieming de logs para Postgres/MySQL; Kafka MirrorMaker2 para topics.
Sincronização bidirecional: somente com idempotação rigorosa e chaves de versionagem (vector clock/updated _ at).
Dual-write com dedução: as gravações são marcadas por 'Idempotency-Key '/' event _ id' + outbox/inbox para entrega garantida.
Divisão de propriedade: líder-região/nuvem per key/tenant para evitar conflitos.
Dinheiro: local-regional; global apenas através de eventos/TTL (nenhum «total» do cachê global com forte consistência).
6) Tráfego global e rede
GSLB/DNS: latency/geo-roting + health-checks, weights para canarinhos/feelover.
Anycast/Edge/CDN para a proximidade com o usuário, depois para a região/nuvem saudável mais próxima.
Canais diretos: Interconnect/ExpressRoute/Direct Connect entre nuvens/on-pram para reduzir egress/latência.
Políticas de clientes: tempo curto, backoff exponencial + jitter, retratos itéricos, idempotidade write.
7) Segurança e conformidade
mTLS em todo o lado (mesh + SPIFFE/SPIRE ou seu próprio PKI).
KMS/HSM: abstraia a API através do Vault; segmentação de chaves per jurisdição/tenante.
IAM: um único modelo de papéis e grupos (SCIM/SSO), política de menores privilégios, credenciamentos temporários (STS).
Segredos/rotação: rotação automática de tokens/senhas; bloquear chaves estáticas «longas».
Compliance: PCI DSS/GDPR - data residency, registros de auditoria isolados, geo-blocs.
8) Observabilidade, SLO e Erro Budets
Sinais RED/USE + trailers + perfis em todas as nuvens; formato único de logs (JSON + 'trace _ id').
Trace sampling tail-based: salvar erros/p99, segmentos por 'cloud', 'region', 'tenant'.
SLO per nuvem/região + unidade comum; alerts por burn-rate (multi-window).
«Antes/depois da migração», relatório de regressão.
9) CI/CD e gerenciamento de configs
GitOps: artefatos de imagens são um só, configs - per-ambientonment/region através de Helm values/Kustomize overlays.
Segredos através da External Secret Operator (pontes para AWS/GCP/Azure armazenamento segredo).
Fluxos promocionais: dave → staging → canary (cloud A) → canary (cloud B) → full.
Release gates: chekout SLO/Synthetic/Contracts antes de aumentar o peso do tráfego.
10) Custo e FinOps
Leve em conta as tarifas egress entre nuvens, descontos RI/CUD/Savings Plans, marketplace-bandles.
Regra 80/20: transfira apenas 20% do maior risco empresarial; o resto é mais barato e fácil.
Downsampling métricas, logs de armazenamento cold, limites para trailers (budget-aware sampling).
Marcas de formatação de recursos: «env», «team», «service», «tenant», «cost _ center» - para um acervo transparente.
11) Planos de migração (playbook)
11. 1 Preparação
1. Inventário de serviços/dados/dependências; RTO/RPO/SLO.
2. Selecione um modelo (ativo-ativo vs ativo-passive) e uma camada de rede (GSLB/Anycast).
3. Preparar uma caixa de areia na nuvem de destino: cluster K8s, mesh, observabilidade, segredos.
11. 2 Detecção e validação
4. Shadow-traffic: Espelhar as consultas sem afetar a proda.
5. Um contrato de testes (OpenAPI/gRPC/CDC) e um sintético em rotas essenciais.
6. CDC/replicação: sincronização de dados quente, verificação de consistência.
11. 3 Alternar
7. Dual-write (idimpotente) a uma porcentagem limitada de usuários/tenentes.
8. shifting por etapas (1%→10%→50%→100%) com gates SLO.
9. Freeze/mudança stateful; aluguel final cutover; manter o antigo circuito em «read-only» até o recôncil final.
11. 4 Após migração
10. Verificação de logs/registros, arquivos antigos e otimização de egress/cachê.
11. Atualizar runbooks e treinamento on-call.
12) DR. e testes de resistência a falhas
GameDay: desativar toda a nuvem/região; medição de RTO real/RPO.
Chaos-injeções: perda de pacotes/aumento da latência na linha cruzada, queda do corretor/base.
Bandeiras automáticas de degradação: desativação de fichas «caras», mudança para o dinheiro 'stale-while-revalidate'.
13) Antipattern
Ativo limpo sem acordos de posse de dados → conflitos/duplicados.
O dinheiro global compartilhado com forte consistência é latência/congestionamento.
Retraias sem idempotação → novos débitos/pedidos.
Diferentes formatos de logs/trailers nas nuvens - perda de correlação.
Não há um único modelo IAM/segredos.
Migração de tudo sem ondas ou gates.
14) Especificidades do iGaming/Finanças
Jurisdições e dados residency: PII/logs de pagamento permanecem «dentro do país/região», a nuvem cruzada é apenas agregados/anônimo.
Provedores de pagamento: multi-PSP e smart-roting por nuvens/regiões; webhooks - através de um corretor global com dedução.
Filtros de sanção/compilação: perfis regionais; failover rápido em PSP permitido.
O SLO «caminho do dinheiro» está acima do total; alertas individuais/barras per provedor/região.
Auditoria: registros de transações imutáveis, gravação sincronizada em dois armazéns independentes (WORM/S3 Object Lock).
15) Folha de cheque pró-prontidão
- Modelo de destino selecionado (portable core/ativo-ativo/standby); são descritos RTO/RPO/SLO.
- IaC/GitOps: Terraform/Helm/Kustomize modulares; mesh unificado e políticas de segurança.
- Observabilidade: OTel em todos os ambientes; o formato geral dos logs; tail-sampling por erros/p99.
- Dados: CDC configurado; dual-write é idimpotente; Há um plano de conflito de resolução.
- GSLB/DNS/Anycast и health-checks; traffic shifting gradual com gates SLO.
- Segredos e KMS: abstração por Vault; rotação; segmentação por região.
- FinOps: modelos de valor, limites egress, tags e quotas; relatórios de custos.
- Os exercícios DR. foram realizados; medidos RTO/RPO real; atualizados runbooks.
- Os contratos de API/evento são creditados em ambas as nuvens; monitoramento de webhooks.
- Para iGaming/finanças: data residency, multi-PSP itinering, revistas WORM.
16) TL; DR
Construa o motor core (K8s + IaC + mesh + OTEL + Vault) e selecione o pattern de múltiplidade para os objetivos de negócio RTO/RPO/SLO e custo. Transfira: shadow-traffic → CDC → dual-write → tráfego por etapas com gates SLO. Gerencie os dados através da idempotação e outbox/inbox, tráfego através do GSLB/Anycast, segurança através do mTLS/KMS/Vault. Para iGaming, regras rígidas de data residency e multi-PSP separadas SLO para caminhos «monetários».