Horizontally scalable
databases, without RDS.
Run any WeftKit database on ECS Fargate, Cloud Run, or ACI and let a single Lambda-class function own the durable state for all of them. No sidecar, no PVC, no vertical-only managed service. Pull, scale, recycle — your function handles the rest.
One persistence story. Three ways to deploy.
Every database engine supports all three. Mix and match per engine; most teams pick serverless for production and disabled for local dev.
Serverless
Engines push to a Lambda / Cloud Function / Azure Function / any HTTPS URL on a cron schedule and right before shutdown. Pull the latest snapshot on cold start. No sidecar, no PVC, runs on ECS Fargate, Cloud Run, or ACI.
- •Nothing always-on except your engine containers
- •Customer owns the function + object store + IAM
- •Horizontal scale — each replica writes its own subtree
- •Same contract for every database engine
Container
Long-running weftkit/persistence sidecar image mediates between the engine and a central store. Use this when you already run Kubernetes with PVCs and prefer an always-on bridge.
- •Always-on service on your cluster
- •Works great with PVCs and StatefulSets
- •Zero changes to customer infra per engine
- •Higher operational baseline than serverless
Disabled
State lives only in the container volume. Fine for local dev, CI, short-lived demos. Not for production on ephemeral runtimes.
- •Lowest latency — no network round-trips
- •State vanishes when the container recycles
- •Never use on Fargate / Cloud Run / ACI
- •Default for first-time pulls
Four round-trips. Nothing in the critical path.
Your engine POSTs compressed deltas; your function stores them. On cold start, engine pulls the latest back. Traffic is HTTPS + HMAC-signed.
STEP 1
Engine boots
Engine checks its volume. If empty or restore-on-boot is set, it calls GET /restore on your endpoint.
STEP 2
Function returns latest
Your Lambda/Function lists the engine's subtree in your object store and streams the newest snapshot back.
STEP 3
Engine persists on schedule
Every cron tick (default 15 min), engine POSTs a compressed delta to your endpoint. Your function stores it.
STEP 4
Engine flushes on shutdown
On SIGTERM, engine pushes a final snapshot within a 30 s budget, then exits. Pod can now safely recycle.
Which images support WKP-1
Every database engine supports it. Stateless routers and coordinators don't need it — they have nothing to persist.
Deploy in one command on your cloud
Drop-in function source for each major target. All four implement the same three endpoints per WKP-1.
Build your stack
Pick your engines in the Compose Builder and toggle Serverless Persistence. A ready-to-run docker-compose.yml with the right WEFTKIT_PERSIST_* env vars drops out the other side.