12. Escalabilidad y orquestación
Temas del programa: 4.4
Aplicaciones posteriores de los fundamentos
Contenedores y escalabilidad
Section titled “Contenedores y escalabilidad”Los contenedores facilitan empaquetar y ejecutar componentes de una aplicación
Pero no garantizan por sí solos que el sistema soporte más usuarios
Contenerizar │ ▼Estandarizar el entorno │ ▼Medir el comportamiento │ ▼Identificar límites │ ▼Tomar decisiones de escalabilidadNo confundamos usuarios y solicitudes
Section titled “No confundamos usuarios y solicitudes”Usuarios registrados ↓Usuarios activos ↓Usuarios concurrentes ↓Solicitudes por segundoSon medidas diferentes
No es correcto afirmar que una aplicación soporta una cantidad determinada de usuarios solamente porque utiliza Docker
La capacidad debe medirse con un escenario definido
¿Qué debemos observar?
Section titled “¿Qué debemos observar?”- Solicitudes por segundo
- Latencia
- Percentiles como p95
- Errores
- CPU
- Memoria
- Capacidad de la base de datos
- Consumo de conexiones
- Comportamiento durante la recuperación
Los resultados deben distinguirse entre valores medidos estimaciones y objetivos de diseño
Escalamiento vertical y horizontal
Section titled “Escalamiento vertical y horizontal”Asignar más recursos a una instancia
CPU y memoria ↑ más recursosEjecutar más instancias de un servicio
app app app \ | / tráficoLa estrategia adecuada depende de la arquitectura y de los límites de cada componente
¿Qué ocurre si la base de datos es el límite?
Section titled “¿Qué ocurre si la base de datos es el límite?”app 1 ──┐app 2 ──┼──► PostgreSQLapp 3 ──┘Agregar más instancias de la aplicación puede aumentar la presión sobre la base de datos
Antes de escalar hay que identificar el cuello de botella
Puede estar en el código la CPU la memoria el almacenamiento la red o una dependencia externa
¿Cuándo aparece Kubernetes?
Section titled “¿Cuándo aparece Kubernetes?”Cuando hay muchos contenedores y servicios puede ser necesario automatizar tareas como
- Programar contenedores en distintos nodos
- Recuperar servicios después de ciertos fallos
- Distribuir tráfico
- Gestionar actualizaciones
- Escalar cargas de trabajo
- Descubrir servicios
Kubernetes es una plataforma de orquestación de contenedores
En este bloque se estudian sus fundamentos conceptuales sin convertirlo en la herramienta principal
Docker y Kubernetes cumplen funciones diferentes
Section titled “Docker y Kubernetes cumplen funciones diferentes”Contenedores │ ▼Docker y otras herramientas │ ▼Construir distribuir y ejecutar imágenesOrquestación │ ▼Kubernetes │ ▼Administrar cargas de trabajo en un clústerLa orquestación se estudia después de comprender imágenes contenedores redes y almacenamiento
Relación con el laboratorio
Section titled “Relación con el laboratorio”Este tema se practica en el Laboratorio 5 — Pruebas de carga y análisis de capacidad.
Qué sigue
Section titled “Qué sigue”Continúa con 13. Aplicación integradora.

