Arquitectura de Aplicaciones con Contenedores y Kubernetes
Clase 25 de 27 • Curso de Introducción a la Nube
Contenido del curso
Cómo entender la nube
Introducción a Cloud Computing / Nube
- 7

Introducción a Cloud Computing: Conceptos y Beneficios de la Nube
08:22 min - 8

Ventajas de Usar Cloud Computing para Empresas y Desarrolladores
08:37 min - 9

Cambios al Implementar Platzi Wallet en la Nube
11:04 min - 10

Infraestructura Global en la Nube: Regiones y Zonas de Disponibilidad
10:34 min - 11

Modelos de Nube: Privada, Pública, Híbrida y Multinube
08:06 min
Conceptos de Cloud Computing / Nube
- 12

Conceptos y Beneficios de Cloud Native en Desarrollo de Aplicaciones
15:11 min - 13

Arquitectura Cloud Native: Construcción de Aplicaciones Escalables
11:09 min - 14

Arquitectura Serverless: Ventajas y Retos en Cloud Computing
14:49 min - 15

Componentes clave en arquitecturas serverless
12:58 min - 16

Patrón síncrono en arquitecturas serverless con Platzi Wallet
06:13 min - 17

Principales Proveedores de Servicios Cloud y Sus Ventajas
06:49 min
Multi-Nube
Modelos de servicio en Cloud Computing / Nube
Características de una arquitectura en Cloud Computing /Nube
Construyendo nuestra arquitectura
- 23

Diagramación de Arquitectura Agnóstica para Aplicaciones
16:59 min - 24

Arquitectura de Servidores para Escalabilidad y Alta Disponibilidad
13:30 min - 25

Arquitectura de Aplicaciones con Contenedores y Kubernetes
Viendo ahora - 26

Arquitectura Serverless: Diseño y Escalabilidad de Funciones
14:57 min - 27

Conceptos Clave de Arquitectura en la Nube
01:59 min
Evolucionar a una arquitectura de contenedores con Kubernetes es un paso significativo en la adaptación de aplicaciones a entornos más escalables y eficientes. La transición incorpora una serie de nuevos componentes y consideraciones que son cruciales para el éxito de su implementación. Aquí, exploraremos cómo se transforma la arquitectura tradicional al introducir contenedores y orquestación, destacando tanto los beneficios como los desafíos que conlleva este cambio.
¿Qué cambia al pasar a una arquitectura basada en contenedores?
El primer y más notable cambio en la arquitectura es la introducción del orquestador de contenedores Kubernetes. Este sistema permite gestionar de forma automatizada los contenedores de la aplicación, mejorando la disponibilidad y la escalabilidad. Veamos de cerca qué implica este cambio:
- Usuarios y entrada: La primera capa de la arquitectura sigue siendo la interfaz con los usuarios, normalmente pasando por un sistema de DNS y una capa de CDN que incluye un firewall de aplicaciones web (WAF) para la seguridad.
- API Gateway y autenticación: Se mantiene la capa de gestión de API y autenticación/autorización.
- Balanceador de aplicaciones: Igualmente esencial en la nueva arquitectura, para distribuir las solicitudes entrantes de manera eficiente.
¿Cómo afecta Kubernetes a la disposición de los servicios y la escalabilidad?
Kubernetes introduce un nivel significativo de abstracción y automatización en la gestión de contenedores. A continuación, se detallan las implicaciones de este cambio:
- Zonas de disponibilidad y alta disponibilidad: Es obligatorio mantener una alta disponibilidad repartida entre varias zonas.
- Servicios de contenedores basados en servidor y serverless: Se debe decidir entre una implementación que utilice servidores físicos o virtualizados, versus una solución serverless que abstrae y maneja la gestión de servidores de contenedores.
¿Cuáles son los retos de la escalabilidad en contenedores?
La escalabilidad es uno de los principales retos al adoptar contenedores. Se debe contemplar:
- Escalabilidad de servidores y microservicios: No solo deben escalarse los servidores físicos o virtuales sino también los contenedores de forma individual.
- Balanceo de carga con alta disponibilidad: Asegurarse de que la carga esté bien distribuida entre zonas de disponibilidad para mantener el servicio robusto y confiable.
¿Cómo se gestionan las estrategias de despliegue y CI/CD?
Implementar contenedores conlleva el diseño de estrategias efectivas de Integración Continua y Despliegue Continuo (CI/CD):
- Orquestación de despliegues y versionamiento: Crítico para el control de las versiones de los microservicios y su despliegue efectivo.
- Automatización de pruebas y builds: Fundamental para asegurar que las actualizaciones no introduzcan errores en producción.
¿Qué consideraciones adicionales debemos tener en cuenta?
Al cambiar a una arquitectura basada en contenedores, hay varios elementos adicionales a considerar:
- Almacenamiento y bases de datos: La elección del almacenamiento para los servidores y cómo se conectan con las bases de datos.
- Microservicios y responsabilidad: Decidir cuáles microservicios formarán parte de la arquitectura y cómo se distribuirán.
La transición a una arquitectura de contenedores ofrece muchas ventajas, incluyendo mayor eficiencia y escalabilidad, pero también presenta desafíos únicos como la gestión de la escalabilidad y la automatización del despliegue. Al enfrentarse a estos retos, los arquitectos de sistemas deben considerar cuidadosamente todos estos elementos para diseñar soluciones robustas y flexibles que satisfagan las necesidades de los usuarios de manera eficaz. Sin duda, con los avances en las tecnologías de orquestación de contenedores como Kubernetes, estamos viendo una evolución emocionante en el mundo de la arquitectura de aplicaciones.