Caching decoupled websites is hard, but freaking fast if done right

Implementing a caching layer with a regular Drupal site is pretty standard. But as soon as we have a decoupled website with server-side rendering, things get more complicated:

  • We have multiple services that each need a cache layer

  • Requests can flow through multiple cache layers

  • Purging needs to happen on different cache levels

  • GraphQL likes POST requests, which are hard to be cached

  • Using external CDNs makes the whole system even more complicated

In this session I will share best practices around caching of decouple websites, things that work, things that didn't work and how we are running websites today.