Understanding how CDNs work


In order to understand how the cache operates, and for anyone interested in the general topology of the CDN setup, or how to diagnose issues — it's extremely critical to understand how Fastly works in general.

Below are some pages and notes that describe the overall architecture of Fastly, how we leverage it, and why it works the way it does.

<aside> 👉 Heads up: If you're a cache operator, you MUST read and understand the following material!

</aside>

<aside> 💡 Insight: You might think Fastly is just "Varnish-as-a-Service" (VaaS), but it's a powerful distributed system loosely based around Varnish and HTTP. Don't let the outward simplicity of our use case deceive you! Complex systems introduce complex dependencies, failure modes, and operational characteristics by nature, not accident.

</aside>

Design


Notes on how Fastly is designed

Preliminaries

POP Shielding

Fastly Varnish ⋆ Mark McDonnell

Roadmap


Thoughts about future integrations

Compute@Edge

Hydra integration

New TLS Support

Development


How to program against Varnish & Fastly

Note: how to move fast

Learning VCL by example

Using Fiddle

The design of Varnish

Tricks for VCL Gurus

External links


Useful links to understand Fastly's Varnish

📰 Fastly VCL Reference

VCL Functions

VCL Variables

🔍 Varnish 2.1 Documentation