Libro de Decisiones Recursivo

Decision Ledger — NexoTech Cloud Migration v2.1
NexoTech SaaS · Migración infraestructura cloud · 800 GB · 2.400 usuarios
ROLLOUT #3
2026-06-18T10:47:22Z · ledger v3
▶ Resumen de rollout 3
Rollout 3 completo. El ganador provisional anterior (Hetzner Cloud, rollout 2) mantiene ventaja de coste pero acumula señales de riesgo en soporte enterprise. GCP sube posición por créditos de startup confirmados (~1.800 €). AWS sigue por encima de presupuesto sin SLA diferencial para el caso de uso. Fly.io rechazado definitivamente por límites de escala documentados.
Estado: WATCH, no live. Siguiente puerta: dry-run de migración parcial (50 GB staging) con Hetzner + confirmación SLA enterprise escrita. Aprobación explícita de CTO requerida antes de promoción a producción.
Candidatos — Rollout 3
Proveedor Coste €/mes Score compuesto Marca
⭐ Hetzner Cloud
CX51 · Nuremberg DC6
680 €
78
👁 WATCH
▲ GCP (europe-west3)
Compute Engine · Cloud SQL
940 € -350€ crédito
71
👁 WATCH
AWS (us-east-1)
EC2 c6i · RDS PostgreSQL
1.380 €
54
▼ DECAY
Fly.io
Machines · Postgres addon
490 €
31
✗ REJECT
Historial de rollouts
Rollout #1 2026-05-12
Ganador: AWS us-east-1 · Score 69
Espacio: 4 candidatos · Trials: 18 · Effective: 12
Rollout #2 2026-05-28
Ganador: Hetzner Cloud · Score 74
Drift: AWS superado por -11% de ventaja vs rollout 1. Hetzner promotion a WATCH.
Rollout #3 2026-06-18 ← ACTUAL
Provisional: Hetzner WATCH · Score 78 (+4 vs R2)
GCP sube por créditos. SLA enterprise de Hetzner aún sin confirmar: NO PROMOTE.
Rollout #4 pendiente
Post dry-run staging 50 GB. Req: SLA Hetzner escrito + freshness <7d.
Información fresca ingerida (T0 rollout 3)
pricing-api
Hetzner CX51 bajó 8% en zona Frankfurt vs R2 (40 GB SSD NVMe incluido desde 2026-06)
+impacto
gcp-startup
Créditos Google for Startups confirmados: 1.800 € válidos 12 meses. NexoTech elegible por fecha de fundación
+impacto GCP
sla-review
Hetzner SLA enterprise: soporte no 24/7, tiempo de respuesta crítico 4h. No cumple requisito <2h del cliente
riesgo
fly-incident
Fly.io incidente de storage (junio 2026, 9h downtime en EU region) · confirma rechazo definitivo
confirma reject
aws-cost
AWS sin cambio de precios. Reserva 1-año bajaría a 1.050 €/mes pero exige lock-in 12m. Fuera de presupuesto flexible
neutro
Evolución de métricas (R1 → R2 → R3)
Hetzner score
78 ↑
GCP score
71 ↑
AWS score
54 ↓
Fly.io score
31 ↓
Métricas absolutas R3 (Hetzner)
Coste/mes
680€
Latencia EU
12ms
Migración est.
21d
Lock-in risk
2/5
Marca de coherencia
Ensemble matches prior winner (Hetzner):true
Recursive matches R1 winner (AWS):false
Latest rollout match R2:true
GCP within-5pts of winner:true (Δ=7)
SLA enterprise gate satisfied:false
Dry-run staging completed:false
Freshness age < 7d:true (0d)
Live promotion allowed:false

Reason: SLA enterprise no confirmado + dry-run pendiente. Hetzner en WATCH hasta rollout 4.
Puerta de promoción (produccion)
✓ Condiciones superadas
  • Hetzner supera al ganador anterior (AWS R1) en métrica principal
  • Replay check: precios verificados contra API oficial
  • Información fresca (0 días de antigüedad)
  • Risk limits explícitos: presupuesto máximo 1.200 €/mes documentado
✗ Condiciones bloqueantes
  • SLA enterprise Hetzner <2h no confirmado por escrito
  • Dry-run staging 50 GB no completado (obligatorio antes de prod)
  • Aprobación explícita CTO NexoTech pendiente
⚠ Decisión actual: PAPER MODE. Hetzner Cloud en staging. Producción bloqueada hasta rollout 4 con dry-run verificado.
Ledger JSONL — últimas 3 entradas (append-only)
{"rollout_id":"R1-20260512","ts":"2026-05-12T09:15:00Z","winner":"aws-us-east-1","score":69,"mark":"ACCEPT","promoted_live":false,"trials":18,"effective_trials":12} {"rollout_id":"R2-20260528","ts":"2026-05-28T14:33:11Z","winner":"hetzner-cloud","score":74,"prior_winner":"aws-us-east-1","drift":-11,"mark":"WATCH","live_gate":false,"reason":"sla_enterprise_unconfirmed"} {"rollout_id":"R3-20260618","ts":"2026-06-18T10:47:22Z","winner":"hetzner-cloud","score":78,"runner_up":"gcp-europe-west3","delta_runner_up":7,"mark":"WATCH","fresh_ingested":5,"gate_sla":false,"gate_dryrun":false,"gate_cto":false,"live_gate":false,"next_gate":"R4: dry-run-50gb + sla-confirmed"}