Autoescalamiento en AWS: Gestión Dinámica de Recursos en la Nube

Clase 25 de 80Curso AWS Cloud Practitioner Certification

Contenido del curso

Fundamentos de la Infraestructura Global de AWS

Servicios de cómputo en AWS

Almacenamiento en AWS

Seguridad en AWS

Costos en AWS

Cómo aprobar la certificación AWS Cloud Practitioner

Resumen

Imagina que tienes un e-commerce y se acerca el Black Friday. Miles de usuarios quieren comprar al mismo tiempo y tu infraestructura debe responder sin caerse. Aquí es donde el autoescalamiento se convierte en tu mejor aliado dentro de AWS, permitiendo que tus servidores crezcan y decrezcan según la demanda real, ajustando costos de forma automática.

¿Qué es el autoescalamiento y por qué lo necesitas?

El servicio EC2 Auto Scaling de Amazon permite que tu aplicación agregue o elimine servidores de forma automática según la carga de trabajo [0:14]. En lugar de mantener una cantidad fija de servidores, el sistema detecta cuándo la demanda sube y crea nuevas instancias, y cuando la demanda baja, las elimina.

Esto resuelve dos problemas críticos:

  • Disponibilidad: tu aplicación soporta picos de tráfico sin caerse.
  • Optimización de costos: no pagas por capacidad que no estás usando.

Piensa en el ejemplo del Black Friday [0:25]. Originalmente tienes un servidor, pero necesitas atender cientos de miles de usuarios. Con autoescalamiento puedes pasar a cincuenta servidores durante el pico y volver a la capacidad original cuando termina la promoción. Los costos se ajustan proporcionalmente.

¿Cómo funciona el autoescalamiento con CloudWatch y el balanceador de carga?

El proceso parte de un escenario real: tienes dos servidores (A y B) detrás de un balanceador de carga atendiendo cien usuarios [2:20]. De pronto, el tráfico salta a diez mil usuarios. Esos dos servidores no pueden más.

¿Qué papel juega CloudWatch en el proceso?

CloudWatch es el servicio de monitoreo que vigila las métricas de cada servidor: uso de CPU, RAM y cantidad de conexiones activas [2:50]. Cuando detecta que los servidores están al límite, le avisa al servicio de autoescalamiento.

El autoescalamiento entonces crea nuevos servidores (C, D y E) basándose en una imagen del servidor A, lo que garantiza que todos tengan los mismos componentes y configuración [3:20]. Esos diez mil usuarios se distribuyen entre los cinco servidores gracias al balanceador.

¿Qué es el escalamiento horizontal?

Cuando se crean servidores adicionales a partir de una imagen base, se produce lo que se conoce como escalamiento horizontal [3:35]. No se hace más grande un solo servidor, sino que se aumenta la cantidad de servidores idénticos para repartir la carga. Este tipo de escalamiento es fundamental en arquitecturas cloud modernas.

Cuando el Black Friday termina y los usuarios bajan a cien, el autoescalamiento detecta que los servidores adicionales ya no tienen consumo significativo y los elimina automáticamente [3:55].

¿Qué son la capacidad mínima, deseada y máxima?

Para configurar correctamente el autoescalamiento necesitas definir tres parámetros esenciales [4:20]:

  • Capacidad mínima: el número más bajo de servidores que siempre van a estar activos. En el peor escenario, siempre tendrás al menos esta cantidad funcionando.
  • Capacidad máxima: el límite superior de servidores que el sistema puede crear. Si cinco servidores no alcanzan para un millón de usuarios y el máximo está en cinco, ya no escala más.
  • Capacidad deseada: la cantidad objetivo que el sistema intentará mantener en condiciones normales. Por ejemplo, tres servidores distribuidos uno en cada zona de disponibilidad.

Estos tres valores son configuraciones que dependen del conocimiento que tengas de tu aplicación [4:50]. No existe un número mágico universal; cada proyecto requiere analizar sus patrones de tráfico para definirlos correctamente.

El autoescalamiento fluctúa constantemente entre la capacidad mínima y la máxima, buscando siempre acercarse a la deseada. Esta combinación con servicios como EC2, balanceo de carga y CloudWatch crea una infraestructura robusta y eficiente.

Si quieres poner en práctica todos estos conceptos, incluyendo balanceo de carga y configuración de servidores, el siguiente paso es llevarlos a un laboratorio práctico donde puedas experimentar de primera mano cómo interactúan estos servicios.