Anche se Vercel è nota soprattutto per le sue capacità di deployment serverless e per la sua attenzione alle performance di front-end, è essenziale comprendere come ci permette di gestire dati persistenti.
Quando sviluppiamo applicazioni, infatti, ci rendiamo subito conto che la gestione dei dati è una delle componenti fondamentali per offrire un'esperienza utente completa e affidabile. In questa lezione esploreremo il mondo dello storage su Vercel, analizzando le soluzioni native, le integrazioni disponibili e il modo in cui possiamo gestire dati in modo efficiente e sicuro.
La distinzione tra dati temporanei e persistenti
Uno dei primi aspetti che dobbiamo comprendere è la differenza tra dati temporanei e dati persistenti in ambiente serverless. Vercel, essendo una piattaforma pensata per applicazioni moderne e distribuite, utilizza un’architettura che predilige l’immutabilità e la scalabilità. In questo contesto lo storage locale (come i filesystem temporanei disponibili durante l’esecuzione di una funzione serverless) non può essere considerato un mezzo per conservare dati a lungo termine. Le funzioni serverless vengono infatti eseguite in ambienti effimeri che non garantiscono persistenza oltre la durata della funzione stessa. Per questo motivo, quando lavoriamo su Vercel, ci orientiamo verso soluzioni di storage esterne o gestite. Questo per mantenere uno stato applicativo persistente, sia per applicazioni semplici che per sistemi complessi.
Deploy automatici: produzione e anteprime
Cliccando sul menu in alto sulla voce "Storage" all'interno del nostro progetto Vercel vedremo una schermata come questa:

Questa è la parte principale della schermata. In essa Vercel ci invita a creare una nuova istanza di database o storage da collegare ai nostri progetti.
Sono presenti due opzioni native offerte direttamente da Vercel:
- Edge Config
- Blob
Mentre, è possibile selezionare dei sistemi esterni integrati a Vercel che possiamo utilizzare per gestire i nostri dati. Questi servizi sono elencati sotto la voce "Marketplace Database Providers".
Edge Config: dati statici in prossimità dell’utente
Un interessante servizio offerto nativamente da Vercel è Edge Config. Una soluzione pensata per la gestione distribuita e ultraveloce di configurazioni e valori chiave. Si tratta di uno store orientato alla lettura. Progettato per offrire accesso istantaneo a dati configurabili tramite una rete globale di edge node.
Edge Config ci permette di leggere valori con latenza estremamente bassa. I dati vengono replicati fisicamente in prossimità degli utenti finali, evitando qualsiasi collo di bottiglia centralizzato. È estremamente utile per gestire parametri applicativi che devono essere accessibili ovunque, in tempo reale ma che non cambiano troppo frequentemente. Pensiamo ad esempio ai feature flags che ci consentono di abilitare o disabilitare funzionalità per specifici gruppi di utenti, oppure a configurazioni basate sulla regione dell’utente, come valute, lingue o servizi locali da mostrare nel front-end.
Edge Config è perfetto anche per parametri di runtime che vogliamo aggiornare senza dover effettuare un nuovo deploy dell’applicazione. Come per esempio limiti di rate, endpoint di terze parti, o soglie per attivare logiche condizionali.
Una delle caratteristiche più innovative è la possibilità di aggiornare i valori in Edge Config via API o direttamente dalla dashboard di Vercel. Senza dover intervenire sul codice. Questo ci consente di operare in modo molto agile anche in fase di produzione. Possiamo modificare un parametro, salvare la configurazione e immediatamente tutte le edge function, middleware o applicazioni distribuite ne ricevono il nuovo valore.
Edge Config e integrazione con il runtime edge di Vercel
Edge Config è fortemente integrato con il runtime edge di Vercel. Possiamo accedervi direttamente all’interno delle Edge Functions, come anche nelle Middleware API. Non abbiamo bisogno di inizializzare connessioni a database o di gestire cache locali. Basta un semplice get dal pacchetto SDK e abbiamo a disposizione il valore esatto, replicato in ogni nodo edge della rete Vercel.
La sintassi per accedere a un valore è minimale, e proprio per questo diventa naturale integrarlo nel flusso logico delle funzioni serverless. Dal punto di vista architetturale, Edge Config si posiziona in modo molto specifico rispetto ad altri strumenti di storage. Se Postgres ci offre persistenza strutturata e relazionale, e Vercel KV velocità su dati volatili ma comunque centralizzati, Edge Config nasce per la distribuzione rapida di dati semi-statici, che non richiedono transazioni o scritture frequenti, ma che devono essere immediatamente disponibili ovunque.
È uno strumento perfetto per configurazioni globali che vogliamo rendere dinamiche e facilmente aggiornabili senza impatti sulla performance dell’intera applicazione.
Vercel Postgres
Quando il nostro progetto ha bisogno di uno storage strutturato, transazionale e persistente, Vercel ci offre un’integrazione diretta con PostgreSQL, sotto forma di Vercel Postgres.
è importante sottolineare che i servizi di storage Vercel KV (key-value store) e Postgres non sono più attivabili direttamente dalla dashboard principale di Vercel (infatti non sono presenti) ma vanno ora creati e gestiti attraverso il Vercel Marketplace. Quindi, per usare questi database, dobbiamo andare nella sezione Marketplace che è una sorta di "negozio di integrazioni" dove Vercel offre servizi di terze parti integrati (come Neon, Supabase, Upstash, ecc.) oppure le versioni estendibili dei propri servizi.
Andando su https://vercel.com/marketplace, vedremo questa schermata:

Qui, cercando nella barra di ricerca "Postgres", avremo a disposizione una serie di servizi basati sul database relazione Postgres.
Vercel KV: la risposta al caching e allo stato leggero
Vercel mette a disposizione un sistema chiamato Vercel KV che rappresenta una soluzione chiave-valore pensata per l’alta velocità e la semplicità d’uso. Basato su Redis, Vercel KV è perfetto per scenari dove abbiamo bisogno di salvare dati transitori, come sessioni utente, contatori, dati di caching, preferenze, o risultati computazionali da riutilizzare.
Per installare un DB di questo tipo, dobbiamo recarci sul marketplace e selezionare uno tra quelli elencati sotto la voce "Redis":

Piani a pagamento su Vercel
Quando iniziamo a usare i servizi di storage su Vercel, come Blob, Edge Config, KV o l'integrazione con database come Postgres (tramite Neon, Supabase o altri provider), è importante considerare le limitazioni e le potenzialità offerte dai diversi piani di abbonamento.
Infatti, mentre molte funzionalità base sono accessibili anche con il piano gratuito, la scalabilità reale e la produzione avanzata richiedono l’accesso a funzionalità premium. Ad esempio, Vercel Blob, il servizio di storage oggetti, offre uno spazio gratuito limitato in GB e in numero di richieste al mese. Superati quei limiti, i costi sono proporzionali al traffico e allo spazio utilizzato. Lo stesso vale per KV, lo store key-value progettato per accessi rapidi, che nel piano gratuito ha una quota di operazioni e dati mensili.
Quando ci spostiamo su progetti in produzione, è inevitabile passare a un piano a pagamento per evitare colli di bottiglia, errori di superamento quota o limiti prestazionali.
Conclusioni
In questa lezione ci siamo concentrati sulla gestione dello storage su Vercel, esplorando le principali soluzioni offerte dalla piattaforma per conservare e gestire dati in modo scalabile e sicuro. Dal caching con Vercel KV allo storage strutturato con Postgres, passando per la configurazione distribuita con Edge Config. Nella prossima lezione parleremo di sicurezza: vedremo come Vercel protegge i nostri dati e le nostre applicazioni con meccanismi avanzati di controllo e difesa.
Se vuoi aggiornamenti su Storage su Vercel e gestione dei dati persistenti inserisci la tua email nel box qui sotto: