AWS Certified Cloud Practitioner
Post 3 of 25
12%
Complete
AWS Cloud Practitioner #3: Superpoderes de la Nube - Elasticity, Scalability y HA
Comprende las ventajas clave de cloud computing: elasticity, scalability, high availability y agility. Aprende cómo AWS implementa estos conceptos.
Recommended Prerequisites
For the best learning experience, we recommend reading these posts first:
AWS Cloud Practitioner #1: De Servidores Físicos a la Nube
Aprende qué es cloud computing y las diferencias entre IaaS, PaaS y SaaS con una metodología bottom-up que construye tu conocimiento paso a paso.
Cloud Architecture7 min read→AWS Cloud Practitioner #2: Infraestructura Global AWS - Regions, AZs y Edge Locations
Descubre cómo AWS distribuye su infraestructura globalmente y aprende a elegir la región correcta para tus aplicaciones usando metodología bottom-up.
Cloud Architecture9 min read→
🎯 Lo que Aprenderás Hoy
Al finalizar este post, podrás:
- Diferenciar entre Elasticity y Scalability
- Comprender High Availability y Fault Tolerance
- Explicar Agility en el contexto cloud
- Identificar cómo AWS implementa estos conceptos
El Problema Real
Es Black Friday. Tu eCommerce normalmente recibe:
- Tráfico normal: 1,000 usuarios/hora
- Black Friday: 50,000 usuarios/hora (50x más)
Con infraestructura tradicional:
Opción A: Provisionar para 1,000 usuarios
Resultado: Sitio se cae en Black Friday ❌
Pérdida: $500,000 en ventas
Opción B: Provisionar para 50,000 usuarios
Costo anual: $120,000
Utilización: 2% (98% desperdiciado)
Resultado: Funciona en Black Friday ✓
Pero desperdicias $117,600/año ❌Con cloud:
Provisionar para 1,000 usuarios normales
En Black Friday: escalar automáticamente a 50,000
Después: volver a 1,000
Costo anual: $12,000 (solo pagas por uso real)
Ahorro: $108,000 (90%)
Resultado: Sitio funciona + costos optimizados ✓✓Esto es elasticity en acción.
Metodología Bottom-Up
Vamos a explorar cada "superpoder" individualmente:
- Elasticity (elasticidad)
- Scalability (escalabilidad)
- High Availability (alta disponibilidad)
- Agility (agilidad)
Luego veremos cómo se combinan en una arquitectura cloud completa.
🔸 Superpoder 1: Elasticity
¿Qué es?
Elasticity es la capacidad de aumentar o disminuir recursos automáticamente basándose en la demanda actual.
Piensa en un elástico: se estira cuando lo jalas, vuelve a su forma original cuando lo sueltas.
Características Clave
- Automático: No intervención manual
- Bidireccional: Escala hacia arriba Y hacia abajo
- Basado en demanda: Responde a métricas reales (CPU, memoria, requests)
- Objetivo: Optimizar costos mientras se mantiene performance
Ejemplo Visual
Tráfico durante el día:
00:00-06:00 ▁▁▁ → 2 servers
06:00-09:00 ▃▃▃ → 5 servers (aumenta)
09:00-18:00 ▇▇▇ → 10 servers (pico)
18:00-21:00 ▅▅▅ → 6 servers (disminuye)
21:00-24:00 ▂▂▂ → 3 servers (disminuye más)
Solo pagas por servers usados en cada momentoAWS: Auto Scaling
En AWS, la elasticity se implementa con Auto Scaling:
Auto Scaling Configuration:
Min: 2 instances # Mínimo siempre corriendo
Max: 20 instances # Máximo permitido
Desired: 2 # Estado inicial
Scaling Policy:
Metric: CPU Utilization
Target: 70%
If CPU > 70% → add instances
If CPU < 30% → remove instancesEjemplo código:
# Crear Auto Scaling Group
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name my-asg \
--launch-configuration-name my-config \
--min-size 2 \
--max-size 20 \
--desired-capacity 2 \
--availability-zones us-east-1a us-east-1bBeneficio Real: Netflix usa elasticity para escalar de 800 instancias EC2 en horas valle a 10,000+ instancias en horas pico. Solo paga por lo que usa.
🔸 Superpoder 2: Scalability
¿Qué es?
Scalability es la capacidad de manejar crecimiento agregando recursos.
A diferencia de elasticity (automático y temporal), scalability es sobre capacidad total.
Tipos de Scalability
Vertical Scaling (Scale Up/Down)
- Aumentar el tamaño de un recurso
- Ejemplo: Cambiar de t2.micro (1 vCPU, 1GB RAM) a t2.xlarge (4 vCPU, 16GB RAM)
- Límite: Hay un máximo físico
- Downtime: Usualmente requiere restart
Horizontal Scaling (Scale Out/In)
- Aumentar la cantidad de recursos
- Ejemplo: De 2 servers a 10 servers
- Límite: Casi ilimitado
- Downtime: Zero (se agregan sin afectar existentes)
Comparación
Vertical Scaling (Scale Up):
┌─────────┐ ┌─────────────┐
│ Small │ --> │ Large │
│ Server │ │ Server │
└─────────┘ └─────────────┘
1 vCPU 4 vCPUs
1GB RAM 16GB RAM
Horizontal Scaling (Scale Out):
┌───┐ ┌───┐┌───┐┌───┐┌───┐
│ S │ --> │ S ││ S ││ S ││ S │
└───┘ └───┘└───┘└───┘└───┘
1 server 4 servers¿Cuál Usar?
| Escenario | Tipo | Razón |
|---|---|---|
| Base de datos (single instance) | Vertical | DB tradicionales no distribuyen fácil |
| Web servers | Horizontal | Stateless, fácil de distribuir |
| Legacy app (no cloud-native) | Vertical | No diseñada para distribuir |
| Microservices | Horizontal | Diseñados para escalar horizontalmente |
Regla de oro: Horizontal scaling es preferido en cloud porque:
- Sin límite teórico
- Zero downtime
- Fault tolerance incluido
- Aprovecha elasticity
AWS: Implementación
// Horizontal scaling con Auto Scaling
const scalingPolicy = {
PolicyName: 'scale-on-load',
AdjustmentType: 'ChangeInCapacity',
ScalingAdjustment: 2, // Agregar 2 instancias
Cooldown: 300 // Esperar 5 min antes de escalar de nuevo
};
// Vertical scaling (cambiar instance type)
aws ec2 modify-instance-attribute \
--instance-id i-1234567890abcdef0 \
--instance-type t2.xlarge🔸 Superpoder 3: High Availability
¿Qué es?
High Availability (HA) es la capacidad de un sistema de permanecer operacional incluso cuando componentes fallan.
Objetivo: Minimizar downtime.
Métricas de Disponibilidad
| Availability | Downtime/año | Nivel |
|---|---|---|
| 99% | 3.65 días | Aceptable para apps internas |
| 99.9% | 8.76 horas | Bueno |
| 99.99% | 52.6 minutos | Excelente |
| 99.999% | 5.26 minutos | "Five nines" - Excepcional |
Cómo Lograr HA en AWS
1. Multi-AZ Deployment
Region: us-east-1
├── AZ-A: Web Server 1, DB Primary
├── AZ-B: Web Server 2, DB Standby
└── AZ-C: Web Server 3
Load Balancer distribuye tráfico entre AZsSi AZ-A falla → AZ-B y AZ-C continúan sirviendo.
2. Load Balancing
# Elastic Load Balancer distribuye tráfico
aws elbv2 create-load-balancer \
--name my-load-balancer \
--subnets subnet-a subnet-b subnet-c \
--scheme internet-facing3. Health Checks
Health Check:
Protocol: HTTP
Port: 80
Path: /health
Interval: 30 seconds
Timeout: 5 seconds
Unhealthy threshold: 2
Action: Si server falla 2 health checks consecutivos,
remover del pool y reemplazarHA vs Fault Tolerance
High Availability:
- Minimiza downtime
- Puede haber breve interrupción
- Ejemplo: Failover a standby (toma 30 segundos)
Fault Tolerance:
- Zero downtime
- Sistema continúa sin interrupción visible
- Más costoso (redundancia completa)
- Ejemplo: Active-Active en múltiples AZs
En el examen: High Availability acepta breve downtime. Fault Tolerance NO acepta ningún downtime.
🔸 Superpoder 4: Agility
¿Qué es?
Agility es la capacidad de innovar rápidamente y experimentar sin grandes inversiones.
En cloud: Lanzar recursos en minutos, no meses.
Componentes de Agility
1. Speed to Market
On-premise:
Planear → Aprobar → Comprar → Instalar → Configurar
Tiempo: 3-6 meses
Cloud:
Click → Recursos listos
Tiempo: 5 minutos2. Experimentación Económica
Idea nueva → Lanzar en cloud → Probar
↓
¿Funciona?
↙ ↘
Sí No
↓ ↓
Escalar Apagar
(costo (costo
crece) = $0)3. Enfoque en Negocio
En lugar de gastar tiempo en:
- Gestionar data centers
- Parchar servidores
- Configurar redes
- Instalar hardware
Te enfocas en:
- Desarrollar features
- Atender clientes
- Innovar productos
Ejemplo Real: Startup MVP
Sin cloud:
- Inversión inicial: $50,000
- Tiempo setup: 3 meses
- Riesgo: Si MVP falla, perdiste $50K
Con cloud:
- Inversión inicial: $0
- Tiempo setup: 1 semana
- Costo mensual: $200
- Si MVP falla: Apagar, costo total = $200
Resultado: Probaste idea 12x más rápido y 250x más barato.
🔗 Combinando los Superpoderes
Ahora veamos cómo estos conceptos trabajan juntos en una arquitectura real:
Arquitectura Ejemplo: App Web Global
┌─────────────────────────────────────────────────────┐
│ REGION: us-east-1 │
│ │
│ ┌──────────────┐ │
│ │ CloudFront │ ← AGILITY: Lanzado en minutos │
│ │ (Edge Cache) │ │
│ └──────┬───────┘ │
│ │ │
│ ┌──────▼───────────┐ │
│ │ Load Balancer │ ← HIGH AVAILABILITY │
│ └─────┬─────┬──────┘ │
│ │ │ │
│ ┌────▼─┐ ┌▼────┐ │
│ │ AZ-A │ │ AZ-B│ ← FAULT TOLERANCE │
│ │ │ │ │ │
│ │ ┌──┐ │ │ ┌──┐│ │
│ │ │EC│ │ │ │EC││ ← ELASTICITY: Auto Scale 2-20 │
│ │ │2 │ │ │ │2 ││ │
│ │ └──┘ │ │ └──┘│ │
│ │ ┌──┐ │ │ ┌──┐│ │
│ │ │EC│ │ │ │EC││ ← SCALABILITY: Horizontal │
│ │ │2 │ │ │ │2 ││ │
│ │ └──┘ │ │ └──┘│ │
│ │ │ │ │ │
│ │ ┌────▼─▼─────┴┐ │
│ │ │ RDS Multi-AZ │ ← HIGH AVAILABILITY │
│ │ └──────────────┘ │
│ └────────────────────┘ │
└─────────────────────────────────────────────────────┘Cómo funciona:
- Agility: Toda la infraestructura lanzada en 1 hora
- Scalability: Horizontal scaling de EC2 instances
- Elasticity: Auto Scaling basado en tráfico (2 a 20 instancias)
- High Availability: Multi-AZ deployment + Load Balancer
- Fault Tolerance: Si AZ falla, sistema sigue operando
Casos de Uso Reales
Airbnb: Elasticity en Acción
Desafío: Tráfico varía masivamente (New Year's Eve vs. Tuesday morning).
Solución:
- Auto Scaling de 200 a 2,000 instancias en horas pico
- Elastic Load Balancing
- Multi-region para usuarios globales
Resultado:
- Ahorro del 75% vs. provisionar para pico constante
- Performance consistente bajo cualquier carga
Capital One: High Availability
Requisito: Banca online NO puede tener downtime.
Solución:
- Multi-AZ en todas las capas
- Active-Active deployment
- Automated failover (< 30 segundos)
Resultado:
- 99.99% uptime
- Confianza de clientes
- Cumplimiento regulatorio
✅ Best Practices
Para Elasticity
- ✓ Define métricas correctas: No solo CPU, también memoria, network, custom metrics
- ✓ Configura cooldown periods: Evita scaling loops
- ✓ Usa predictive scaling: ML puede predecir tráfico futuro
Para Scalability
- ✓ Diseña stateless: Aplicaciones sin estado escalan mejor horizontalmente
- ✓ Usa managed services: RDS, DynamoDB ya escalan por ti
- ✓ Database scaling: Read replicas para escalabilidad de lectura
Para High Availability
- ✓ Mínimo 2 AZs: Siempre, para producción
- ✓ Health checks agresivos: Detectar fallos rápido
- ✓ Automated recovery: No esperes intervención manual
📝 Preparación para el Examen
Puntos Clave
- 📌 Elasticity = escalar automáticamente up/down basado en demanda
- 📌 Scalability = capacidad de crecer (vertical u horizontal)
- 📌 High Availability = minimizar downtime (Multi-AZ)
- 📌 Fault Tolerance = zero downtime (más costoso que HA)
- 📌 Agility = innovar rápido sin grandes inversiones
Pregunta de Práctica
Una aplicación experimenta picos de tráfico impredecibles. Necesitas que automáticamente agregue servers durante picos y los remueva cuando el tráfico baja. ¿Qué concepto es este?
A) Scalability B) Elasticity C) High Availability D) Fault Tolerance
Respuesta: B) Elasticity
Elasticity es la capacidad de escalar automáticamente up y down basándose en demanda actual. AWS Auto Scaling implementa esto.
Por qué no las otras:
- A) Scalability es capacidad general, pero no implica automaticidad
- C) HA es sobre disponibilidad, no sobre ajuste de recursos
- D) Fault Tolerance es sobre tolerancia a fallos, no scaling
🎓 Resumen
Los 4 Superpoderes de la Nube:
- Elasticity: Escalar automáticamente con la demanda
- Scalability: Capacidad de crecer (vertical u horizontal)
- High Availability: Minimizar downtime (Multi-AZ)
- Agility: Innovar rápido sin inversión inicial
Cómo se relacionan:
Scalability (capacidad)
↓
Elasticity (automatización del scaling)
↓
High Availability (redundancia)
↓
Agility (velocidad de implementación)
||
Todo junto = Cloud-Native Architecture⏭️ Próximo Post
En el Post #4 exploraremos el Modelo de Responsabilidad Compartida:
- ¿Qué gestiona AWS?
- ¿Qué gestionas TÚ?
- Security OF the cloud vs Security IN the cloud
- Implicaciones para compliance
📚 Recursos
Tags: #AWS #CloudPractitioner #Elasticity #Scalability #HighAvailability #AutoScaling
Post 3 de 25 - Serie AWS Cloud Practitioner Certification
Related Articles
AWS Cloud Practitioner #8: Amazon RDS - Databases Gestionadas
Domina RDS: databases relacionales gestionadas, Multi-AZ para alta disponibilidad, Read Replicas para escalamiento, y cuándo usar RDS vs. EC2.
AWS Cloud Practitioner #1: De Servidores Físicos a la Nube
Aprende qué es cloud computing y las diferencias entre IaaS, PaaS y SaaS con una metodología bottom-up que construye tu conocimiento paso a paso.
AWS Cloud Practitioner #2: Infraestructura Global AWS - Regions, AZs y Edge Locations
Descubre cómo AWS distribuye su infraestructura globalmente y aprende a elegir la región correcta para tus aplicaciones usando metodología bottom-up.
AWS Cloud Practitioner #4: Well-Architected Framework - Los 6 Pilares
Aprende los 6 pilares del AWS Well-Architected Framework: Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization y Sustainability.