☁️ Evolución de una Arquitectura Web Altamente Disponible hacia una Solución Auto Escalable en AWS
- 22 jul
- 2 min de lectura
Introducción
Como parte de mi preparación para la certificación AWS Solutions Architect Associate, decidí retomar uno de mis primeros proyectos de infraestructura en AWS para evolucionarlo hacia una arquitectura con mayores capacidades de resiliencia y escalabilidad.
El proyecto comenzó implementando una arquitectura enfocada en Alta Disponibilidad (High Availability) y posteriormente fue actualizado para incorporar Amazon EC2 Auto Scaling, permitiendo que la infraestructura responda automáticamente a variaciones en la carga de trabajo. Más que añadir nuevos servicios, esta evolución representó una oportunidad para reforzar principios fundamentales de diseño de arquitecturas cloud.
🚀 Evolución del Proyecto
El repositorio documenta dos etapas de madurez de la misma arquitectura:
Versión 1 — Arquitectura Multi-AZ con Application Load Balancer: La primera implementación estuvo orientada a garantizar la disponibilidad de la aplicación mediante:
Segmentación de red con Amazon VPC.
Despliegue de instancias EC2 en múltiples Availability Zones.
Acceso administrativo mediante Bastion Host.
Balanceo de carga utilizando Application Load Balancer.
Distribución del tráfico entre servidores web.
Tolerancia a fallos ante la indisponibilidad de una instancia.
Esta versión permitió comprender cómo diseñar una infraestructura capaz de mantener la disponibilidad del servicio frente a fallos individuales (Repositorio-Version-1).

Versión 2 — Alta Disponibilidad + Escalabilidad Automática: La segunda versión toma como base la arquitectura inicial e incorpora Amazon EC2 Auto Scaling para automatizar la administración de las instancias. Las principales mejoras incluyen:
Launch Templates.
Auto Scaling Groups.
Target Tracking Scaling Policies.
Escalado automático según la demanda.
Reducción automática de capacidad cuando disminuye la carga.
Reemplazo automático de instancias no saludables.
Integración con el Application Load Balancer existente.
Con esta evolución, la infraestructura deja de depender de la administración manual de servidores y adopta un comportamiento dinámico mucho más cercano a implementaciones utilizadas en entornos productivos (Repositorio-Version-2).

📚 Principales Aprendizajes
Durante el desarrollo y actualización del proyecto reforcé conceptos relacionados con:
High Availability.
Elasticity.
Balanceo de carga.
Segmentación de redes.
Tolerancia a fallos.
Automatización del aprovisionamiento de infraestructura.
Auto Scaling en Amazon EC2.
🚀 Conclusión
Actualizar este proyecto fue una excelente oportunidad para aplicar conceptos que actualmente estoy reforzando durante mi preparación para la certificación AWS Solutions Architect Associate.
Más allá de implementar nuevos servicios, el principal aprendizaje fue comprender cómo una arquitectura puede evolucionar de forma progresiva para ofrecer mayor disponibilidad, resiliencia y capacidad de adaptación frente a diferentes escenarios de carga.


Comentarios