Engineering at Eneba
Thoughts on PHP, Symfony, AWS, and the systems we build at scale.
Migrating from MySQL to ClickHouse: simplifying our analytics pipeline
For a long time, we used MySQL to power our publisher analytics. Like many teams, we built OLAP-style cube tables — each designed to answer a specific question: "How many installs per campaign?&q...
SymfonySymfony setter injection
The Symfony documentation explains four ways to inject dependencies to your service. In short, you can use the constructor, inject directly to a public property or you can use a two flavours of inject...
Symfony · Runtime · BrefPerformance test: Bref FPM vs Bref + Runtime component
The Symfony Runtime component is AWESOME. I did a talk about it at Symfony World 2021 where I explain how and why it works. I spent a lot of time on the content and the recording, one can still watch ...
Symfony · Messenger · LockSymfony Lock and Messenger component
The lock component have saved me so many times. It helps me with race conditions, it makes my code simpler and my application more reliable. I'm using it to fix all kinds of problems and I've noticed ...
One year of AsyncAws
It has been one year since Jérémy Derussé and I started to work on a new API client for AWS. At the time we could never have imagined how popular it would be. In this first year we had over 1.5 millio...
Symfony · MessengerFinding the correct values for Symfony Messenger failure strategy
Symfony Messenger is great. It has so many features and is super flexible. I want to highlight one of these features in this small post: Failures and retries. Over in the Symfony docs failures and ret...
PHP · BlackfireInstalling Blackfire on multiple servers
We have a lot of applications running on both EC2 machines and a lot of Lambda functions. Most of them are small microservice applications that are rarely updated with new features. We've installed an...
PHP · SymfonyPHP 7.4 preloading benchmark
Preloading arrived to PHP 7.4.0 in November 2019. I was super excited about this and I started to try it out. But I quickly noticed that it was a little buggy when you started with a "real world&...
Serverless · PerformanceOptimize images on S3 with AWS Lambda and Serverless
An image is uploaded on S3, that triggers a lambda that optimize that image and put it back. How hard can that be? It was way more tricky than I thought, especially since Im not used to the Node ecosy...