HTTP Caching with Varnish

Conference: PHP Romania 2018, Cluj, Romania
Title: HTTP Caching with Varnish
Links: slides

With the Varnish caching proxy you can make websites blazingly fast, while also handling a lot more load. The key is to understand how cache handling in HTTP works. We will also look at concepts like cache invalidation and cache tagging, as well as advanced concepts like Edge Side Includes (ESI). A lot of this talk is applicable regardless of the programming language of your backend. Examples will use the PHP library FOSHttpCache and sometimes the Symfony FOSHttpCacheBundle.

varnish http caching conference

Beyond REST maturity levels: Insights from building a real life, high-load REST API

Conference: PHP Benelux 2018, Antwerp, Belgium
Title: Beyond REST maturity levels: Insights from building a real life, high-load REST API
Links: slides

Implementing a REST API is not only about designing correct resource URLs. I will talk about the software and system engineering part it takes to build a data API. I will show concrete examples from a project where we gather data from dozens of different services and systems and build a real-time capable data store. The main technology stack is Symfony, Elasticsearch and Varnish.

rest symfony message queues conference

Workshop: Debugging PHP Applications

Conference: PHP Benelux 2018, Antwerp, Belgium
Title: Debugging PHP Applications
Format: 3 hours interactive workshop.

Sooner or later, an application will have errors. Some of them will be your fault, or that of a teammate. Others stem from third party libraries you are using. We want to be able to locate the cause of the error as quickly as possible. In this workshop, we will do exercises that will help you debug your applications more efficiently as well as writing them in a way that they get easier to debug.

We will look at the following topics:

- reading stack traces
- how to search through the code base
- writing good exception messages

Read more

workshop php debugging conference

Decoupling an application with message queues

Conference: Symfony Con 2017, Cluj, Romania
Title: Decoupling an application with message queues
Links: slides,

Quick response times are crucial. Time consuming tasks triggered in web requests should be executed asynchronously, if at all possible. In this talk I will give a short overview of what message queues are and then show a case study how we split up an application into smaller services and how we use message queues to coordinate the services.

message queues rabbitmq symfony architecture conference

Going crazy with caching: Caching pages of logged in users

Conference: PHP Benelux Conference 2017, Antwerp, Belgium
Title: Going crazy with caching: Caching pages of logged in users
Links:, slides
You know how HTTP caching works but need more? In this talk we look into ways to cache personalized content. We will look at Edge Side Includes (ESI) to tailor caching rules of fragments, and at the user context concept to differentiate caches not by individual user but by permission groups. A big help to leverage this concept is the FOSHttpCache in combination with either Varnish or the Symfony HttpCache class.

caching http performance varnish conference

Confoo: HTTP Caching with Varnish

Conference: Confoo Vancouver 2016, Canada
Title: HTTP Caching with Varnish
Links: Slides

With the Varnish caching proxy, you can greatly increase the speed of websites and handle a lot more load. The basics are quite simple once you understand how the cache handling in HTTP works, so we will look into that first. Then I will go into advanced topics like cache tagging and cache invalidation or using Edge Side Includes.

varnish conference

Confoo: Symfony Introduction

Conference: Confoo Vancouver 2016, Canada
Title: Symfony Introduction
Links: Slides

Symfony is a powerful and very flexible framework for building web applications. Symfony is also a collection of base components that you can use separately in any PHP application. This modular nature allows many frameworks to build on top of it, the most notable being Drupal 8 and Laravel. In this talk, I will give an overview of the fundamental Symfony components and show how to use the full stack framework.

symfony conference

Elastic Meetup Switzerland: Data Import Strategies

Meetup: Elastic Meetup #15, Bern, Switzerland
Title: Data Import Strategies
Links: Slides (my talk only)
Co-Presenter: My work collegue Martin Janser did the second part about querying

Liip AG provides a data API for one of the largest swiss retail companies. Elasticsearch is the main data store. Martin Janser and David Buchmann will share some learnings and patterns from the project.

Read more

elasticsearch architecture meetup conference