Arquitectura Cloud Native: Construcción de Aplicaciones Escalables

Clase 13 de 27Curso de Introducción a la Nube

Resumen

Explorando el fascinante mundo de Cloud Native, nos sumergimos en la arquitectura de una aplicación de ejemplo que encapsula todos los principios de escalabilidad y disponibilidad. Este ejercicio práctico revelará los componentes y tecnologías clave de una aplicación altamente disponible y cómo se integran en una estructura cohesiva. Prepárate para conectar conceptos avanzados y aplicar lo aprendido sobre la infraestructura de nube moderna. Ahondemos en el esquema de una aplicación Cloud Native considerando todos los aspectos, desde la alta disponibilidad hasta las mejores prácticas de seguridad y despliegue.

¿Qué significa tener alta disponibilidad en Cloud Native?

Alta disponibilidad es un factor crítico en cualquier aplicación Cloud Native. Para nuestro ejemplo con Platzi Wallet, se implementarían dos zonas de disponibilidad, también conocidas como AZ (Availability Zone). Esto asegura que la aplicación esté operativa incluso si una de las zonas falla.

¿Cuál es el papel de la conectividad en las aplicaciones Cloud Native?

La conectividad juega un papel crucial en la arquitectura Cloud Native. En nuestro caso, Platzi Wallet tendría una conexión dedicada con las instalaciones de la empresa para acceder a datos importantes almacenados on-premise. Esta conexión puede establecerse mediante VPN o conexiones dedicadas ofrecidas por los proveedores de nube.

¿Cómo se estructuran las zonas públicas y privadas?

La segregación de los componentes en una aplicación es vital:

  • Zona privada: Reserva para el backend no expuesto directamente a internet, garantizando seguridad y privacidad.
  • Zona pública: Aloja servicios que deben ser accesibles desde internet, como interfaces de usuario y gateways de API.

¿Qué servicios se exponen en la capa pública?

La capa pública es la cara de nuestra aplicación hacia los usuarios. Incluye servicios críticos como:

  • DNS: Domains como platziwallet.com utilizan el sistema de nombres de dominio para redirigir y gestionar el tráfico.
  • CDN (Content Delivery Network): Mejora significativamente la experiencia del usuario al servir contenido desde ubicaciones geográficamente cercanas.

¿Cómo se aborda la seguridad en Cloud Native?

La seguridad es primordial y multifacética, abarcando:

  • Web Application Firewall (WAF): Protege la aplicación de ataques comunes y sofisticados.
  • Certificados SSL: Asegura la transmisión de datos y establece conexiones seguras.

¿Qué ocurre después del CDN en la arquitectura?

Tras la implementación del CDN, el tráfico se dirige a:

  • API Gateway: El punto de entrada para las APIs que procesarán las solicitudes de los usuarios.
  • Balanceador de carga: Distribuye el tráfico para mantener la aplicación en funcionamiento óptimo.

¿Cuál es la importancia de Kubernetes en Cloud Native?

Kubernetes se convierte en el orquestador de contenedores por excelencia, gestionando el backend de la aplicación Platzi Wallet con sus múltiples microservicios. Esto se complementa con sistemas de almacenamiento que satisfacen distintas necesidades, vinculando todo el ecosistema Cloud Native.

Tomando Platzi Wallet como modelo, te animo a visualizar la arquitectura Cloud Native de aplicaciones en tu contexto, teniendo en cuenta las capas necesarias y las decisiones de infraestructura. Cada elemento, desde las AZ hasta Kubernetes, forma parte de un todo integral cuyo objetivo es desplegar aplicaciones robustas y resilientes en la nube. A medida que avanzamos, te invito a continuar explorando la potencialidad Cloud Native y sus beneficios para proyectos futuros. Acompáñame para profundizar aún más en este tema en las siguientes lecciones.