Arquitecto de Soluciones Cloud · Azure Architecture Center · Well-Architected Framework
<8,7h downtime/año · RTO 1h · RPO 15min
2.000 req/s pico · 5× crecimiento en 18 meses
Full-stack · Sin especialista infra · Migración gradual
Fase inicial · Región Europa · GDPR compliant
Exportaciones y webhooks PDV pasan por Service Bus. Absorbe picos de almuerzo sin afectar la UI.
Catálogos de menú se cargan en Redis bajo demanda. TTL 5 min. Reduce carga SQL en pico >70%.
Event Grid publica cambios de menú. PDVs suscritos reciben notificación sin polling activo.
Escrituras al SQL transaccional; lecturas de reportes contra Redis/Synapse. Escala independiente.
Todas las llamadas salientes a PDVs con backoff exponencial + jitter y circuit breaker (Polly).
Migración incremental: Front Door redirige módulos migrados a Container Apps; monolito sigue activo.
El equipo de 4 devs no tiene experiencia operando Kubernetes. Se necesita autoscaling y despliegue de contenedores, pero sin coste operativo de gestión de clúster.
Usar Azure Container Apps (PaaS, Dapr opcional, KEDA autoscaling) para todos los microservicios incluyendo el modelo ML Python.
Las exportaciones masivas bloqueaban la BD. Los webhooks a PDVs fallan en cascada si el PDV está lento. Necesitamos desacoplar ambos flujos.
Service Bus para colas de exportaciones con DLQ. Event Grid para propagación de cambios de menú a PDVs (pub/sub, reintentos automáticos hasta 24h).
El equipo domina SQL relacional (MySQL). El modelo de datos tiene relaciones complejas. Se necesita caché para absorber lecturas de catálogo en pico.
Migrar MySQL → Azure SQL Flexible Server (zone-redundant). Redis Cache Enterprise para cache-aside. Cosmos DB descartado: complejidad no justificada con equipo actual.
Un big-bang migration es demasiado arriesgado con 120 clientes activos en producción y un equipo pequeño. Necesitamos migrar sin interrupción del servicio.
Azure Front Door actúa como router. Se migra módulo a módulo. El monolito PHP coexiste 6-12 meses. Fase 1: gestión de menús. Fase 2: webhooks. Fase 3: reportes/ML.
| Pilar | Decisiones tomadas | Estado | Riesgo / Tradeoff |
|---|---|---|---|
| Reliability | Zone-redundant SQL · Service Bus DLQ · Circuit Breaker en PDV calls · Health Endpoint en Container Apps · RTO 1h / RPO 15min con backup automático | ✓ OK | Sin multi-región activa (presupuesto). Failover manual a segunda región en DR. |
| Security | Entra ID B2C · Managed Identity en todos los servicios · Key Vault para secretos · Front Door WAF · Private endpoints para SQL y Redis · Datos cifrados en tránsito y reposo | ✓ OK | GDPR: datos en West Europe. Revisar retención de logs en Log Analytics (90 días). |
| Cost Opt. | Container Apps escala a cero en noche · Reserved instances SQL y Redis (1 año, -30%) · Blob Storage tiering frío para exports >30 días · CDN para assets estáticos | ⚠ Revisar | Coste dual durante Strangler Fig (monolito + Azure). Presupuesto ~3.400€/mes fase 1. |
| Ops Excellence | IaC con Bicep/Terraform · GitHub Actions CI/CD · Application Insights + Log Analytics · Alertas automáticas en p95, error rate, queue depth · Runbooks documentados | ✓ OK | 4 devs asumen también operaciones. Invertir en alertas proactivas desde día 1. |
| Performance | Redis Cache-Aside (catálogos TTL 5min) · CQRS para reportes · CDN para assets · KEDA autoscaling por métricas de cola · p95 <300ms validado en load test | ✓ OK | Medir baseline en monolito antes de migrar. Load test con k6 antes de cada fase. |
| Servicio | SKU / Configuración | €/mes | Notas |
|---|---|---|---|
| Container Apps | 4 apps · autoscaling 0-10 réplicas · 1 vCPU / 2 GB | 380 | Escala a cero fuera de pico → ahorro ~40% |
| Azure SQL Flexible | General Purpose · 4 vCores · 20 GB · Zone-redundant | 520 | Reserved 1 año: -30% → ~364€ |
| Redis Cache | C2 Standard (6 GB) · Zone-redundant | 180 | Reduce carga SQL >70% en pico |
| Azure Front Door + WAF | Standard · WAF policy · ~50M requests/mes | 210 | Global LB + DDoS incluido |
| Service Bus + Event Grid | Standard · 5M mensajes/mes | 60 | DLQ incluido en Service Bus |
| API Management | Developer tier (producción: Standard) | 130 | Escalar a Standard en fase 3 |
| Blob Storage + CDN | 100 GB LRS + 500 GB CDN egress | 55 | Tiering frío para exports >30 días |
| Log Analytics + App Insights | 10 GB/día retención 90 días | 140 | Alertas y dashboards incluidos |
| Synapse Analytics | Serverless SQL · pipeline ML nocturno | 95 | Pay-per-query; activo solo noche |
| Key Vault + Entra ID B2C | Standard · 50.000 MAU B2C | 75 | Primeros 50.000 MAU incluidos en B2C |
| TOTAL FASE 2+ | Con reservas anuales aplicadas | ~1.845€ | Dentro del presupuesto ≤4.000€/mes ✓ |