Software design and infrastructure
In here, I discuss my thoughts on building and running web applications. It's a pleasure to meet you.
Infrastructure management for several high-traffic PHP applications
This post describes how I manage the infrastructure for 50+ high-traffic PHP applications. Covering things like conatiners vs. serverless vs. servers, OPcache, zero-downtime deployments, and IaC.
Aug 8, 2023 13 min read
The six-dollar VPS
Most startups' and indie hackers' web apps can run on DigitalOcean's $6 VPS. It's inexpensive, dependable, and effective. In this post we will look into what you can get with a six-dollar VPS.
May 17, 2023 5 min read
Explaining the code on the "Go with PHP" website
In this post, I'm going to share with you a breakdown of how the code on gowithphp.com runs while refactoring it to make it more performant and less error prone.
May 15, 2023 9 min read
Go with PHP
If you haven't seen PHP code in a while, let me show you how it looks like in 2023. PHP has become faster, more secure, and more enjoyable to use. More importantly, development became more active. PHP is now a technology that can keep up.
May 10, 2023 2 min read
Asynchronous PHP — Multiprocessing, Multithreading & Coroutines
PHP code is blocking, meaning that one block of code will not run until the block prior to it has finished. In this post, we will look at our options for running PHP code asynchronously.
Mar 26, 2021 5 min read
Rationing Laravel's queue workers memory & CPU consumption
If you're running your queue workers on a server with limited resources, or a server that's also used to serve HTTP requests and do other tasks, it's important to ration the resource used by the workers. Let's see how we can do that.
Mar 10, 2021 2 min read
Common issues that cause Laravel's queue workers not to restart
If the worker doesn't exit after a restart signal and you checked its status, you'll find the uptime much longer. If that's the case, here are a couple of things to check.
Feb 19, 2021 2 min read
Avoiding memory leaks when running Laravel's queue workers
Avoiding memory leaks can be a bit challenging. Over time, some references will pile up in the server memory that won't be detected by PHP. In this post, we'll look at our options in dealing with this.
Sep 21, 2020 1 min read
Job batching in Laravel: How it works
Laravel 8 ships with a neat feature that allows us to dispatch a group of jobs to the queue to be executed in parallel. In this post, we're going to look into how this works under the hood.
Sep 7, 2020 3 min read
Queue workers: How they work
Understanding what happens under the hood when you run a queue worker.
Sep 7, 2020 9 min read
Explaining Laravel queue's configuration keys
In this series of video tweets, I've explained some of the most confusing Queue configuration keys
Sep 1, 2020 1 min read
How Laravel prevents your scheduled jobs from overlapping
Sometimes a scheduled job takes more time to run than what we initially expected. In most scenarios this is fine, but sometimes this should be prevented in order to guarantee correct data or prevent a high server resources consumption, so let's see how you can prevent such scenario in Laravel.
Apr 1, 2018 2 min read