docs/10-infrastructure-sizing.md

10 - Servidores e Infraestructura Estimada

Componentes necesarios

Componente Uso
API Gateway / Load Balancer Entrada HTTPS, WAF, rate limits básicos
OTP API Operaciones, envío, validación, estado
Admin API Clientes, licencias, reglas, reportes
Worker/Queue Processor Envíos asíncronos y reintentos
PostgreSQL Operaciones, licencias, auditoría, configuración
Redis OTP temporal, rate limit, locks, TTL
Object Storage opcional Exportes/reportes
Observability Logs, métricas, alertas

MVP bajo volumen

Supuesto: hasta 100k OTP enviados/mes, picos bajos.

Recurso Estimado
API 2 instancias 1 vCPU / 1-2 GB RAM
Worker 1-2 instancias 1 vCPU / 1 GB RAM
PostgreSQL 2 vCPU / 4 GB RAM / 50-100 GB SSD
Redis 1 vCPU / 1-2 GB RAM
Logs 7-30 días hot

Medio volumen

Supuesto: 1M OTP/mes.

Recurso Estimado
API 3-4 instancias 2 vCPU / 4 GB RAM
Worker 3-6 instancias 2 vCPU / 4 GB RAM
PostgreSQL 4-8 vCPU / 16-32 GB RAM / 300 GB SSD
Redis 2-4 vCPU / 8 GB RAM con réplica
Queue SQS/RabbitMQ/PubSub recomendado

Alto volumen

Supuesto: 10M OTP/mes.

Recurso Estimado
API Autoscaling 6-20 instancias
Worker Autoscaling por cola
PostgreSQL HA, read replicas, particionado por fecha
Redis Cluster/managed HA
Queue Obligatoria
Analytics Data warehouse o tabla particionada

Recomendación MVP

Para iniciar serio pero sin castillo inflable:

Cloud Run / ECS / Kubernetes ligero
PostgreSQL managed
Redis managed
Queue managed
WAF + rate limit
Centralized logging

Capacidad por transacción

Cada OTP enviado genera aproximadamente:

  • 1 operación o challenge.
  • 1 evento de auditoría mínimo.
  • 1 evento de uso facturable.
  • 1 llamada proveedor.
  • 1-3 métricas.

Con fallback puede duplicar o triplicar eventos por operación.