Cavalcantefilipe's avatar

Best place to put a Laravel into production.

I need to publish a Laravel application that I believe will have peaks of up to 200 users and many database calls.

What is the best place to deploy it considering cost and performance? AWS?

It's for a mobile app.

1 like
4 replies
LaryAI's avatar
Level 58

The "best" place to deploy a Laravel application depends on your budget, technical expertise, and preference for control vs. convenience. Here are your main options, each with pros and cons:

1. Managed Laravel Hosting (Easiest)

  • Services like Laravel Forge, Ploi.io, or Vapor are designed for Laravel and handle provisioning, deployments, SSL, etc.
  • They typically provision servers on AWS, DigitalOcean, Linode, or other providers for you.
  • Pros: Great developer experience, quick to set up, less DevOps overhead.
  • Cons: Monthly fee plus underlying server cost.

2. VPS Providers (Most Control)

  • DigitalOcean, Linode, Vultr offer VPSs (Virtual Private Servers) at low cost.
  • With a 2–4GB RAM server (starting ~$10/month) you can comfortably serve 200 peak users if code and DB are efficient.
  • You can use Forge/Ploi to help manage these, or do it manually (requires more Linux/server knowledge).
  • Pros: Good performance/price, full control.
  • Cons: Server management and security is your responsibility.

3. AWS/GCP/Azure (Enterprise Grade)

  • AWS EC2, RDS (for DB), S3 (file storage), and other services provide full flexibility and scalability.
  • Pros: Extremely scalable and reliable, many managed services.
  • Cons: Can be expensive and complex to configure/manage for small-to-medium projects.

4. Laravel Vapor (Serverless, Scalable)

  • Laravel Vapor is a serverless platform for Laravel, built on AWS Lambda.
  • Pros: Seamless scaling, no server management.
  • Cons: Higher monthly cost (+ you pay AWS), cold start delays can affect some workloads, more suited for stateless apps and APIs.

Recommendation for Your Use Case (200 Users/Peaks)

  • Comfortable with DevOps? Use a VPS (DigitalOcean, Linode) and manage yourself or with Forge/Ploi. 2GB+ RAM, managed DB if possible.
  • Minimal server management? Use Forge or Ploi to deploy to DigitalOcean, Linode, or AWS.
  • Want full "no server" scaling? Consider Laravel Vapor—but only if you expect unpredictable surges and can justify higher cost/complexity.

AWS is great but can get pricey and complex unless you need their scale. For 200 max users, a single $10–$20/month VPS plus managed DB is typically enough. Use Forge/Ploi for easier deployments.

Example: Deploying with Forge to DigitalOcean

  1. Sign up for Laravel Forge and connect a DigitalOcean account.
  2. Create a new server (2–4GB RAM).
  3. Deploy your Laravel app (GitHub/Bitbucket/GitLab).
  4. Set up SSL, Nginx, queue workers, etc. via Forge dashboard.
  5. Optionally, use managed databases (offered by DigitalOcean).

Summary Table:

Option Cost Ease Scaling Recommended For
Forge+VPS (DO/Linode) $10-30/mo Easy Limited Most small/med projects
AWS (EC2/RDS) $30+/mo Hard Highly Enterprise needs
Laravel Vapor $39+/mo Easy Highly High scale, serverless

Bottom Line:
For ~200 active users and good performance/cost, Forge or Ploi with a DigitalOcean/Linode server is ideal. Start there, and you can always scale up or migrate to AWS/Vapor if needed.

If you need deployment scripts or have more questions about the stack, let me know!

1 like
JussiMannisto's avatar

The number of concurrent users isn't the best metric. More relevant are the number of requests per second your app needs to handle, and the nature and frequency of database queries. If you avoid major bugs (like N+1 queries), query against indexes, and cache results whenever possible, you don't need very much for 200 users. I'd start with a cheap virtual server — assuming you're comfortable with Linux*. You can always upgrade later.

If you don't already, I recommend using Redis for cache, queues, and possibly sessions. I also strongly recommend Pulse for monitoring, so you'll recognize any performance bottlenecks early.

* Laravel Forge might help if you're not experienced with Linux, but I've never used it myseflf.

Snapey's avatar

Laravel cloud will scale automatically if you are worried about performance. I would certainly consider this ahead of trying to implement yourself on AWS if this is your first rodeo.

But, as @jussimannisto says, concurrent users is no measure of load if all the users do us look at the screen and poke at it every few minutes.

The time it takes to service each request is an important consideration.

I mostly use small VPS droplets from Digital Ocean or Hetzner. Laravel Forge is a serious option if you are not familiar with provisioning and hardening a server. You will be quite surprised how much load a 2cpu, 4Gb server will get you.

DigitalArtisan's avatar

The best place to deploy your application depends on several factors:

  • Budget
  • Your experience, knowledge, and comfort level with hosting and deploying Laravel applications
  • Your test benchmarks and performance results

To move forward, here are a few questions for you:

  1. What is your budget?
  2. What is your experience / comfort level with hosting and deploying Laravel apps?
  3. What do your performance and load-testing benchmarks show so far?

Please or to participate in this conversation.