This is the first post on edgeblog — a personal blog that runs entirely on Fastly Compute. There is no origin server, no S3 bucket of static files, no VPS anywhere in the loop. The bytes you’re reading right now were rendered by a WebAssembly sandbox in a Fastly POP, probably within a few hundred kilometres of you.
Why origin-less?
Most “edge” sites are actually two-tier: a CDN in front, a VM or object store behind. That design makes sense when content is enormous or dynamic. For a personal blog it adds operational surface area for no benefit — the content is small, immutable until I push a new version, and entirely known at build time.
Fastly Compute lets you skip the second tier. A single .wasm binary holds the
routing logic, the markdown-rendered HTML, the CSS, and the feed generator —
all in the same artifact. Deploying is fastly compute publish. There is
nothing else to patch.
What’s in the binary
The post you’re reading started life as a Markdown file:
+++
title = "Hello, edge"
date = "2026-04-24"
+++
This is the first post on edgeblog...
At build time, a build.rs script walks content/posts/, parses the TOML
front-matter, runs each file through pulldown-cmark, and writes a generated
Rust source file that looks roughly like this:
pub static POSTS: &[Post] = &[
Post {
slug: "hello-edge",
title: "Hello, edge",
date: "2026-04-24",
html_body: "<p>This is the first post...</p>",
// ...
},
];
The runtime handler then does POSTS.iter().find(|p| p.slug == slug) on every
request. No filesystem, no database, no subrequest. The end-to-end cost for a
cache miss is a few hundred microseconds of Wasmtime execution; cache hits
don’t touch the Wasm at all.
Why Rust
Performance, mostly. A Wasm module compiled from Rust is typically smaller and
faster than the equivalent from JavaScript running on SpiderMonkey-on-Wasmtime.
For a blog that’s overkill — the whole response is smaller than the JSON on
most homepages — but it’s a comfortable language for this kind of plumbing,
and the fastly crate is excellent.
More to come. There’s a lot to write about what Fastly’s edge actually does under the hood.