Estrategia de múltiples nubes y migraciones
1) Por qué multi-cloud y cuándo se justifica
Objetivos: continuidad del negocio (reserva por proveedor), soberanía de datos/jurisdicción, optimización de costos/descuentos, acceso a los mejores servicios gestionados (ML/antifraude/analítica).
Compromisos: aumento de la complejidad de las operaciones, duplicación de competencias, costes de red.
Clave: determinar de antemano dónde se necesita portabilidad y dónde se permite vendor lock-in en aras de la velocidad/precio.
2) Modelos de arquitectura objetivo
Núcleo portable: núcleo crítico (API, servicios de dominio, datos) - portable (K8s, Postgres, Kafka, Redis, MinIO/Vault); periferia - natively-managed.
Active-Active Multi-cloud: dos nubes sirven al tráfico al mismo tiempo (difícil: conflictos de datos, enrutamiento global).
Active-Passive (Hot/Warm): uno es principal, el segundo es caliente/caliente DR.
Hybrid: parte en el prem/parte en las nubes (a menudo para restricciones legales/PII).
3) Patrones de portabilidad
Kubernetes como plataforma básica (alias: EKS/GKE/AKS/on-prem K8s).
Service Mesh (mTLS, traffic shifting, locality/failover; Istio/Linkerd).
IaC: Terraform + abstracciones modulares; для K8s — Helm/Kustomize + GitOps (Argo/Flux).
Secretos: HashiCorp Vault/Externo Secrets Operator; abstracción sobre KMS/HSM.
Almacenamiento: Postgres (operadores/Patroni), Kafka (operadores/MirrorMaker2), Redis (sentinel/clúster), S3-compatible (MinIO) para uniformidad de API.
Observabilidad: OpenTelemetry + vendedores neutros (Prometheus/Tempo/Loki/ClickHouse).
Autenticación: OIDC/OAuth2 (Keycloak/Auth0/Entrada/Google), una sola federación.
API-capa: Envoy/NGINX/Contour + políticas generales (CORS, encabezados del mandato, rate limits).
4) Estrategias de migración (7R - breve)
Rehost (Lift-and-Shift): rápido, sin reciclaje; bueno para statless/VM, malo para el costo.
Replatform: transferencia a K8s/simplificación de dependencias (menos arriesgada que un refactor).
Refactor/Repurchase: reescribir bajo patrones portables o reemplazar por el servicio SaaS.
Retain/Retire: dejar/desactivar lo que no es necesario transferir.
Práctica: comenzar con el registro de servicios (criticidad, RTO/RPO, SLO, dependencia), componer ondas migratorias (por dominios).
5) Datos y consistencia
Replicación/CDC: Debezium/straiming de registros para Postgres/MySQL; Kafka MirrorMaker2 para topics.
Sincronización bidireccional: sólo con idempotencia estricta y claves de versionamiento (vector clock/updated_at).
Dual-write con dedoop: las entradas se marcan con 'Idempotency-Key '/' event _ id' + outbox/inbox para una entrega garantizada.
Separación de la propiedad: líder-región/nube por clave/tenant para evitar conflictos.
Caché: local-regional; global sólo a través de eventos/TTL (sin caché global «compartida» con fuerte consistencia).
6) Tráfico global y red
GSLB/DNS: latency/geo-routing + health-checks, weights para canarios/feilover.
Anycast/Edge/CDN para la proximidad con el usuario, a continuación, el tendido a la región/nube saludable más cercana.
Canales directos: Interconnect/ExpressRoute/Direct Connect entre nubes/on-prem para reducir la egress/latencia.
Políticas de cliente: tiempos cortos, retroceso exponencial + jitter, retraídas iterativas, idempotencia de operaciones de escritura.
7) Seguridad y cumplimiento
mTLS en todas partes (mesh + SPIFFE/SPIRE o su propio PKI).
KMS/HSM: abstraer la API a través de Vault; segmentación de claves por jurisdicción/tenant.
IAM: Modelo Único de Roles y Grupos (SCIM/SSO), Política de Privilegios Menores, Créditos Temporales (STS).
Secretos/rotación: rotación automática de tokens/contraseñas; bloquear las claves estáticas «largas».
Compliance: PCI DSS/GDPR - residencia de datos, registros de auditoría aislados, geo-bloques.
8) Observabilidad, SLO y Error Budgets
Señales RED/USE + tracks + perfiles en todas las nubes; formato de registro único (JSON + 'trace _ id').
Trace sampling tail-based: guardar errores/p99, segmentos por 'cloud', 'region', 'tenant'.
SLO per nube/región + unidad compartida; alertas por burn-rate (multi-window).
Dashboards canarios «antes/después de la migración», informe de regresiones.
9) CI/CD y gestión de confecciones
GitOps: los artefactos de imagen son uno, las configuraciones son per-environment/region a través de Helm values/Kustomize overlays.
Secretos a través del Operador de Secretos Externos (puentes a los almacenes de secretos AWS/GCP/Azure).
Hilos promocionales: dev → staging → canary (cloud A) → canary (cloud B) → full.
Release gates: verifica SLO/Synthetic/Contract-tests antes de aumentar el peso del tráfico.
10) Costo y FinOps
Tomen en consideración las egress-tarifas entre las nubes, la rebaja RI/CUD/Savings Plans, marketplace-bandly.
Regla 80/20: transferir sólo el 20% del mayor riesgo empresarial; el resto - donde es más barato/más fácil.
Downsampling métricas, registros de cold-storage, límites de tracks (sampling budget-aware).
Teging resources: 'env', 'team', 'service', 'tenant', 'cost _ center' - para facturación transparente.
11) Planes de migración (playbook)
11. 1 Capacitación
1. Inventario de servicios/datos/dependencias; RTO/RPO/SLO de destino.
2. Selección del modelo (active-active vs active-passive) y de la capa de red (GSLB/Anycast).
3. Preparación de la caja de arena en la nube objetivo: cluster K8s, mesh, observability, secretos.
11. 2 Ejecución y validación
4. Shadow-traffic: espejado de consultas sin afectar a la prueba.
5. Pruebas de contrato (OpenAPI/gRPC/CDC) y sintéticos en rutas clave.
6. CDC/replicación: sincronización de datos en caliente, conciliación de consistencia.
11. 3 Cambiar
7. Dual-write (idempotente) a un porcentaje limitado de usuarios/tenantes.
8. Shifting de tráfico por etapas (1%→10%→50%→100%) con getas SLO.
9. Freeze/mover stateful; alquiler final cutover; manteniendo el antiguo circuito en «read-only» hasta la reconcile final.
11. 4 Después de la migración
10. Comprobación de registros/registros de auditoría, archivo de snapshots antiguos, optimización de egresos/caché.
11. Actualización de runbooks y formación on-call.
12) Pruebas de DR y tolerancia a fallas
GameDay: deshabilita toda la nube/región; Medidor de RTO/RPO reales.
Chaos-inyecciones: pérdida de paquetes/aumento de la latencia en la línea cruzada, caída del corredor/base.
Banderas automáticas de degradación: desactivar los fichas «caros», cambiar a la caché 'stale-while-revalidate'.
13) Antipatternas
Active-active «puro» sin acuerdos de propiedad de datos → conflictos/duplicados.
Caché global común con consistencia fuerte: latencia/congestión.
Retiros sin idempotencia → cargos/pedidos repetidos.
Diferentes formatos de logs/tracks en las nubes - pérdida de correlación.
Ausencia de un modelo único de IAM/secretos.
Migración «todo y a la vez» sin olas ni gates.
14) Especificidad de iGaming/finanzas
Jurisdicciones y residencia de datos: PII/registros de pagos permanecen «dentro del país/región», la nube cruzada es sólo agregados/anónimos.
Proveedores de pago: multi-PSP y smart-routing por nubes/regiones; webhooks - a través de un corredor global con deduplicación.
Filtros de sanciones/cumplimiento: perfiles regionales; failover rápido en PSP permitido.
SLO «caminos del dinero» por encima del total; alertas individuales/baratos per proveedor/región.
Auditoría: registros de transacciones inmutables, escritura sincrónica en dos almacenes independientes (WORM/S3 Object Lock).
15) Lista de comprobación prod
- Se seleccionó el modelo de destino (núcleo portable/active-active/standby); descritos por RTO/RPO/SLO.
- IaC/GitOps: Terraform/Helm/Kustomize modulares; un solo mensaje y políticas de seguridad.
- Observabilidad: OTel en todos los entornos; formato general de los registros; tail-sampling por error/p99.
- Datos: CDC configurado; dual-write es idempotente; hay un plan de resolución de conflictos.
- GSLB/DNS/Anycast и health-checks; shifting de tráfico por etapas con SLO-gates.
- Secretos y KMS: abstracción a través de Vault; rotación; segmentación por regiones.
- FinOps: modelos de valor, límites de egresos, etiquetas y cuotas; informes de costos.
- Se han realizado ejercicios de DR; medido por RTO/RPO reales; runbooks actualizados.
- Los contratos API/eventos se verifican en ambas nubes; monitoreo de webhooks.
- Para iGaming/finanzas: residencia de datos, enrutamiento multi-PSP, registros WORM.
16) TL; DR
Construya un núcleo portable (K8s + IaC + mesh + OTel + Vault) y elija un patrón de multi-cobertura para los objetivos comerciales de RTO/RPO/SLO y el costo. La transferencia hace que las ondas: shadow-traffic → CDC → dual-write → el tráfico por etapas con SLO-gates. Gestione los datos a través de idempotencia y outbox/inbox, tráfico - a través de GSLB/Anycast, seguridad - a través de mTLS/KMS/Vault. Para iGaming, reglas rígidas de residencia de datos y multi-PSP, SLO separados para rutas «monetarias».