A decider story
One application.
Three good homes.
The same Laravel code runs on Laravel Cloud, on Forge with a Laravel VPS, and on Vapor for the teams already there. All three are Laravel's own. What changes between them is not the code but who runs the machinery underneath it.
The idea in one line The code stays. The choice is who operates the rest.
The contract boardArtisan Supply Co · one codebase
Mapped against each platform's docs, 11 August 2026
Three homes · one codebase
What stays the same
The contracts travel.
The fulfilment changes.
Queues, broadcasts, caches, disks and the database are framework contracts. The application calls them the same way in every home. Each home fulfils them differently, and that difference is the whole decision.
ShouldQueue jobs, transactions, policies, the human approval step, the held outbox, Flysystem writes.
QUEUE_CONNECTION, CACHE_STORE, BROADCAST_CONNECTION and the image disk decide where each contract lands.
Process supervision, scaling, patching, TLS and the socket server move between you and the platform.
Ben's recommendation for this application, from the Artisan Supply Co comparison.
Source: Artisan Supply Co, THREE-HOMES.md (Ben Seymour, platform claims checked against official docs 11 August 2026). A design comparison, not three live deployments.
The three homes
Each one is right
for someone.
Choose a home by what the team wants to operate. Each panel says what the platform runs, what stays with you, and when to choose it.
Laravel Cloud
Laravel's managed platform. Push a branch; Cloud builds, deploys with no downtime, and attaches databases, caches, queues, storage and WebSockets with their credentials injected. A Next.js front end can sit beside the Laravel app in the same repository.
- Runtime
- Flex or Pro replicas, autoscaled; Flex can sleep to zero; Octane is a toggle
- Cloud operates
- Compute replacement, resource attachment, the socket servers, TLS, restarts after deploy
- You operate
- Queue sizing, retries, retention, access policy, spending limits
- Choose this when
- The team would rather spend its time on the application than on servers
- Watch for
- No permanent local disk: files go to object storage
Cloud sheet; THREE-HOMES; Monitor 563; Cloud docs: compute, queues.
Forge with Laravel VPS
Forge provisions and manages servers that are yours, with root access. Laravel VPS is Forge's own provider: an Ubuntu machine on DigitalOcean infrastructure, ready in under ten seconds, on one invoice. Forge also provisions in your own DigitalOcean, Hetzner or AWS account.
- Runtime
- Nginx and PHP-FPM on long-lived servers; Horizon, Reverb and the scheduler as supervised processes
- Forge operates
- Provisioning, deploy scripts, zero-downtime releases for new sites, SSL, health checks from three regions
- You operate
- OS patching, capacity, firewall, backups, high availability, how roles split across servers
- Choose this when
- The team wants its servers: root, a fixed topology, its own cloud account or a predictable monthly box
- Watch for
- Zero-downtime is a choice at site creation; multi-server zero-downtime is Envoyer's job
Forge and VPS sheets; Monitor 630 (new Forge and Laravel VPS, 1 October 2025), 655.
Vapor, for existing customers
Vapor runs Laravel on AWS Lambda in the customer's own AWS account, so the bill and the data stay with AWS. It is closed to new sign-ups since 23 September 2026 and run for existing customers indefinitely, with fixes and updates.
- Runtime
- Lambda behind API Gateway; SQS for queues; S3 and CloudFront for assets
- Vapor operates
- Orchestrating Lambda, queues and assets in your AWS account
- You operate
- Memory, timeouts, concurrency, database connections; an external socket service
- Choose this when
- You already run a Vapor app that serves you well; there is no deadline to move
- Watch for
- No Horizon; jobs bounded by Lambda's fifteen minutes; the Nightwatch agent needs long-running compute
Vapor sheet; Monitor 227 (Taylor Otwell, 23 September 2026); THREE-HOMES.
For new projects Laravel recommends Cloud; Taylor Otwell calls it an evolution of what he learned building Vapor (Monitor 227). Laravel VPS starts at $6 a month, per Laravel's launch post (Monitor 630).
One approval, three homes
Follow one message
through each home.
A person approves
The badge updates live
Two hundred jobs arrive at once
The AI edits a product image
A trace appears in Nightwatch
Source: THREE-HOMES.md, "Capability walkthrough across the homes". On Vapor the visible differences are the queue storm (no Horizon), the live badge (no resident socket server) and the Nightwatch agent, which needs long-running compute. The domain is the same in all three.
Choose this when
Three homes.
Three honest answers.
None of these is the wrong answer for every team. Each is the right answer for a team that wants to operate a particular amount.
Least to run
< 500 mswake from sleep on new Flex sizes, so idle environments cost little- Choose when the team wants Laravel's contracts as attached resources
- Choose when queues, sockets and Octane should be toggles, not projects
- Private Cloud when a dedicated cluster is required
Most control
< 10 sto provision a Laravel VPS, from $6 a month- Choose when the team wants root and its own topology
- Choose when servers in your own cloud account matter
- Envoyer alongside for zero-downtime across several servers
Already there
No deadlinefor existing customers; closed to new sign-ups- Choose to stay when a Lambda workload serves you well
- Plan a move when jobs, sockets or Horizon start to matter
- The Vapor to Cloud story has four teams' figures
Choose who runs the machinery.
The code comes with you.
Three questions before choosing: does the team want root on a server; which of Horizon, Reverb and long jobs does the application depend on; and is there a Vapor estate that is working well and need not move yet.