Vercel, som står bak blant annet Next.js-rammeverket, har lansert flere serverless lagringstjenester som skal gjøre det enklere å sette opp for eksempel en Postgres-database som kjører i Vercels datasentre verden over.
Finally I can stop telling my students to go set up a PostgreSQL database on <any Postgres hosting> and set up storage on S3 or DO spaces, it's all on Vercel. Not sponsored, just excited about this convenient option. pic.twitter.com/pEASBLHu0i
— flavio (@flaviocopes) May 1, 2023
– Det er på tide å gjøre databaser til en førsteklasses del av Vercels frontend-sky, skriver selskapet på sin blogg.
Lanseringen skjer i forbindelse med Vercel Ship, der Vercel lover å lansere en masse nytt hver dag.
Tre ulike lagringsløsninger
Vercel skriver at rammeverk er i ferd med å bli "server-first" og "edge-first", og nevner blant annet nye teknologier som React Server Components.
Det at det har blitt enklere å hente data fra databaser eller andre kilder direkte fra en komponent som kjører på serveren, er en av grunnene til at Vercel lanserer lagringsløsninger som ifølge dem selv skal være lette å sette opp og bruke med moderne rammeverk.
Det er tre ulike lagringsløsninger som lanseres:
- Vercel KV: En serverless Redis-løsning. KV står for "key-value".
- Vercel Postgres: En serverless SQL-database
- Vercel Blob: Løsning for opplasting og lagring av filer
De to førstnevnte tjenestene er tilgjengelig i dag, mens Vercel Blob inntil videre er i privat betaversjon der du kan skrive deg på venteliste.
Nå blir det lettere å bruke Next.js med Azure: - Finfint!
Partnerskap med andre
De tre database- og lagringsløsningene leveres i samarbeid med andre leverandører.
Vercel KV er laget i samarbeid med Upstash, Vercel Postgres i samarbeid med Neon, mens Vercel Blob er utviklet av Vercel selv og kjører på toppen av Cloudflare R2.
Så har Vercel pakket det inn med SDK-er og det du trenger for at det skal være så enkelt som mulig å ta det i bruk og rulle det ut på Vercels skyplattform.
Her er et eksempel på hvordan du bruker Vercel Postgres i Next.js:
import { sql } from '@vercel/postgres';
import { redirect } from 'next/navigation';
async function create(formData: FormData) {
'use server';
const { rows } = await sql`
INSERT INTO products (name)
VALUES (${formData.get('name')})
`;
redirect(`/product/${rows[0].slug}`);
}
export default function Page() {
return (
<form action={create}>
<input type="text" name="name" />
<button type="submit">Submit</button>
</form>
);
}
Lagringsløsningene støtter moderne rammeverk som Next.js, SvelteKit og Nuxt, og Vercel har laget ferdige maler så det skal være raskt å komme igang.
Hva med GDPR?
De nye lagrings-/databasetjenestene skal være bygget for å kunne automatisk skalere opp etterhvert som behovene endrer seg.
Ifølge Vercel er det fokus på høy yelse og lav forsinkelse ved at tjenestene kjører på Vercels globale edge-nettverk – det vil si på datasentere i nærheten av der brukerne er.
Det med global replikering av data har fått enkelte til å stille spørsmålstegn ved hvorvidt dette er i tråd med GDPR.
With @vercel’s data being replicated across the world - what implications does this have, with data protection laws like GDPR? Can I - as a European citizen - use these services at all?
— selbekk (@selbekk) May 2, 2023
For KV- og Postgres-tjenestene kan du riktignok velge hvilken region du vil ha databasen din i. Men Vercel skriver også på sine sider at "replica-databaser distribueres rundt om i verden, og klienter rutes til den nærmeste regionen".
Det er i hvert fall verdt å ha dette i bakhodet.