Torna al blog

Come ho dimezzato la mia fattura Cloudflare passando dagli Oggetti Durevoli alla cache degli asset statici

2025-12-133 min read

Ho ricevuto la fattura di Cloudflare a dicembre e ho notato qualcosa di strano: $12.50 per Durable Objects.

Durable Objects sono il modo in cui Cloudflare memorizza i dati che devono persistere tra le richieste (calcolo serverless con stato), come i messaggi di chat dal vivo, lo stato dei giochi multiplayer o l'editing collaborativo.

Ho diversi siti web ospitati su Cloudflare, e la maggior parte di essi sono fondamentalmente blog statici. Perché stavo pagando per Durable Objects?

Il colpevole: la cache predefinita di OpenNext

Se stai usando OpenNext per distribuire Next.js su Cloudflare Workers, la configurazione predefinita utilizza Durable Objects per l'invalidazione della cache ISR (Incremental Static Regeneration). Questo ha senso per i siti dinamici che necessitano di una rivalidazione su richiesta, ma per un blog? Eccessivo.

Ecco come appare la configurazione predefinita:

// open-next.config.ts (default)
import { defineCloudflareConfig } from "@opennextjs/cloudflare";

export default defineCloudflareConfig();

Questa configurazione dall'aspetto innocuo abilita:

  • DOShardedTagCache: Durable Objects per l'invalidazione della cache basata su tag
  • BucketCachePurge: Durable Objects per la pulizia della cache
  • DOQueueHandler: Durable Objects per la gestione delle code

Tutti i quali comportano costi ogni volta che vengono invocati.

La soluzione: cache degli asset statici

Se il tuo sito è prevalentemente statico (come un blog), puoi passare a una cache degli asset statici che memorizza tutto in Workers Static Assets al momento della build. Niente Durable Objects, niente costi ricorrenti.

// open-next.config.ts (ottimizzato)
import { defineCloudflareConfig } from "@opennextjs/cloudflare";
import staticAssetsIncrementalCache from "@opennextjs/cloudflare/overrides/incremental-cache/static-assets-incremental-cache";

export default defineCloudflareConfig({
incrementalCache: staticAssetsIncrementalCache,
enableCacheInterception: true,
});

Questo è tutto. Due righe di modifica della configurazione mi hanno fatto risparmiare $12.50 al mese.

Il compromesso

C'è un inconveniente: si perde la rivalidazione ISR. Con la cache degli asset statici, i contenuti vengono aggiornati solo quando si effettua una nuova distribuzione. Per un blog dove controllo io quando cambiano i contenuti, questo va benissimo. Effettuo la distribuzione quando pubblico un nuovo articolo comunque.

Ma se hai:

  • Contenuti generati dagli utenti che si aggiornano frequentemente
  • Pagine che devono rivalidarsi secondo una pianificazione
  • Dati dinamici che cambiano tra una distribuzione e l'altra

Allora probabilmente hai bisogno di Durable Objects, e il costo è giustificato.

Risultati

Aggiornamento (gennaio 2026): So che non è una grande somma di denaro, ma la mia fattura di gennaio per tutti i miei siti è arrivata a soli $6.47. Ho applicato questa soluzione a tutti, e l'addebito per Durable Objects è sparito.

ServizioDicembreGennaio
Durable Objects$12.50$0.00
Workers a pagamento$5.00$5.00
AI Neurons (RTN)*$8.31$0.42
Workers CPU$0.42$1.00
Vectorize$0.05$0.05
Totale$26.28$6.47

*Ho ottimizzato separatamente anche l'utilizzo dell'AI del mio chatbot, il che spiega la maggior parte del risparmio su RTN.

Come verificare se hai bisogno di Durable Objects

Chiediti:

  1. I miei contenuti cambiano tra una distribuzione e l'altra? Se no, usa la cache degli asset statici.
  2. Uso revalidate nelle mie pagine Next.js? Se no, usa la cache degli asset statici.
  3. Il mio sito è prevalentemente un blog o documentazione? Se sì, usa la cache degli asset statici.

Per la maggior parte dei siti personali e dei blog, la cache degli asset statici è la scelta giusta. Risparmia i tuoi soldi per qualcosa di più utile.

Risorse

Rimani Aggiornato

Ricevi gli ultimi articoli e insights nella tua casella di posta.

Unsubscribe anytime. No spam, ever.