Get appdevcon tickets for 2020

Developing cacheable backend applications

When you develop an app, making it perform well is essential. But when your app becomes successful, it’s equally important to make sure that your backend remains fast under all traffic circumstances.

Quite often this need for scalability is translated into scaling the infrastructure: either scaling up, or scaling out. Although it has an immediate impact, it’s not the ideal solution from an economical standpoint, and it adds complexity.

Why not focus on reducing the impact of your code on systems, rather than extending these systems? Why do we re-compute every single result if the data hasn’t changed, instead of caching these computed results?

In this presentation, Thijs will explain how reverse caching proxies can take a way a lot of stress from your infrastructure and how you can leverage the power of HTTP to control cachin behavior in your code.

Topics that will be covered:

The syntax of cache-control headers

How to use cache-control headers to control whether or not to cache

How to use cache-control headers to control the time to live of our cached objects

How to deal with cookies and authentication

How to separate stateful from stateless content

How to boost your performance by adding a reverse cache proxy like VarnishHow to invalidate your cache

How to leverage Content Delivery Networks

How to create cache variations

How to reduce backend load and bandwidth by performing conditional HTTP requests

The goal is to empower developers to write cacheable code that is portable and avoids vendor lock-in by applying industry-wide conventions.