This outline is for a presentation I'm giving at CoderFaire 2014 called Cache Me If You Can on September 21, 2014.
The description that will be listed for the talk:
Using a Content Delivery Network (CDN) can be a great way to improve the performance of your website. In this talk, we will explore the key concepts of HTTP caching and how they are used by a CDN. We will review some of the common challenges and pitfalls in setting up an awesome CDN configuration. To tie it all together, we will walk through how to verify your CDN configuration with automated testing.
- me
- what is a CDN?
- why use a CDN?
- summary of talk
It's not done till it's fast.
- latency and proximity of users to content
- TCP overhead
- SSL
- mobile users
- caching
- relevant HTTP headers
- details on the Cache-Control header
- reduce the impact of traffic surges
- reduced load on your site
- grace if your site down
- review section
What could possibly go wrong?
- CDN adds more complexity to your architecture
- dynamic content
- figuring out a TTL
- purging
- deployment
- purging
- Surrogate-Key
- browser caching
- hard to debug
- variation by vendor and version
- review section
Tonight we test in production!
- developing/debugging/verifying your configuration
- automated testing
- metrics and logging
- review section
- review
- where to start
- questions?
It would be cool if, in the 'what could go wrong' part, there was a bit on exposing what is cached to other developers. It's one of the most frustrating parts of caching to me, when you're content won't update and you don't know at what level it's being cached - particularly if you have multiple layers like we do with resrc.it for example.
Maybe also worth mentioning cache busting techniques outside of purging e.g. md5 hash of the contents for static assets.
Looks really interesting though! Do we get a preview??