Skip to content

Instantly share code, notes, and snippets.

@leejones
Last active August 29, 2015 14:06
Show Gist options
  • Save leejones/d4559061fdc6d03c6c77 to your computer and use it in GitHub Desktop.
Save leejones/d4559061fdc6d03c6c77 to your computer and use it in GitHub Desktop.
Cache Me If You Can - Presentation Outline

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.

intro

  • me
  • what is a CDN?
  • why use a CDN?
  • summary of talk

performance

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

challenges

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

testing

Tonight we test in production!

  • developing/debugging/verifying your configuration
  • automated testing
  • metrics and logging
  • review section

closing

  • review
  • where to start
  • questions?
@Ianfeather
Copy link

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??

@textgoeshere
Copy link

CDN adds more complexity to your architecture

What are common ways this manifests itself? (e.g. business/application logic leaking out into higher layers)
How do you make the trade-offs between improved performance and complexity?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment