Laravel Queues in Action (2nd edition) is now available!
I'm Mohamed Said, a full-stack web developer working at Laravel. In this publication, I share everything I know about Laravel's core, packages, and tools.
Browse the list of topics or check the latest posts from below.

Updated: May 25, 2020 — 1 min Read — #multi-tenancy #queues

Balancing job processing across different users/tenants

A look into preventing one tenant that's pushing too many jobs from delaying job processing of other tenants.

Updated: May 13, 2020 — 1 min Read

The Backend-for-frontend Pattern For Monoliths

In this post I discuss the backend-for-frontend pattern and how it can be used in a monolith application.

Updated: May 17, 2020 — 2 min Read — #multi-tenancy

Multi-tenancy in Laravel

I recently started a deep dive into multi-tenancy in Laravel, specifically the database-per-tenant approach, and created a video on how to achieve multi-tenancy without any packages...

Updated: Apr 20, 2020 — 1 min Read

Laravel session-based authentication, CSRF Protection, and CORS

Updated: Mar 9, 2020 — 1 min Read — #queues

Explaining Laravel Queue configuration keys

In this series of video tweets, I've explained some of the most confusing Queue configuration keys

🔥 Quick Dip — Updated: Feb 18, 2020

When does PHP call __destruct()?

🔥 Quick Dip — Updated: Feb 5, 2020

Running a task after the response is sent

🔥 Quick Dip — Updated: May 10, 2020

Encryption and Hashing

Laravel Queues Are Powerful!

"Laravel Queues in Action" is a premium eBook that helps you utilize the power of queues to make your applications faster and more reliable while reducing running costs.

Check it out

🔥 Quick Dip — Updated: Jan 31, 2020

Where to look when you see "Job has been attempted too many times or run too long"

Updated: Jan 30, 2020 — 1 min Read — #queues

A production-ready database queue driver for Laravel

In this post we'll explore why the database queue driver wasn't recommended and how we fixed that in a recent change to Laravel.

🔥 Quick Dip — Updated: Jan 27, 2020

Prevent your queued jobs from duplicating

🔥 Quick Dip — Updated: Jan 26, 2020

APP_KEY is a secret. Here's what it's used for & how you can rotate it

🔥 Quick Dip — Updated: Jan 23, 2020

Always set a timeout for Guzzle requests inside a queued job

Updated: Apr 13, 2020 — 4 min Read

Authentication and Laravel Airlock/Sanctum

Airlock is a lightweight authentication system for Laravel. You can use it to ensure requests to your API have a valid token or authentication session. In this post, we'll look into how it works and where it can be useful.

🔥 Quick Dip — Updated: Jan 2, 2020

Ensuring Horizon terminates gracefully

Updated: Aug 22, 2019 — 1 min Read — #vapor

Laravel Vapor: When to use a Load Balancer

Laravel Vapor configures your lambda function to use AWS's API Gateway which follows the pay-as-you-go model. However, there's an option to provision a load balancer and pay a flat rate. Let's take a look.

Updated: Aug 15, 2019 — 1 min Read — #vapor

To use Vapor or not to use it?

Answering some of the common questions I receive regarding Laravel Vapor.

Updated: Jan 21, 2020 — 4 min Read — #vapor

Cost & Performance optimization in Laravel Vapor

Let's discover how the cost of lambda executions in Laravel Vapor is calculated, and how we can keep it under control. Vapor takes care of a lot of things for you already, but there are things that you need to handle yourself.

Updated: Jul 25, 2019 — 3 min Read — #vapor

What is AWS Lambda, and how Laravel Vapor uses it

Vapor is a serverless deployment platform for Laravel powered by AWS Lambda. A lot is happening under the hood, in this post we're going to discuss the most interesting part about Vapor, the "serverless" part.

Updated: Apr 28, 2020 — 3 min Read — #databases #multi-tenancy

Multi-tenancy in Laravel: working with a database-per-tenant model.

In this article, we're going to explore one of the most confusing aspects of multi-tenancy in laravel applications; communicating with multiple databases.

This site was built using Wink. Follow the RSS Feed.