30 Comments

This is the best article I’ve seen in a while, as a software developer looking to level up my systemization skills, this article have answered and confirmed a lot of questions I had in mind when it comes to designing systems

Expand full comment

Thank you very much! It's so good to hear that.

Check out this article too. It's about designing an analytics platform: https://computersciencesimplified.substack.com/p/designing-an-analytics-platform

Expand full comment

Hi Martin, thank you very much for the content, I would like to know a little more about that object storage layer, some use cases for example.

Expand full comment

Hey Carlos!

Well, you can imagine an object storage something like "Google Drive" It's a centralized storage where you can put files and folders of any kind.

If you're using Laravel, it's like your local storage folder. But it's available by all servers since it's hosted by Amazon or some other cloud provider.

Use cases: basically any project that needs to store files. Profile pictures of users, images or videos of social network posts, etc. Any file can be uploaded to S3. You need this if you have more than one server.

Expand full comment

I understand it, I thought it was a little more oriented towards a "caching" layer between the API and the DB, sometimes we see strong requests with complicated queries.

Expand full comment

No. For that, you can use a simple cache such as Redis. You can store the result of a long-running query for a period of time.

Expand full comment

Thank you for sharing. I’ve understood most of the methods mentioned in your article, but have only implemented some of them in my projects. It becomes more complicated when adding multitenancy into the system design, especially when we are talking about database control being on the cloud or on the ‘client side.’ Looking forward to your upcoming article on microservices.

Expand full comment

Thank you very much! More content is coming about microservices. And yeah, multitenancy can be complicated, I'm trying to cover it as well in the future.

Expand full comment

great article

Expand full comment

Wow. This is so simple to read and remember. Thanks a lot.

Expand full comment

Thank you very much! I think lots of system design articles are overcomplicated so I wanted to write something simple but useful.

Expand full comment

Thanks for this!

Expand full comment

This is truly the best 101 article I found regarding system design. I've been trying to read about system design for a while, but most of the content I've found were overwhelming and frustrating. This has been eye opening, thank you very much.

Expand full comment

wow, thank you very much! It's good to hear that because that was my exact goal with this article. Simple and easy to understand :)

Expand full comment

You've achieved the goal then. Hehe

Expand full comment

Super amazing article! Thank you for breaking it down in a very easy to understand manner.

Expand full comment

Thank you very much, I'm glad you liked it! I published some other system design-related posts. Maybe they interest you as well.

Designing an analytics platform: https://computersciencesimplified.substack.com/p/designing-an-analytics-platform

Load balancers 101: https://computersciencesimplified.substack.com/p/designing-an-analytics-platform

Expand full comment

++ System design with 100+ case studies - https://github.com/Coder-World04/Complete-System-Design

Expand full comment

Architecture evolution 101!

Simply put, Martin.

Expand full comment

Thank you! I tried to simplify everything in an easy-to-read article

Expand full comment

Great content

Expand full comment

Thank you! 🙏

Expand full comment

🔥 Another system design-related post came out yesterday:

https://computersciencesimplified.substack.com/p/designing-an-analytics-platform

Expand full comment

Since this post had some decent engagement (thank you all!), next week I'm going to publish another system design-related post.

Expand full comment

Thanks for your post! As a product manager working on GenAI product, I think system design definitely impact the scalability of the product.

Expand full comment

Thanks for the great article! Would be interested to learn more on how to scale worker servers horizontally while using Laravel Horizon. Current assumption is that Horizon doesn't support that. Or maybe it does?

Expand full comment

Sorry, I don't have production experience with Horizon. But I believe horizontally scaling workers has nothing to do with it. Right now, you have one worker server and you start php artisan horizon, right? If you want to scale, you can have 10 servers and run php artisan horizon on each of them.

Expand full comment

As always great content Martin. How to avoid database bottleneck specially when you have write heavy multiple jobs to run in parallel. Only Having multiple worker is not going to help, it can bottleneck the database

Expand full comment