Cómo reduje a la mitad mi factura de Cloudflare al cambiar de Durable Objects a caché de activos estáticos
Recibí mi factura de Cloudflare en diciembre y noté algo extraño: $12.50 por Durable Objects.
Durable Objects son la forma que tiene Cloudflare de almacenar datos que necesitan persistir entre solicitudes (computación serverless con estado), como mensajes de chat en vivo, estado de juegos multijugador o edición colaborativa.
Tengo varios sitios web alojados en Cloudflare, y la mayoría son básicamente blogs estáticos. ¿Por qué estaba pagando por Durable Objects?
El culpable: El almacenamiento en caché predeterminado de OpenNext
Si estás utilizando OpenNext para desplegar Next.js en Cloudflare Workers, la configuración predeterminada utiliza Durable Objects para la invalidación de caché de ISR (Regeneración Estática Incremental). Esto tiene sentido para sitios dinámicos que necesitan revalidación bajo demanda, pero ¿para un blog? Exceso total.
Así es como se ve la configuración predeterminada:
// open-next.config.ts (predeterminado)
import { defineCloudflareConfig } from "@opennextjs/cloudflare";
export default defineCloudflareConfig();Esta configuración de aspecto inofensivo habilita:
- DOShardedTagCache: Durable Objects para la invalidación de caché basada en etiquetas
- BucketCachePurge: Durable Objects para la purga de caché
- DOQueueHandler: Durable Objects para el manejo de colas
Todo lo cual cuesta dinero cada vez que se invoca.
La solución: Caché de activos estáticos
Si tu sitio es mayormente estático (como un blog), puedes cambiar a un caché de activos estáticos que almacena todo en Workers Static Assets en el momento de la compilación. Sin Durable Objects, sin costes recurrentes.
// open-next.config.ts (optimizado)
import { defineCloudflareConfig } from "@opennextjs/cloudflare";
import staticAssetsIncrementalCache from "@opennextjs/cloudflare/overrides/incremental-cache/static-assets-incremental-cache";
export default defineCloudflareConfig({
incrementalCache: staticAssetsIncrementalCache,
enableCacheInterception: true,
});Eso es todo. Dos líneas de cambio de configuración me ahorraron $12.50/mes.
La contrapartida
Hay una pega: pierdes la revalidación ISR. Con el caché de activos estáticos, tu contenido solo se actualiza cuando vuelves a desplegar. Para un blog donde controlo cuándo cambia el contenido, esto está perfectamente bien. De todos modos, despliego cuando publico una nueva entrada.
Pero si tienes:
- Contenido generado por el usuario que se actualiza con frecuencia
- Páginas que necesitan revalidarse según un horario
- Datos dinámicos que cambian entre despliegues
Entonces probablemente necesites Durable Objects, y el coste está justificado.
Resultados
Actualización (Enero de 2026): Sé que no es mucho dinero, pero mi factura de enero para todos mis sitios fue de solo $6.47. Apliqué esta solución a todos ellos, y el cargo por Durable Objects desapareció.
| Servicio | Diciembre | Enero |
|---|---|---|
| Durable Objects | $12.50 | $0.00 |
| Workers Pagado | $5.00 | $5.00 |
| AI Neurons (RTN)* | $8.31 | $0.42 |
| Workers CPU | $0.42 | $1.00 |
| Vectorize | $0.05 | $0.05 |
| Total | $26.28 | $6.47 |
*También optimicé el uso de IA de mi chatbot por separado, lo que explica la mayor parte del ahorro en RTN.
Cómo comprobar si necesitas Durable Objects
Pregúntate:
- ¿Cambia mi contenido entre despliegues? Si no, usa el caché de activos estáticos.
- ¿Uso
revalidateen mis páginas de Next.js? Si no, usa el caché de activos estáticos. - ¿Es mi sitio principalmente un blog o documentación? Si es así, usa el caché de activos estáticos.
Para la mayoría de los sitios personales y blogs, el caché de activos estáticos es la opción correcta. Ahorra tu dinero para algo más útil.