Skip to content
On this pageHow Traditional CMS Hosting Works
  1. How Traditional CMS Hosting Works
  2. What Serverless Actually Means
  3. EmDash's Specific Architecture
  4. Serverless vs Traditional: The Numbers
  5. Performance and Cost in Practice
  6. The Real Trade-offs
  7. Who Benefits Most

What Is a Serverless CMS? How EmDash Eliminates the Server

Ben 4 min read

I built dashstro.com on EmDash, which means I'm running a CMS with no origin server. No VPS, no managed WordPress host, no MySQL database to tune. The content is served from Cloudflare's edge network, and the CMS itself runs as a Worker. That's what serverless means in practice — not "no servers exist," but "no servers you own or manage."

This article explains what a serverless CMS actually is, how it differs from traditional CMS hosting, and why EmDash's architecture is worth understanding if you're thinking about where CMS infrastructure is headed.

Scale to zero means you pay nothing when nobody's reading. Scale to millions means you don't wake up to a crashed server.
— The practical case for edge-native CMS

How Traditional CMS Hosting Works

A traditional CMS like WordPress runs on an origin server: a Linux VPS or managed hosting plan that your domain points to. When someone requests a page, the server wakes up, connects to a MySQL database, runs PHP to render the HTML, and sends it back. The database and application server are stateful — they're always running, always consuming resources, always a target for attacks. Managed WordPress hosts abstract this away somewhat, but the model underneath is the same: you have a server, it has an IP address, and it can crash.

What Serverless Actually Means

Serverless means your code runs in ephemeral functions that spin up on demand and disappear after the request is handled. There's no persistent process, no server to patch, no idle resource cost. Cloudflare Workers takes this further — Workers run at the edge, meaning in data centers physically close to your users, rather than in one central region. A request from Tokyo hits a Cloudflare data center in Tokyo, not a server in Virginia.

EmDash's Specific Architecture

EmDash is built on three Cloudflare primitives: Workers (compute), D1 (database), and R2 (object storage). Workers handles all request routing and CMS logic. D1 is SQLite running at the edge — it's the CMS database, living in Cloudflare's infrastructure rather than your VPS. R2 is the media storage layer, equivalent to S3. When a reader hits a dashstro.com page, the whole stack — front-end rendering, content query, media serving — runs at the edge with no origin server involved.

Serverless vs Traditional: The Numbers

FactorTraditional (WordPress)Serverless (EmDash)
Infrastructure cost$40–100/month$0/month (free tier)
Server maintenanceOS patches, PHP upgradesNone — managed by Cloudflare
Cached response time50–200ms (from CDN)10–30ms (edge-native)
Traffic spikesCan crash origin serverAuto-scales, no crash risk
Vendor lock-inPortable (self-hosted)Cloudflare-specific

Performance and Cost in Practice

For dashstro.com, cached pages are served in 10–30ms from whatever Cloudflare edge location is nearest to the reader. That's faster than a CDN-fronted traditional server because the compute itself is at the edge, not just the cache. The cost is $0/month on Cloudflare's free tier, which covers 100,000 Worker requests per day and 10GB of D1 storage. For a content site at this scale, the free tier doesn't run out.

The Real Trade-offs

Serverless CMS isn't universally better — it trades some flexibility for operational simplicity. The main trade-off with EmDash specifically is Cloudflare lock-in. D1 is not standard SQLite you can move elsewhere; it's Cloudflare's managed implementation. If Cloudflare's pricing changes dramatically or you need to migrate, that's a real cost. The ecosystem is also immature — there are no EmDash plugins, no theme marketplace, no ecosystem of integrators. You're building on a v0.1 platform and accepting that reality.

Who Benefits Most

Serverless CMS architecture is the best fit for content sites with unpredictable traffic, developers who want zero infrastructure overhead, and teams willing to trade ecosystem maturity for architectural elegance. It's a poor fit for sites with complex custom PHP logic, heavy e-commerce, or teams that need a broad plugin ecosystem today. I built dashstro.com on it because I'm a developer who wants to understand the architecture and I don't mind being early.

No server to crash isn't a marketing line. It's the actual operational reality of edge-native CMS.
Explore the Full Cloudflare Stack →