Edge Computing: Por Qué lo Apostamos Todo a Cloudflare (Y Qué Consigues por $65/Mes)
Gonzalo Monzón
Fundador & Arquitecto Principal
Cuando empezamos Cadences, la elección lógica era AWS o GCP. Contenedores, Kubernetes, bases de datos gestionadas, load balancers — el stack cloud estándar que cuesta miles al mes y requiere un ingeniero DevOps solo para mantener las luces encendidas. En su lugar, fuimos all-in con Cloudflare. Dos años y 14+ productos interconectados después, nuestra factura total de infraestructura es de $65/mes. Cero contenedores Docker. Cero servidores. Cero alertas a las 3 de la mañana.
¿Por Qué No AWS? (La Respuesta Honesta)
Somos un equipo de 3 personas. AWS está diseñado para organizaciones con ingenieros de infraestructura dedicados. La carga mental de dimensionar instancias EC2, connection pooling de RDS, costes de egress de S3, invalidación de CloudFront, definiciones de tareas ECS y configuración de VPC — todo eso es tiempo que no dedicamos a construir producto.
La propuesta de Cloudflare es radicalmente simple: escribe una función JavaScript, deplóyala en 5 segundos, corre en 300+ centros de datos mundiales. Sin provisioning. Sin decisiones de escalado. Sin cold starts. Tu función simplemente... está ahí, en todas partes, al instante.
Para un equipo pequeño que necesita lanzar rápido, esa simplicidad vale más que cualquier feature de AWS.
9 Productos Cloudflare Que Realmente Usamos
Esto no es un Worker gestionando un webhook. Usamos 9 productos Cloudflare distintos, cada uno resolviendo una necesidad específica:
1. Workers — Toda la Lógica API
Cada endpoint API en los 14+ productos corre en Workers. 60+ endpoints en total. Los V8 isolates significan cero cold starts — a diferencia del modelo basado en contenedores de Lambda donde la primera petición tras idle puede tardar 500ms-2s, Workers responde en milisegundos de un solo dígito desde la primera petición. Deploy con wrangler deploy en menos de 5 segundos.
2. D1 — SQLite en el Edge
Nuestra base de datos principal. SQLite puede sonar a juguete, pero la implementación de D1 es de nivel producción: tenemos 107+ migraciones entre todos los productos. Registros de pacientes, agendas de citas, logs de llamadas IA, estado de workflows, datos de juegos, registros de facturación — todo en D1. Window functions, CTEs recursivos, funciones JSON — todo funciona. La única limitación real es la búsqueda full-text (básica), que complementamos con Vectorize para búsqueda semántica.
3. R2 — Almacenamiento con Cero Egress
API compatible con S3, pero con cero costes de egress. Esto es crítico para nosotros — servimos imágenes DICOM médicas (archivos grandes, acceso frecuente), PDFs generados, consentimientos, archivos de audio y uploads de usuarios. En S3, los costes de egress solo del visor DICOM superarían toda nuestra factura de Cloudflare.
4. Durable Objects — Computación Stateful en el Edge
El producto más infravalorado de Cloudflare. Los Durable Objects nos dan computación stateful de larga duración en el edge. Los usamos para:
- Ejecución de workflows: Nuestro motor visual de workflows ejecuta automatizaciones multi-paso que pueden tardar horas o días. Los Durable Objects persisten estado entre reinicios de Workers — si un workflow espera un webhook externo, el DO mantiene el estado hasta que llega
- Gestión de WebSockets: Actualizaciones en tiempo real para el editor de workflows, monitorización en vivo de llamadas (God Mode) y features colaborativos
- Estado de sesión: Sesiones de usuario de larga duración sin Redis externo
5. Pages — Hosting Estático ($0/Sitio)
Todos nuestros storefronts y portales públicos se despliegan en Cloudflare Pages: GoViajes, Restaurant23, Codex, GoStorm, Clinica23, portal de CIMAD — 6 sitios en el tier gratuito. Cada uno recibe CDN global, HTTPS automático, preview deployments e integración con GitHub. Coste por storefront: $0.
6. KV — Caché Key-Value
Tokens de sesión, caché de respuestas API, feature flags. Almacén key-value distribuido globalmente con consistencia eventual. Lo usamos donde necesitamos lecturas rápidas y podemos tolerar unos segundos de desactualización.
7. Vectorize — Búsqueda por Embeddings
Búsqueda semántica en documentos, bases de conocimiento y contenido. Usado en Perspectiva Studio para recuperación contextual y en el AI Gateway para decisiones de enrutamiento inteligente.
8. Workers AI — Modelos de Fallback Gratuitos
Nuestra arma secreta de control de costes. Workers AI nos da acceso a Llama 3.x, Mistral y Phi-3 a coste cero — además de FLUX Schnell y SDXL Lightning para generación de imágenes gratis y Whisper para STT gratis. Aproximadamente el 26% de nuestras llamadas IA van a modelos Workers AI a $0. No son tan buenos como Claude o GPT-4o para tareas complejas, pero para clasificación simple, resumen y escenarios de fallback, son gratuitos y rápidos (0.6s de latencia media).
9. WAF + Protección DDoS
Automático para todos los despliegues de Workers y Pages. Para CIMAD (nuestro sistema sanitario), es un requisito de cumplimiento — y lo obtenemos incluido sin configuración ni coste adicional.
14+ Productos en Este Stack
Lo que corre en estos 9 productos Cloudflare:
- Cadences.app — Plataforma SaaS core (Workers + D1 + R2 + Durable Objects + KV)
- CIMAD RIS — Sistema de información radiológica completo (Workers + Pages + D1 + R2)
- AI Gateway — Router IA multi-proveedor (Workers + D1)
- Workflow Engine — Constructor visual de automatizaciones (Workers + Durable Objects + D1)
- Nexus — Dashboard de operaciones con God Mode (Workers + D1)
- Synapse Studio — Creación de contenido IA (D1 + R2 + Workers AI)
- Perspectiva Studio — Gestión de contenido (R2 + D1 + Vectorize)
- Heartbeat — Motor de monitorización de salud (Workers + D1)
- NutriNen Baby — App de seguimiento nutricional (Workers + D1 + R2)
- VOID Game — Juego de navegador (D1 + Workers + R2)
- GoViajes — Storefront agencia de viajes (Pages)
- Restaurant23 — Storefront restaurante (Pages)
- GoStorm / Codex / Clinica23 — Storefronts adicionales (Pages)
- WhatsApp Agent — Mensajería automatizada (Workers + D1)
Todos interconectados. El AI Gateway sirve llamadas IA para Cadences, CIMAD, Synapse y el WhatsApp Agent. El Workflow Engine dispara acciones en todos los productos. Las bases de datos D1 se comparten donde tiene sentido, se aíslan donde no.
El Desglose de Costes: $65/Mes
Para toda nuestra carga de trabajo — ~500K peticiones API/día, 200GB almacenamiento, 60+ endpoints, múltiples bases de datos, 14+ productos:
☁️ Equivalente estimado en AWS: $400-600/mes (EC2 + RDS + S3 + CloudFront + Route53 + ACM + ALB)
🔶 Coste real Cloudflare: $65/mes total
💵 Plan Workers Paid: $5/mes (cubre todos los Workers + overhead del AI Gateway)
🗄️ Uso D1 + R2: ~$60/mes (107+ migraciones, 200GB almacenados)
🆓 Hosting en Pages: $0/mes (6 storefronts en tier gratuito)
🆓 Workers AI: $0/mes (~26% de todas las llamadas IA a coste cero)
Eso es un ahorro del 85-90% vs. AWS. Pero el ahorro real está en lo que no necesitamos: ningún ingeniero DevOps ($80-120K/año), cero tiempo de mantenimiento de infraestructura, cero ansiedad de escalado a las 3 de la mañana.
Rendimiento: 12ms vs. 80-120ms
La computación edge no es solo más barata — es fundamentalmente más rápida. Cuando tu código corre en 300+ centros de datos, la petición del usuario llega al más cercano:
⚡ Latencia API P50: 12ms (vs. 80-120ms en cloud centralizado)
🚀 Tiempo de deploy: <5 segundos (vs. 5-15 minutos para deploys de contenedores)
❄️ Cold starts: 0ms (V8 isolates vs. spin-up de contenedores)
🤖 Overhead del AI Gateway: <5ms por petición (routing + logging + lógica de fallback)
🎨 Canvas de workflows: 60fps con 500+ nodos (client-side, Workers manejan la ejecución)
12ms de latencia P50 significa que nuestras apps se sienten instantáneas. No "rápidas" — instantáneas. El usuario hace click, la respuesta está ahí. Esto importa especialmente para el editor de workflows (guardado en tiempo real), el visor DICOM (carga progresiva de imágenes) y el AI Gateway (donde cada milisegundo de overhead importa).
Arquitectura: Cómo 14 Productos Comparten Infraestructura
Cloudflare Workers (60+ endpoints)
├── API Cadences ─┐
├── API CIMAD RIS │
├── AI Gateway ├── Todos comparten: bases de datos D1
├── Workflow Engine │ almacenamiento R2
├── API Nexus │ caché KV
├── WhatsApp Agent ─┘ capa de Auth
└── Heartbeat / NutriNen / VOID
Durable Objects
├── Ejecución de Workflows (larga duración, stateful)
├── Hub WebSocket (actualizaciones en tiempo real)
└── Gestor de Sesiones
Cloudflare Pages (estático, CDN global)
├── GoViajes / Restaurant23 / GoStorm
├── Codex / Clinica23
└── Portal Público CIMAD
Workers AI (tier gratuito)
├── Llama 3.x (fallback de texto)
├── FLUX Schnell (generación de imágenes)
└── Whisper (speech-to-text)
Vectorize
└── Búsqueda semántica en documentos y contenido
D1 a Fondo: SQLite en Producción
"¿SQLite en producción? ¿En serio?" Sí. Esto es lo que hemos aprendido después de 107+ migraciones:
- Es rápido: Las queries se ejecutan en el edge, cerca del usuario. Sin salto de red a un cluster de base de datos centralizado
- Es fiable: SQLite es el motor de base de datos más testeado del mundo (literalmente — tiene más código de test que código de aplicación)
- Las migraciones funcionan: SQL estándar ALTER TABLE, CREATE INDEX, etc. 107+ migraciones y sumando
- Lo que funciona: JOINs, window functions, CTEs recursivos, funciones JSON, optimizaciones PRAGMA
- Lo que no: Búsqueda full-text avanzada (solo FTS5 básico), stored procedures, algunas features específicas de PostgreSQL
- Nuestro workaround: Para búsqueda semántica, usamos Vectorize. Para agregaciones complejas, pre-computamos en código de aplicación. Para reporting, tenemos vistas SQL (6 vistas solo en el AI Gateway)
Los Trade-offs (Transparencia Total)
Somos honestos sobre lo que sacrificamos:
- Vendor lock-in: Sí. Nuestro código de Workers, D1, R2 y Durable Objects es específico de Cloudflare. Pero la mitigación es real: la lógica de negocio es TypeScript estándar, las queries de base de datos son SQL estándar, y R2 usa la API de S3. Si tuviéramos que migrar, ~80% del código se mueve directamente; solo la capa de infraestructura necesita reescribirse
- Límite de Worker (1MB comprimido): Fuerza arquitectura modular. Lo consideramos una feature — previene el crecimiento monolítico. Cada Worker es enfocado, desplegable de forma independiente
- Sin debugging tradicional: Sin SSH, sin breakpoints en producción. Aprendes a amar el logging estructurado, los inspectores de Durable Objects y
wrangler tailpara streaming de logs en tiempo real - Techo de escala de D1: Para nuestra carga (registros sanitarios, logs de IA, estado de workflows), D1 es más que suficiente. Si alcanzáramos tráfico nivel Netflix, habría que reconsiderar. No somos Netflix
- Madurez del ecosistema: El ecosistema de desarrolladores de Cloudflare es más joven que el de AWS. Menos integraciones de terceros, comunidad más pequeña, menos cobertura en Stack Overflow. Cuando algo se rompe, a veces estás leyendo código fuente
Experiencia de Desarrollo: Por Qué los Equipos Pequeños Ganan Aquí
La ventaja infravalorada. Nuestro ciclo de deploy:
git pusha main- GitHub Action ejecuta tests (~45 segundos)
wrangler deploysube a producción (<5 segundos)- Live en todo el mundo. Sin servidor de staging, sin blue-green deployment, sin drain de load balancer
Tiempo total de merge a producción: menos de 60 segundos.
Compara con un deploy típico en AWS: build Docker image (2-3 min), push a ECR (1 min), actualizar task definition de ECS (30s), ECS drena contenedores viejos y levanta nuevos (3-5 min), esperar health checks (30s-1 min). Total: 7-10 minutos si nada falla.
Cuando despliegas 5-10 veces al día (así lo hacemos), esos minutos se acumulan en horas de espera. En Cloudflare, los deploys son tan rápidos que no interrumpen tu flujo.
Cuándo NO Usar Cloudflare
Siendo honestos sobre dónde este stack no funciona:
- Computación pesada: Entrenamiento de modelos ML, transcodificación de vídeo, procesamiento de pipelines de datos — Workers tienen límites de CPU (50ms en free, 30s en paid). Estas cargas necesitan servidores reales
- Bases de datos grandes: Si necesitas features de nivel PostgreSQL (PostGIS, triggers complejos, vistas materializadas) o bases de datos multi-TB, D1 no es la respuesta
- Enterprise con alto cumplimiento: Algunas empresas requieren certificaciones cloud específicas (FedRAMP, SOC2 Type II) que Cloudflare puede no tener aún para todos los productos
- Streaming en tiempo real: Aunque los Durable Objects manejan bien WebSockets, streaming de alta frecuencia (gaming, datos financieros) puede necesitar infraestructura dedicada
La Conclusión
💰 Infraestructura mensual: $65/mes para 14+ productos
🌍 Cobertura global: 300+ centros de datos, sub-100ms mundial
⚡ Latencia API: 12ms P50 (vs. 80-120ms centralizado)
🚀 Deploy a producción: <60 segundos end-to-end
🗄️ Migraciones de base de datos: 107+ y sumando
👤 Ingenieros DevOps necesarios: 0
🐳 Contenedores Docker: 0
📟 Alertas a las 3 AM: 0 (en 2 años)
Lo Que Hemos Aprendido
- La simplicidad se acumula: Cada hora no dedicada a infraestructura es una hora construyendo producto. En dos años, estimamos que la simplicidad de Cloudflare nos ahorró 500+ horas de ingeniería comparado con correr infraestructura equivalente en AWS
- Edge-first cambia cómo piensas: Cuando tu código corre en todas partes, dejas de pensar en regiones, zonas de disponibilidad y failover. Simplemente despliegas y funciona globalmente. Esta simplicidad mental es difícil de cuantificar pero imposible de exagerar
- Los tiers gratuitos son una estrategia: Modelos gratuitos de Workers AI + hosting gratuito en Pages + tier gratuito generoso de KV = porciones significativas de nuestro stack cuestan literalmente nada. Construye sobre tiers gratuitos donde la calidad es suficiente, paga premium solo donde importa (calidad IA, volumen de almacenamiento)
- El límite de 1MB es una feature: La arquitectura modular forzada previno que construyéramos un monolito. Cada Worker es pequeño, enfocado e independientemente desplegable. Cuando algo se rompe, el radio de explosión es un Worker, no la plataforma entera
- La ansiedad del lock-in está sobrevalorada: Dedicamos más tiempo preocupándonos por vendor lock-in que lo que tardaríamos en migrar. TypeScript estándar + SQL estándar + API compatible con S3 = la mayoría de nuestro código es portable. El glue específico de Cloudflare es quizás un 10-15% del codebase total
Etiquetas
Sobre el Autor
Gonzalo Monzón
Fundador & Arquitecto Principal
Gonzalo Monzón es Arquitecto de Soluciones Senior e Ingeniero IA con más de 26 años construyendo sistemas críticos en Sanidad, Automatización Industrial e IA empresarial. Fundador de Cadences Lab, está especializado en conectar infraestructura legacy con tecnología de vanguardia.
Artículos Relacionados
Workflows No-Code Que Realmente Funcionan en Producción — 7.000 Líneas de Motor de Ejecución
La mayoría de herramientas "no-code" se rompen ante el primer caso real. Construimos un motor de workflows visual con 20+ tipos de nodo, Canvas API a 60fps, Durable Objects para ejecución persistente, y debugging paso a paso. Así es como 7.073 líneas de motor hacen que el drag-and-drop sea realmente production-grade.
Desplegando un Sistema de Radiología Completo en el Edge: 13 Módulos, Cero Servidores
Construimos un RIS completo — visor DICOM, diagnóstico IA con MedGemma, HL7 FHIR, firmas digitales, facturación CASS — 100% en Cloudflare. Puntuado 9/10 por un radiólogo experto que ha usado Siemens, Philips y Epic. La historia técnica completa.
Cadences: La Plataforma de Gestión de Proyectos Nativa en IA que Construimos desde Cero
Cadences no es otro clon de Asana con un chatbot pegado. Es una plataforma completa con 7+ proveedores de IA, agentes de voz que hacen llamadas reales, automatización de WhatsApp, control IoT, motor de workflows visual, sincronización offline-first y edge computing — todo construido sobre React 18 + Cloudflare Workers con 107+ migraciones de base de datos.