Contenido del curso

Qué es cloud native y por qué importa

Resumen

Cloud native es un enfoque que cambia por completo cómo construyes y despliegas aplicaciones modernas. Si quieres aprovechar al máximo la nube, necesitas entender qué significa diseñar una app nativamente para la nube y por qué este modelo deja atrás al desarrollo tradicional. Esto te interesa si trabajas en arquitectura, desarrollo o despliegue de software.

¿Qué significa cloud native en arquitectura de software?

Cloud native es construir y ejecutar una aplicación aprovechando todas las ventajas que ofrece el cloud computing. No se trata solo de subir tu app a la nube, sino de diseñarla desde cero pensando en escalabilidad, elasticidad, seguridad y la flexibilidad que entregan los proveedores cloud.

Piensa en Platzi Wallet, una billetera virtual. Si la diseñas como cloud native, vas a estar usando todos los beneficios del cloud service provider para desplegarla, escalarla y mantenerla operativa.

¿Qué es una aplicación cloud native? Es una app diseñada específicamente para ejecutarse en la nube y aprovechar servicios como serverless, contenedores, autoescalado y automatización, en lugar de depender de servidores fijos.

¿Cuál es la diferencia entre desarrollo tradicional y cloud native?

La comparación es directa y muestra por qué tantos equipos están migrando. Aquí están las diferencias clave entre desplegar Platzi Wallet en on-premise versus cloud native [3:00]:

  • Sistema operativo: en lo tradicional dependes de Windows Server, Linux, CentOS o Red Hat. En cloud native, con serverless, el sistema operativo pasa a ser responsabilidad del proveedor.
  • Modelo de desarrollo: pasas del clásico waterfall al continuous delivery, con prácticas DevOps y CI/CD automatizado.
  • Escalabilidad: la manual del data center desaparece. En cloud native escalas automáticamente con contenedores o serverless.
  • Capacidad: el on-premise tiene techo. La nube te permite escalar casi sin límites.
  • Costo: pagas por capacidad utilizada, no aprovisionada. Olvídate de comprar 10 servidores y usar solo dos.
  • Inmutabilidad: si algo falla en la nube, redespliegas el servicio completo. En on-premise, toca reparar el servidor físico.

Imagina que Platzi Wallet recibe un pico de 100,000 usuarios por una campaña con influenciadores. Sin elasticidad automática, el servicio se cae. Con cloud native, escala solo.

¿Qué es la Cloud Native Computing Foundation y por qué importa?

La Cloud Native Computing Foundation (CNCF) es una fundación de software open source que promueve la adopción del cloud native computing [6:30]. Si vas a diseñar arquitecturas modernas, esta fundación es tu referencia obligada.

Entre los proyectos más relevantes que aloja están:

  • Argo: despliegue de imágenes en clústeres de Kubernetes.
  • etcd y Kubernetes: orquestación de aplicaciones contenerizadas.
  • Fluentd y Prometheus: observabilidad, monitoreo y trazas. Prometheus también funciona como base de datos de series de tiempo.
  • Helm: automatización de despliegues dentro de Kubernetes.

Estos son solo seis ejemplos de cientos de proyectos disponibles. Vale la pena explorar su catálogo completo para tener un panorama real de bases de datos, contenedores y herramientas de despliegue oficialmente avaladas.

¿Cuáles son los beneficios de una arquitectura cloud native?

Diseñar Platzi Wallet como cloud native trae ventajas concretas que marcan diferencia frente a la competencia [9:15].

Independencia y resiliencia

Cada aplicación que despliegas queda completamente aislada de las demás. Y la resiliencia te permite soportar fallos de infraestructura sin que la app deje de operar. En una billetera virtual, una caída significa pérdida de dinero, clientes y reputación.

Estandarización, portabilidad e interoperabilidad

La estandarización te da portabilidad: puedes mover tu aplicación de un cloud provider a otro con relativa facilidad. Y la interoperabilidad te permite integrarte con terceros o convivir con on-premise en modelos híbridos.

¿Qué es resiliencia en cloud native? Es la capacidad de una aplicación de seguir operando incluso cuando falla parte de la infraestructura subyacente, sin afectar a los usuarios.

Agilidad y automatización

Agilidad significa hacer despliegues más pequeños y rápidos sin bloquear a otros equipos. Si mañana Platzi Wallet integra compras en eBay, deberías poder lanzar esa feature sin fricción.

La automatización cubre tres frentes:

  1. Infraestructura: con herramientas como Terraform y pipelines dedicados para revisar, desplegar y probar.
  2. Aplicación móvil: pipelines que automatizan el despliegue en App Store y Play Store, tanto iOS como Android.
  3. Backend: pipelines para desplegar imágenes en funciones o contenedores.

Cero downtime

Una app cloud native bien diseñada tiene cero downtime. Puedes sacar nuevos releases, agregar servicios y modificar features sin que la aplicación deje de operar. Hoy, mantener una app siempre disponible te diferencia de cualquier competidor en el mercado.

¿Cómo se logra cero downtime en la nube? Con despliegues automatizados, contenedores orquestados y estrategias como blue-green deployment o canary releases que actualizan la app sin interrumpir el servicio.

¿Cómo empezar a pensar nativamente en la nube?

Después de entender estas diferencias, el siguiente paso es cambiar tu mentalidad: que toda nueva aplicación nazca directamente en la nube. Conoces las ventajas, las herramientas de la CNCF y los principios de diseño.

Un reto útil: entra a la página oficial de la Cloud Native Computing Foundation y revisa todos los proyectos del catálogo. Vas a ampliar tu panorama sobre bases de datos, contenedores y servicios de despliegue oficialmente reconocidos.

¿Qué aplicación de las que usas a diario crees que está construida con arquitectura cloud native? Cuéntame en los comentarios.