Saltar al contenido

Arquitectura de Cloud e Infraestructura

Dónde corre el sistema, cómo escala, cómo se despliega y qué se recupera cuando una zona se cae.

6 min. de lectura

La arquitectura de Cloud responde una pregunta:

¿Dónde y cómo se ejecuta el sistema y cómo se opera a escala?

Una arquitectura típica:

Cloud no equivale a “usar AWS”. Es el diseño de cómputo, redes, almacenamiento, escalabilidad, despliegue, seguridad, disponibilidad, recuperación ante desastres, operaciones y costos.

Cómputo

Las opciones principales son VM, Contenedores, Orquestación y Serverless.

VM

Más control sobre el entorno. A cambio: más carga operativa.

Contenedores

Empaquetan la aplicación, el runtime y las dependencias. Tecnología habitual: Docker.

Orquestación

Kubernetes aporta mecanismos para scheduling, descubrimiento de servicios, health checks, despliegue rolling, scaling y gestión del estado deseado. Kubernetes no es una arquitectura por sí mismo: es una plataforma para operar determinadas arquitecturas.

Serverless

Ejemplos: AWS Lambda, Azure Functions, Google Cloud Functions.

Ventajas: infraestructura gestionada, escalado elástico y pago por uso. A cambio: límites de ejecución, cold starts en determinados escenarios, observabilidad y debugging más difíciles, y vendor lock-in.

Redes

Una arquitectura cloud habitual separa una zona pública de una privada:

DNS

Resuelve nombres:

CDN

Acerca el contenido a los usuarios. Es especialmente útil para recursos estáticos, imágenes, videos y respuestas que pueden almacenarse en caché.

Load Balancer

Distribuye tráfico y puede realizar health checks:

API Gateway

Puede centralizar autenticación, rate limiting, routing, políticas de requests y observabilidad. Pero no debería convertirse en el lugar donde vive toda la lógica de negocio.

Regiones / Zonas de disponibilidad

Una región contiene múltiples zonas de disponibilidad:

Podemos distribuir instancias de la aplicación entre las tres AZs para reducir el impacto de la caída de una AZ.

Multirregión

Puede mejorar la resiliencia frente a fallos regionales, pero introduce replicación, consistencia, routing, failover, residencia de datos, costos y complejidad operativa. No debería utilizarse solamente porque “más regiones es más robusto”.

Almacenamiento

Cloud ofrece múltiples tipos: bases de datos relacionales, bases de datos NoSQL, almacenamiento de objetos, almacenamiento de bloques, almacenamiento de archivos y caché. En AWS, por ejemplo: RDS/Aurora, DynamoDB, S3, EBS, ElastiCache. El servicio concreto es secundario respecto del workload.

Autoscaling

No siempre hay que escalar por CPU. Podemos hacerlo según CPU, memoria, requests/sec, latencia, profundidad de la cola o métricas personalizadas. Para un worker que procesa pagos asíncronos:

puede ser mucho mejor indicador que CPU.

IAM, Secrets y Cifrado

La arquitectura de Cloud debe contemplar identidad, control de acceso, secrets, cifrado, gestión de claves y auditoría. Una regla general:

Principio de mínimo privilegio

Un servicio debería tener solamente los permisos que necesita.

CI/CD

Estrategias de despliegue

Rolling: actualiza las instancias progresivamente.

Blue/Green: Blue es la versión actual y Green la nueva versión; se redirige el tráfico cuando Green está validada.

Canary: se expone la versión 2 a un porcentaje pequeño del tráfico (por ejemplo, 95% / 5%), se monitorean errores, latencia y métricas de negocio, y se aumenta progresivamente el porcentaje.

Infraestructura como código (IaC)

IaC viene de Infrastructure as Code. Herramientas: Terraform, OpenTofu, CloudFormation, Pulumi. La infraestructura pasa a ser código:

Esto aporta reproducibilidad, facilidad de revisión, versionado y automatización.

Recuperación ante desastres

Dos conceptos fundamentales:

ConceptoSignificaEjemplo
RPO (Recovery Point Objective)Cuántos datos estamos dispuestos a perder5 minutos
RTO (Recovery Time Objective)Cuánto podemos tardar en recuperar el servicio30 minutos

Estos objetivos condicionan los backups, la replicación, el failover, la infraestructura de respaldo y los procedimientos de recuperación.

Referencia

  • AWS Well-Architected Framework — agrupa estos aspectos en seis pilares: excelencia operativa, seguridad, fiabilidad, eficiencia del rendimiento, optimización de costos y sostenibilidad.

Te sirvió, compartilo

// ¿te sirvió?
// compartilo