Las nubes públicas también tienen downtime
Si trabajás en IT, seguramente recordás alguno de esos días en que uno de los grandes proveedores de nube pública decidió tomarse un descanso. Estas interrupciones parecen volverse cada vez más frecuentes; ya no nos sorprenden. La mayoría de nosotros hemos sido afectados de alguna forma: aplicaciones caídas en todo el mundo, equipos en pánico, temas en tendencia en redes sociales, y ese incómodo mensaje en el dashboard de la nube: «servicio degradado». Mientras todos preguntan cuándo van a volver los servicios, nos preguntamos: ¿por qué dependemos tanto de un solo proveedor?
La respuesta siempre fue «porque es más fácil», «porque todos usan ese proveedor», o la clásica «porque lo decidió alguien que ya no trabaja más en la empresa». Pero hoy, entre muchos SREs e ingenieros DevOps, crece una filosofía de tratar a los proveedores de nube como lo que se denomina «commodity compute»: proveedores de infraestructura básica e intercambiable.
Esto no significa que todas las nubes sean iguales, pero la idea es que deberías poder mover tus aplicaciones de una a otra sin necesidad de refactorizar la mitad del código o la infraestructura. Tiene sentido, ¿no? Pero requiere estrategia, disciplina y las herramientas adecuadas para lograrlo.
Imaginá que tu infraestructura en la nube es como la electricidad: no te importa si viene de plantas solares, eólicas o hidroeléctricas — solo querés que llegue de forma consistente y poder cambiar de proveedor si uno falla o te cobra de más. Eso es el commodity compute.
En términos técnicos, significa construir tus sistemas de modo que no dependan de servicios propietarios específicos de AWS, GCP o Azure. En lugar de usar AWS Lambda, DynamoDB o S3 directamente en tu código, construís capas de abstracción que puedan funcionar con cualquier proveedor. Si mañana Google Cloud ofrece mejor relación precio-rendimiento, o Azure tiene datacenters más cerca de tus usuarios, deberías poder migrar sin reescribir toda tu aplicación.
Esto es especialmente relevante cuando recordamos que:
Es como firmar una hipoteca sin leer la letra chica. Los proveedores de nube saben cómo venderte conveniencia: configuraciones rápidas, servicios integrados y ejemplos de código que «simplemente funcionan». Pero esa conveniencia tiene un precio oculto: una dependencia de servicios propietarios que no existen fuera de ese ecosistema. Después descubrís que:
Acá es donde entra la estrategia multi-cloud. No se trata de duplicar todo en n nubes distintas — eso sería increíblemente caro y complejo — sino de diseñar sistemas que puedan ejecutarse en distintos proveedores sin cambios mayores.
La clave está en usar tecnologías y herramientas cloud-agnostic; es decir, herramientas que funcionan igual sin importar si estás en AWS, GCP o Azure. Esto se logra principalmente a través de:
Kubernetes se ha convertido en el gran unificador; es el estándar de oro de la infraestructura en la nube: todos los grandes proveedores lo soportan (EKS en AWS, GKE en Google, AKS en Azure), y una vez que tu aplicación corre en Kubernetes, puede — en teoría — correr en cualquier lugar.
¿Por qué es tan poderoso? Porque abstrae las diferencias entre nubes. Tu aplicación se comunica con la API de Kubernetes, no directamente con AWS o Google. Los contenedores son portables por diseño.
Ojo: también existen características específicas de cada proveedor de Kubernetes, como Auto EKS o AKS Virtual Nodes, que añaden fricción al paradigma multi-cloud. Pero no entres en pánico: existe un ecosistema masivo de herramientas open source construidas para Kubernetes que funcionan perfectamente en cualquier nube.
Escribir infraestructura como código no es nuevo, pero hacerlo de forma agnóstica requiere disciplina. Terraform y su fork open source, OpenTofu, son los estándares de facto: permiten definir la infraestructura (servidores, redes, bases de datos) en archivos de configuración que funcionan en múltiples proveedores.
En lugar de usar CloudFormation (AWS) o Azure Resource Manager, Terraform y OpenTofu ofrecen una sintaxis y flujo de trabajo comunes. Una advertencia: cambiar de proveedor no es trivial — los recursos de AWS no son intercambiables con los de Azure — pero al menos usás el mismo lenguaje de IaC. No tenés que aprender CloudFormation, ARM Templates ni Google Deployment Manager.
Lo más importante: podés gestionar infraestructura en múltiples nubes desde un único stack, habilitando verdaderas arquitecturas multi-cloud.
Este es un error común: usar AWS CodePipeline o Azure DevOps parece conveniente al principio, pero te ata. En cambio, plataformas como Jenkins, GitLab CI o GitHub Actions con runners self-hosted te dan flexibilidad total.
ArgoCD y Flux son particularmente interesantes para despliegues en Kubernetes: implementan GitOps (donde tu repositorio Git es la «única fuente de verdad»), y funcionan de manera idéntica en cualquier cluster de Kubernetes, independientemente de en qué nube esté.
En lugar de CloudWatch (AWS), usá Prometheus para métricas y Grafana para visualización. En lugar de AWS Secrets Manager, usá HashiCorp Vault. En lugar de servicios propietarios de service mesh, podés optar por Istio o Linkerd.
Estas herramientas funcionan exactamente igual en cualquier cluster de Kubernetes, en cualquier nube. Sí, requieren más configuración inicial, pero te dan libertad y portabilidad.
Los buckets de almacenamiento (S3, Cloud Storage, Blob Storage) son similares pero tienen APIs diferentes. Usá bibliotecas que abstraigan esas diferencias — como s3fs, que puede trabajar con múltiples backends compatibles con S3 — o implementá tu propia capa de abstracción.
Para bases de datos, optá por soluciones que puedas ejecutar en cualquier lugar: PostgreSQL, MySQL, MariaDB o Valkey. Si bien las versiones gestionadas de los proveedores son convenientes, correr las versiones open source en Kubernetes te da portabilidad total.
La observabilidad (logs, métricas, trazas) es crítica, pero evitá las soluciones propietarias. OpenTelemetry es el estándar emergente que permite recolectar telemetría de forma unificada, independiente del proveedor.
Tu stack de observabilidad podría verse así:
Este setup funciona en cualquier nube, e incluso on-premises si fuera necesario.
En SRE, definís Service Level Indicators (SLIs) y Objectives (SLOs) para medir la confiabilidad. Estos deben ser independientes del proveedor: «99.9% de solicitudes exitosas» o «latencia p95 menor a 200ms» son métricas universales.
Al medir desde fuera del proveedor de nube (usando tus propias herramientas de monitoreo), podés comparar objetivamente el rendimiento entre proveedores. Esto no solo te da los datos para decidir dónde correr cada workload, sino también evidencia concreta si necesitás negociar precios o cambiar de proveedor.
El multi-cloud solo es viable si está altamente automatizado. Desplegar manualmente en tres nubes distintas sería una pesadilla; por eso necesitás:
El objetivo SRE aquí es reducir el «toil» (trabajo manual repetitivo). Si cambiar de nube requiere semanas de esfuerzo manual, no es verdaderamente portable.
Cuando operás en múltiples nubes, probablemente tenés varios clusters de Kubernetes. Gestionarlos uno por uno sería un caos. Acá entran las herramientas de orquestación y federación multi-cluster:
La clave es tener un plano de control unificado sin depender de soluciones propietarias como Google Anthos o Azure Arc — que, irónicamente, crean lock-in mientras prometen libertad multi-cloud.
En entornos multi-cloud, la seguridad requiere consistencia. No podés tener políticas distintas para cada nube, porque los errores de configuración están entre las principales causas de incidentes de seguridad según el OWASP Top 10 2025.
Para prevenirlo, debemos usar Policy as Code para definir reglas una vez y aplicarlas en todos lados. Algunas herramientas disponibles:
Para Identity and Access Management (IAM), deberías implementar OIDC (OpenID Connect) con proveedores como Keycloak que podés correr en cualquier lugar, en lugar de depender completamente del IAM nativo de cada nube.
Una de las ventajas menos obvias del multi-cloud es la resiliencia ante desastres. Si diseñaste tu arquitectura correctamente, podés lograr:
Seamos honestos: el multi-cloud no es gratis ni trivial. Hay que reconocer varios desafíos clave:
Tratar a los proveedores de nube como commodity compute es más que una decisión técnica; es una postura estratégica sobre control, resiliencia y costos. En un mundo donde la dependencia de un único proveedor puede costarte millones en una negociación contractual desfavorable — o donde una sola interrupción puede paralizar todo tu negocio — la portabilidad es una póliza de seguro valiosa.
Los estándares abiertos y el ecosistema CNCF son maduros hoy. La parte difícil no son las herramientas. Es operarlas en producción, a escala empresarial, en múltiples nubes, sin que el toil consuma vivo a tu equipo.
No necesitás estar en tres nubes simultáneamente desde el día uno, pero sí necesitás diseñar como si pudieras estarlo mañana. Usá abstracciones, evitá servicios específicos del proveedor — especialmente cuando existen alternativas open source viables — automatizá todo y mantené tus opciones abiertas.
Porque al final del día, cuando AWS, GCP o Azure caigan (y va a pasar), vas a querer un Plan B — y será mucho más fácil de ejecutar si lo diseñaste desde el principio.
El camino hacia la independencia en la nube es largo, pero cada paso que das para reducir el vendor lock-in es un paso hacia mayor control, mejor resiliencia y una arquitectura más sostenible a largo plazo.
| Software | Sitio oficial |
|---|---|
| Kubernetes | https://kubernetes.io |
| OpenTofu | https://opentofu.org |
| Prometheus | https://prometheus.io |
| Grafana | https://grafana.com |
| OpenTelemetry | https://opentelemetry.io |
| Crossplane | https://www.crossplane.io |
| Karmada | https://karmada.io |
| Plural | https://www.plural.sh |
| Istio | https://istio.io |
| Linkerd | https://linkerd.io |
| Vault (HashiCorp) | https://developer.hashicorp.com/vault |
| OPA Gatekeeper | https://open-policy-agent.github.io/gatekeeper/website |
| Kyverno | https://kyverno.io |
| Falco | https://falco.org |
| Trivy | https://trivy.dev |
Esta es una traducción al español mi articulo original: https://www.linkedin.com/pulse/commodity-cloud-multi-cloud-strategy-avoid-vendor-lock-in-netlabs-vttuf
Hoy, la pregunta ya no es si te van a atacar, sino cuándo. Por eso,…
Una crónica sobre el arte de tapar huecos que se destapan solos En Salto, hay…
Hace unos días, me invitaron a hablar en el stream de PorcoNegro, PorcoTV sobre que…
En el vasto mundo digital de hoy, los anuncios no solo son molestos, sino que…
Valido para ANDROID/iOS Para quitar los ADs del celular sin rootear el cel (android), instalar…