DeployManage, server management for any cloud
Connect your AWS account, pick a region and instance size, and DeployManage builds a Laravel ready EC2 server, then ships every push as an atomic release you can roll back. The servers stay in your AWS account, on your bill and your credits.
One-time demo, no credit card required.
AWS, Laravel Forge and Vapor figures read from each vendor's own pricing page in September 2026, US East (N. Virginia) on-demand rates.
| Server | Provider | Load |
|---|---|---|
|
web-01.prod
fsn1
|
Hetzner |
32%
|
|
web-02.prod
fsn1
|
Hetzner |
47%
|
|
db-01.prod
fra1
|
DigitalOcean |
18%
|
|
worker-01
eu-central-1
|
AWS |
61%
|
|
mail-01
gra
|
OVHcloud |
9%
|
There are four realistic ways to deploy Laravel to AWS: hand build an EC2 server, use Elastic Beanstalk, use Laravel Vapor on Lambda (existing accounts only, since Vapor no longer accepts new signups), or put a server panel on top of EC2. Elastic Beanstalk has no fee of its own, but queue workers, migrations and the document root all need platform hooks, and a load balanced environment is about $29 a month before real traffic. Vapor is $39 a month plus AWS usage and needs a NAT gateway of about $32 a month for a private database. A panel gives you plain EC2 with root SSH, Nginx, PHP-FPM, Redis and Supervisor installed for you, and atomic releases on every push. DeployManage does that on Growth at $129 a month for 10 servers and 10 members; Laravel Forge does it from $12 but runs zero downtime deploys on one server per site only.
Choose the region and instance type and DeployManage launches the instance, opens only ports 22, 80 and 443, then installs Nginx, PHP-FPM with the extensions Laravel needs, MySQL or Postgres, Redis, Composer and Supervisor. No AMI hunting and no Stack Overflow snippets pasted into a root shell.
Each deploy runs composer install, your build step and your migrations in a fresh release directory, then flips the current symlink in one step. Visitors never hit a half copied vendor folder. Available on Growth and Business.
Put two or more instances behind an Application Load Balancer and every push goes to all of them together. This is the case Forge's native zero downtime deploys do not cover and the reason Forge teams on AWS also pay for Envoyer.
Horizon or queue:work runs under Supervisor and restarts after each release. The Laravel scheduler gets its cron entry. On Elastic Beanstalk both of these need .platform hooks or a separate SQS worker environment.
The last good releases stay on the instance, so rolling back is another symlink flip rather than a new build. On Beanstalk a rollback redeploys an older application version to every instance.
Growth covers 10 members, so developers deploy without anyone sharing the AWS root login or an IAM user with EC2 full access. Every deploy, restart and SSH key change is recorded with who did it.
Give it programmatic access with EC2 and VPC permissions, then paste the access key into the panel. You can revoke it from IAM at any time.
Pick a region such as us-east-1 and a size such as t3.small or t3.medium. The stack is installed and the instance appears in your AWS console like any other.
Choose GitHub, GitLab or Bitbucket, the branch, and the deploy hooks. Paste the .env once; it is stored encrypted and written on each release.
Every push builds a new release, runs migrations and health checks, then switches traffic over. A failed build never replaces the live release.
Software prices from each vendor's pricing page and AWS rates for US East (N. Virginia) on-demand, read in September 2026. The AWS bill applies in every column; the rows show what sits on top of it. The honest headline: Elastic Beanstalk and hand built EC2 cost nothing extra, Forge is the cheapest panel, and DeployManage is the most expensive option that also gives a team seats, an audit log and multi server atomic releases on one plan.
swipe to see all columns →
| What you are comparing | DeployManage on EC2 | Elastic Beanstalk | Laravel Vapor | Laravel Forge on AWS | Hand built EC2 |
|---|---|---|---|---|---|
| What runs your code | EC2 instances you own | EC2 instances Beanstalk manages | AWS Lambda functions | EC2 instances you own | EC2 instances you own |
| Software fee | Starter $59/mo, Growth $129/mo, Business $299/mo | No charge, AWS resources only | $39/mo or $399/yr, Sandbox free for 1 project | Hobby $12, Growth $19, Business $39 per month | None |
| Root SSH on the server | Yes | Yes, but changes are lost when an instance is replaced | No servers to reach | Yes | Yes |
| Zero downtime release | Yes on Growth and Business, not on Starter | Yes with immutable or rolling with additional batch policies | Yes, new Lambda version | Yes, on one server per site | Only if you script it |
| Same release to several instances | Yes on Growth and Business | Yes | Not applicable | No, needs Envoyer at $10 to $50 more | Only if you script it |
| Laravel queue workers | Supervisor, restarted each release | Platform hooks or an SQS worker environment | SQS only | Supervisor | You configure Supervisor |
| Persistent local disk | Yes, EBS volume | Instance storage is replaced on redeploys that swap instances | No, /tmp only | Yes, EBS volume | Yes, EBS volume |
| Also manages servers on other clouds | DigitalOcean, Vultr, Hetzner, Linode, custom VPS | AWS only | AWS only | Several providers | No |
| Team seats included | 2 on Starter, 10 on Growth, unlimited on Business | Uses IAM | Per plan | Per plan | Uses IAM |
Security review, a signed AWS agreement, startup credits or a customer contract often decide the cloud before anyone picks a deploy tool. The team still wants a plain Laravel server with Redis and Horizon, not a Lambda rewrite. DeployManage keeps the servers in the company's own AWS account and gives each developer a login instead of an IAM key.
Most Laravel apps on Elastic Beanstalk end up with a folder of config files that set the document root, run migrations on the leader instance, install a cron entry and start a queue worker. Each platform update is a small risk. Moving to EC2 plus a panel replaces those files with settings the whole team can read.
Forge's native zero downtime deploys cover one server per site, so an app on two EC2 instances behind an Application Load Balancer still needs Envoyer and two subscriptions. Growth runs the release across up to 10 servers in one place.
Many US clients want the servers billed to their own AWS account. A panel with per team access lets the agency deploy into each client's account without holding their root credentials, and the audit log shows who changed what when a contract ends.
Launch an EC2 instance, install Nginx, PHP-FPM, Composer and a database, point the web root at the project's public folder, set up Supervisor for queue workers and a cron entry for the scheduler, then deploy from Git. That is the manual route that most of the tutorials ranking for this question walk through, and it works. The problem shows up on the second deploy: a plain git pull into the live directory leaves the site broken for the seconds that composer install and the migrations take, and nothing records what changed.
The same job with a panel takes four steps. You give DeployManage an IAM access key, it launches the instance and installs the stack, you connect the repository, and every push becomes an atomic zero downtime release that builds in its own directory before traffic moves to it. The instance is still yours: it shows up in the EC2 console, it is billed to your account, and you can SSH into it as root.
For most Laravel apps, EC2 is the best AWS service: it runs Laravel exactly as it runs on your laptop, with a writable disk, Redis, Horizon and the scheduler, and it costs about $21 a month for a t3.small with storage and a public IP. Elastic Beanstalk is a good fit if you want AWS to handle scaling groups and are comfortable maintaining platform hooks. Vapor on Lambda suits spiky, stateless traffic, but it has no persistent disk and pushes queues onto SQS.
| AWS option | Best for | Main catch |
|---|---|---|
| EC2 plus a panel | Teams that want plain Laravel with root access | You pay the panel fee |
| Hand built EC2 | One developer, one app | Every deploy and patch is manual |
| Elastic Beanstalk | Apps that need AWS managed autoscaling | Workers, cron and migrations need hooks |
| Laravel Vapor | Spiky traffic, stateless apps | No local disk, NAT gateway cost for a private database |
| ECS or Fargate | Teams already running containers | You build and maintain the images |
If you are weighing the first and third rows, the Elastic Beanstalk vs EC2 cost comparison works through four real bills line by line.
One Laravel app on a t3.small EC2 instance in us-east-1 costs about $21.23 a month on-demand: $15.18 for the instance, $2.40 for a 30 GB gp3 volume and $3.65 for the public IPv4 address. A t3.medium doubles the instance line to $30.37. An Application Load Balancer adds $16.43 a month in hourly charges plus capacity units, which put a small app at about $22. Data transfer out, RDS and backups come on top of all of these. If that app is small and sends a lot of traffic, compare it with a $12 Lightsail bundle first; our Lightsail vs EC2 pricing bills show when the bundle wins.
Here is what the full monthly bill looks like for three common setups, with each tool's fee added to the same AWS resources.
| Setup | AWS resources | Elastic Beanstalk | Forge on AWS | DeployManage |
|---|---|---|---|---|
| One app, one t3.small | $21.23 | $21.23 | $33.23 (Hobby) | $80.23 (Starter, no atomic releases) or $150.23 (Growth) |
| One app on two t3.medium behind an ALB | $95.11 | $95.11 | $124.11 (Growth $19 plus Envoyer $10) | $224.11 (Growth) |
| Ten client apps on four t3.medium | $145.68 | $212.30 (ten single instance t3.small environments) | $184.68 (Business) | $274.68 (Growth) |
The second row adds up as two t3.medium at $30.37, two 30 GB volumes at $2.40, two public IPs at $3.65 and one load balancer at about $22.27. Read the table honestly: Beanstalk and Forge are cheaper on software in every row. What the DeployManage fee buys is 10 seats with an audit log, the same atomic release across several instances without a second vendor, and one panel for AWS and any other cloud VPS you run.
Yes. Laravel Forge links to an AWS account through an IAM user with EC2 and VPC permissions and can create EC2 servers for you, from $12 a month on Hobby. Forge's own documentation lists AWS as a supported server provider. The limit that matters on AWS is the deploy, not the provisioning: Forge's native zero downtime deployments run on one server per site, cannot be switched on for an existing site, and cannot be used by a site that already deploys to several servers. That is why AWS teams with a load balancer usually add Envoyer from $10 a month. If that pairing is your situation, the Envoyer alternative page compares the two bills directly, and the Laravel Forge alternative page covers the wider shortlist.
Vapor is worth it when traffic is spiky and the app is already stateless; for a steady app with Horizon, file uploads to local disk or long running jobs, EC2 is simpler and usually cheaper. Vapor's Unlimited plan is $39 a month or $399 a year, AWS usage is billed separately, and Vapor's own docs note that a private database adds a NAT gateway billed at about $32 a month. Lambda gives you no persistent filesystem and runs queues through SQS, so apps built around Redis queues need changes before they move. Vapor also no longer accepts new signups, so for a new project it is off the list; existing accounts keep running, and Laravel points them toward Laravel Cloud. The Laravel Vapor alternative page covers that in detail.
Beanstalk's PHP platform will run a Laravel app, but four jobs that a server does by default need extra configuration. The document root has to be set to /public. Migrations need a container command marked leader only so they run once and not on every instance. The scheduler needs a cron entry written by a platform hook. And queue workers either run under a hook you maintain or move to a separate worker environment, which receives SQS messages over HTTP rather than reading from Redis.
None of that is hard the first time. It becomes a cost because it lives in config files that only one person on the team understands, and because instance replacement discards anything done by hand over SSH. Teams usually leave Beanstalk for plain EC2 when a platform update breaks one of those hooks during a release. For the day to day side of keeping workers alive after that move, see our guide to Laravel queue workers under Supervisor.
Buy it if your team has three or more developers deploying to AWS, runs anything behind a load balancer, or manages client apps in accounts it does not own. The value is in seats, the audit log, and one release process across every instance and every cloud.
Skip it if you are one developer with one app. Hand built EC2 or Forge Hobby at $12 will do the job for less, and we would rather say so here than lose your trust after the invoice. If you are not tied to AWS at all, a DigitalOcean or Hetzner server is cheaper for the same memory, and the Laravel deployment page covers those providers. If the requirement is Google rather than Amazon, the deploy Laravel to Google Cloud page prices Compute Engine and Cloud Run the same way.
Ready to stop managing servers by hand? DeployManage provisions, deploys and monitors your fleet from one dashboard.
Get startedLaunch an EC2 instance, install Nginx, PHP-FPM, Composer and a database, point the web root at the public folder, add Supervisor for queue workers and a cron entry for the scheduler, then deploy from Git. A panel such as DeployManage does the install for you and turns each push into an atomic release that can be rolled back.
EC2 suits most Laravel apps because it runs the framework unchanged, with a writable disk, Redis, Horizon and the scheduler, for about $21 a month on a t3.small. Elastic Beanstalk suits apps that need AWS managed autoscaling. Vapor on Lambda suits spiky, stateless traffic but has no persistent disk.
About $21.23 a month for one t3.small instance in us-east-1 with a 30 GB gp3 volume and a public IPv4 address, on-demand. Two t3.medium instances behind an Application Load Balancer come to about $95 a month. Database, backups and data transfer are extra, and any deploy tool's fee sits on top.
Elastic Beanstalk itself has no charge. You pay for the EC2 instances, storage, public IP addresses and load balancers it creates. AWS's own example puts a single instance environment at about $12 a month and one with a load balancer at about $29 a month, before real traffic.
Yes. Forge connects to AWS through an IAM user and creates EC2 servers, from $12 a month on Hobby. Its native zero downtime deploys run on one server per site, so an app on several instances behind a load balancer needs Envoyer from $10 a month or a panel that releases across servers.
Yes. You connect an IAM access key, and every instance DeployManage creates appears in your EC2 console and on your AWS bill, including any credits or savings plans you have. Revoke the key in IAM and DeployManage loses access immediately.
Growth at $129 a month or Business at $299. Starter at $59 provisions and manages up to 3 servers but does not include atomic releases, quick deploy on push or deploy recipes. Paying yearly costs half.
Connect an AWS access key, launch an instance and push your first atomic release. Every account starts with a one-time demo, no card required.