Symfony

Symfony sharding

In a previous post we’ve seen how leverage Doctrine sharding functionalities. But how can we tell our app to use a specific shard? A common web app has usually at least two sources: http requests and cli commands. Let’s see one at the time. Http request As you already know HTTP is a…

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…

Data migration to AWS

In this article, I’ll tell you how we migrated our databases from our previous provider to AWS RDS. Our previous DB infrastructure was already in the cloud and the entire db was sharded, so we had about 350 GB of data split in about 1000 databases. Want to know more about…

Madisoft speaks at AWS Summit

We are very proud to have been invited by Amazon at AWS Summit Milan 2017 as speakers. Our speech will focus on how we’re using AWS RDS to leverage our relation data. As you may already know, our software Nuvola is a data-heavy SaaS and we currently manage more than…

Symfony form pills – form type options

Today we are going to tackle a problem that I’ve recently faced with Symfony form types. Scenario: I need a choice type of a certain entity (Foo) with values that follows a certain logic

I’ve built up a FooChoiceType because I don’t want to inject fooAdapter in each form where I’m…

Symfony and multi-tenant apps: sharding

In part 1 of this series we stated that Nuvola is a multi-tenant software and using a single db for every tenant can quickly become a problem as your data grow. Let’s dig a bit about pros and cons about multi-tenant sharding. Pros Scalability Splitting each tenant data in its storage can easily…

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…

SymfonyDay Italy: videos

Hello everybody, we are pleased to announce that finally videos of SfDayIT2016 have been posted by GrUSP onto Vimeo channel. If you don’t know that we were selected as speakers for that event, well, now you are aware  😀 Below you can find Matteo’s talk about scaling with Symfony (we suggest to read…

Symfony form pills – Value object

Suppose that we have a value object or, more in general, an object where its data has been set in the constructor

and its FormType

Let’s assume that bar and foobar are taken from HTTP POST values (so, basically, we need those values to be posted in order to instantiate a Foo object). Question How can I create…

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…

1 2