Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

YevC's avatar

Simplifying Hosting for 100+ Sites on same Laravel CMS - Multi-Tenant Strategy with Low-Maintenance Infrastructure?

We have around 100 websites that all run on the same simple Laravel-based CMS. Each site is a separate standalone instance with its own database. The websites are basic service business sites, averaging under 1,000 visitors/day each.

Current Setup:

  • Sites are distributed across 3 VPS servers.
  • Each has its own free SSL certificate, which requires manual renewal (a pain).
  • Sites send notification emails via SendGrid.
  • Weekly backups go to Amazon S3.
  • Akamai serves static snapshots of pages if the server is down - our last-resort failover layer.

This setup has become difficult to maintain - instability, performance inconsistency and high costs are ongoing issues.

Goals:

I want to simplify the entire setup while keeping costs reasonable and minimizing DevOps work. I’m a software engineer but relatively new to managing infrastructure at this scale. Here’s my rough plan:

  • Convert the CMS to support multi-tenancy with dynamic DB switching based on domain/subdomain.
  • Run a small number of CMS instances behind a load balancer.
  • Use a centralized Redis server for caching/session/queue.
  • Host all tenant databases on a dedicated DB server (e.g., MySQL/RDS).
  • Store media (logos, etc.) on S3 or similar.
  • Automate SSL cert renewal

Where I Need Help:

The big question is how to best implement this in a way that’s low-maintenance and cost-effective.

I’ve looked into solutions like Heroku, Laravel Vapor, AWS Elastic Beanstalk, Kubernetes, etc., but none seem super clear or easy to adopt without a steep DevOps learning curve.

I’ve used ploi.io with DigitalOcean for personal projects and really like the simplicity. I noticed Ploi now offers features like Redis, load balancers and managed DBs.

Is there a plug-and-play platform or combination of tools you’d recommend for this kind of Laravel multi-tenant deployment - ideally with built-in support for SSL, backups and scaling without requiring a full-time DevOps engineer?

Thanks in advance!

0 likes
2 replies
Tray2's avatar

Do they use a common web server, or do they each have their own?

How many request per second are we talking here, 100, 1K, 10K, 100K or more?

I would use a load balancer and depending on the number of requests determine the number of web servers needed.

I probably stick with a common database for all of them, and use the proper indexes and partitions where needed. This is of course if you have a common web server, if you store the apps on different web servers, I would probably go with dedicated database servers.

However running this on Laravel cloud would be quite easy, just spin up a new instance when needed.

https://cloud.laravel.com/

YevC's avatar

@Tray2

Do they use a common web server, or do they each have their own?

100 websites distributed over 3 VPS servers (think standard hosting, WHM/cPanel).

How many request per second are we talking here, 100, 1K, 10K, 100K or more?

Depending on the service area, each website can receive up to 1000 visitors a day - so maybe all combined I can't imagine they receive much more than 100 per second.

I would use a load balancer and depending on the number of requests determine the number of web servers needed.

All of the businesses are US based, so I figured getting 3 in different locations across the country would be perfect (for example, with DO there is New York, San Francisco, Atlanta).

I probably stick with a common database for all of them, and use the proper indexes and partitions where needed. This is of course if you have a common web server, if you store the apps on different web servers, I would probably go with dedicated database servers.

I'm not crazy about the idea of putting everything into a single database. I think having a dedicated database server with 100 databases would be better.

However running this on Laravel cloud would be quite easy, just spin up a new instance when needed.

I hear some people are surprised by how expensive it is. Any other suggestions for similar somewhat-plug-and-play solutions?

Please or to participate in this conversation.