Escalabilidad en la Nube: Vertical vs Horizontal y Alta Disponibilidad
Clase 22 de 27 • Curso de Introducción a la Nube
Contenido del curso
- 7

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

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

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

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

Modelos de Nube: Privada, Pública, Híbrida y Multinube
08:06
- 12

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

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

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

Componentes clave en arquitecturas serverless
12:58 - 16

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

Principales Proveedores de Servicios Cloud y Sus Ventajas
06:49
- 23

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

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

Arquitectura de Aplicaciones con Contenedores y Kubernetes
14:45 - 26

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

Conceptos Clave de Arquitectura en la Nube
01:59
¿Qué es la escalabilidad y por qué es importante?
La escalabilidad es un concepto fundamental en el mundo de la nube, permitiendo a las aplicaciones manejar variaciones en la demanda del servicio. Imagina que un servicio como Platts & Wallen lanza una promoción en Black Friday, atrayendo millones de transacciones. La clave está en escalar adecuadamente la aplicación para soportar tal carga sin caerse, y luego reducir los recursos cuando la demanda disminuya, manteniendo bajo control los costos.
La escalabilidad no solo asegura que las aplicaciones respondan flexiblemente a la demanda, sino que también optimiza el uso de recursos de manera eficiente. Esto es vital para cualquier empresa que busque aprovechar el máximo de sus servicios en la nube.
¿Qué tipos de escalabilidad existen?
¿Cómo funciona la escalabilidad vertical?
La escalabilidad vertical implica añadir más recursos a un solo servidor o nodo para gestionar un aumento en la demanda. En términos prácticos, si un servidor necesita manejar más usuarios de los que puede soportar, se aumentan capacidades como la CPU, RAM y almacenamiento.
- Proceso:
- Apagar el servidor.
- Aumentar sus recursos.
- Encenderlo nuevamente.
La desventaja aquí es el downtime (o tiempo de inactividad), ya que es necesario reiniciar el servidor cada vez que se ajustan los recursos. Este tipo de escalabilidad tiene sus limitaciones, ya que eventualmente se alcanzará el límite físico de lo que un solo servidor puede manejar.
¿Qué es la escalabilidad horizontal?
Por otro lado, la escalabilidad horizontal se refiere a agregar más nodos o servidores para distribuir la carga de trabajo. Esto no solo soporta una mayor demanda, sino que lo hace con una interrupción mínima o inexistente del servicio.
- Ventajas:
- No hay downtime al escalar.
- Permite un crecimiento casi instantáneo de recursos.
- Ofrece redundancia, ayudando a mantener la alta disponibilidad.
Este método es más flexible, permitiendo añadir y quitar nodos según la fluctuación de usuarios, y es el preferido cuando se busca mantener el servicio siempre disponible.
¿La escalabilidad sin alta disponibilidad es suficiente?
La escalabilidad en sí misma no es suficiente sin un diseño que también considere la alta disponibilidad. Aunque se manejen grandes volúmenes de usuarios y transacciones, si este crecimiento ocurre en una sola zona de disponibilidad, se corre el riesgo de perder acceso al servicio si esa zona falla.
Para asegurarse de que una aplicación esté realmente preparada para el tráfico y los picos inesperados sin sacrificar el rendimiento, debe:
- Diseñarse para operar a través de múltiples zonas de disponibilidad.
- Escalar horizontalmente para repartir la carga.
- Responder dinámicamente a la demanda de los usuarios con un soporte integral en todas sus capas.
Al unir escalabilidad con alta disponibilidad, se mejora tanto la resiliencia como la capacidad de la aplicación para sostener cambios y demandas continuas, dotando al servicio de la robustez necesaria en el entorno competitivo actual de la tecnología.