Scaling

Doctrine sharding

In the previous article we explored why sharding by tenant is a very good solution for us. In this article we dig into how to divide our Symfony app by shard. Doctrine We chose Doctrine as our ORM so let’s see what it offers to us. First of all you have to…

Symfony and multi-tenant apps: Nuvola

This article starts a series of posts regarding a case-study about Symfony and multi-tenancy. Subject of the case-study is our flagship software Nuvola, a multi-tenancy product for schools, used since 2013 by more than 1 thousands Italian schools. Nuvola let them fulfill their administrative tasks, teachers completely accomplish their work online (grade…

Rome AWS Meetup day

Saturday the 15th of October we leaved the comfort of our couches (have we already said we are a distributed team from all around Italy?) to leave to the glorious destination of Rome! The ancient town best known for the engineers of the Roman empire, was once again at center…

Scaling Symfony sessions with Redis

In the Scaling Symfony sessions with Memcached article we focused on scaling our Symfony session with Memcached. Memcached is very easy to set-up and use but it lacks of persistence and some other cool stuffs we can find in Redis. What’s Redis? Redis in an in-memory data structure store. It is very…

Scaling Symfony sessions with Memcached

Sessions are one of the main building blocks of a login-based web application. We’re going to see what they are, what Symfony offers us to handle them and how to scale when you have ton of them. What’s a session? As you know the HTTP protocol is stateless: each request is independent from…