Fly.io runs anything you can describe in a Dockerfile, and leaves the rest to you. If your app runs on a framework Laravel Cloud supports, Cloud detects it, handles workers and scaling, and puts your whole stack to sleep when traffic stops.
Laravel Cloud builds, runs, and scales your app, queues, and databases. Connect your repo and deploy in under a minute. Cloud auto-detects your framework and configures the runtime to match. Built by the Laravel team, Cloud runs anything from a proof of concept to a production app.
Fly.io is a general-purpose cloud platform that runs your apps as Machines (virtual machines) built from a Dockerfile, on servers that Fly.io runs itself in 17 regions. It's a flexible choice for placing apps close to users around the world. Billing is usage-only, with no spending cap and no billing alerts, so a traffic spike reaches your invoice before you hear about it.
fly launch generates a Dockerfile, a fly.toml file, and a .fly folder of Nginx and PHP config and startup scripts that you maintain.“I'd been deploying my Laravel apps before then on a mix of different third-party services, which were fine. But there's more to figure out with third-party tools, other companies to deal with, and things to learn. So if I could have it all just work on an official platform, it would mean fewer headaches, and that's what Cloud has given me.”

John O'Nolan
Founder and CEO at Ghost
Autoscale without extra apps. Laravel Cloud adds replicas as traffic rises. Fly.io needs its autoscaler app for that.
Tailored to your framework. Laravel Cloud detects Laravel, Next.js, Django, Rails, and more, and configures the runtime to match.
Costs you can limit. Laravel Cloud alerts you, and it can stop compute at your limit. Fly.io has neither.
Both platforms get your app online fast. They differ in production, where your app needs queues, scheduled tasks, scaling, and someone to call when something breaks. The table compares Laravel Cloud vs. Fly.io for any app, and for Laravel hosting and deployment in particular.
A fully managed PaaS (platform as a service) tailored to run PHP, JavaScript, Go, Python, Ruby, and Rust apps, with autoscaling, databases, cache, object storage, and security built in. Built by the Laravel team.
A general-purpose cloud platform that runs apps as Machines, built from a Dockerfile. You get fine-grained control over each Machine, and you configure, connect, and scale each piece yourself.
A fully managed PaaS (platform as a service) tailored to run PHP, JavaScript, Go, Python, Ruby, and Rust apps, with autoscaling, databases, cache, object storage, and security built in. Built by the Laravel team.
PHP (Laravel, Symfony), JavaScript on Node.js, Bun, or Deno (Next.js, Nuxt, TanStack Start, Express, Hono), Go, Python (Django, FastAPI, Flask), Ruby (Rails), and Rust (axum, Actix Web, Rocket, warp). No Dockerfile needed. Quickstart and deploy guides available.
Pretty much any language, using a Dockerfile. Guides for Laravel, Rails, Django, Elixir, JavaScript, Rust, and Python, plus starter guides for Go, Ruby, .NET, and more.
PHP (Laravel, Symfony), JavaScript on Node.js, Bun, or Deno (Next.js, Nuxt, TanStack Start, Express, Hono), Go, Python (Django, FastAPI, Flask), Ruby (Rails), and Rust (axum, Actix Web, Rocket, warp). No Dockerfile needed. Quickstart and deploy guides available.
AWS, in 9 regions across the US, Canada, Europe, and Asia Pacific.
Fly.io's own servers, in 17 regions across North America, South America, Europe, Asia Pacific, and Africa.
AWS, in 9 regions across the US, Canada, Europe, and Asia Pacific.
Horizontal autoscaling based on live traffic, CPU, and memory, with zero downtime, on Growth and above.
Fly.io starts and stops Machines you've already created, based on concurrency limits you set. To create new Machines automatically, you deploy and run Fly.io's autoscaler as a separate app.
Horizontal autoscaling based on live traffic, CPU, and memory, with zero downtime, on Growth and above.
Your full stack (compute, databases, and cache) sleeps when idle. New Flex compute has a median wake time of under 500 ms, and scheduled tasks and queued jobs keep running while your app sleeps.
Machines can stop or suspend when idle. A stopped Machine takes about 2 seconds or more to start; a suspended one resumes in a few hundred milliseconds. Stopped Machines still bill for root filesystem storage.
Your full stack (compute, databases, and cache) sleeps when idle. New Flex compute has a median wake time of under 500 ms, and scheduled tasks and queued jobs keep running while your app sleeps.
Under 60 seconds from Git, with zero-downtime rollouts. Push-to-deploy CI/CD from GitHub, GitLab, and Bitbucket, with preview environments on every plan. Read about Cloud's architecture.
Deploys from the flyctl command line or a GitHub Actions workflow, with rolling, canary, blue-green, and immediate strategies. Canary and blue-green can't be used with volumes. Review apps run through a GitHub Action you set up.
Under 60 seconds from Git, with zero-downtime rollouts. Push-to-deploy CI/CD from GitHub, GitLab, and Bitbucket, with preview environments on every plan. Read about Cloud's architecture.
Managed MySQL, Serverless Postgres, and Valkey cache (Redis-compatible), run and backed up for you. On Laravel Private Cloud, you also get managed Amazon RDS (MySQL and Postgres) and ElastiCache (Valkey and Redis OSS), with multi-AZ deployments for high availability.
Managed Postgres starting at $38/month, with high availability inside one region. No managed MySQL: you run it yourself on a Machine with a volume. Redis comes through Upstash, billed on your Fly.io invoice.
Managed MySQL, Serverless Postgres, and Valkey cache (Redis-compatible), run and backed up for you. On Laravel Private Cloud, you also get managed Amazon RDS (MySQL and Postgres) and ElastiCache (Valkey and Redis OSS), with multi-AZ deployments for high availability.
Automatic daily backups for MySQL, point-in-time recovery for Serverless Postgres, and on-demand backups anytime.
Managed Postgres keeps backups for 10 days, with point-in-time restore. Volumes get daily snapshots, kept for 5 days by default.
Automatic daily backups for MySQL, point-in-time recovery for Serverless Postgres, and on-demand backups anytime.
Object storage (S3-compatible) included.
Object storage through Tigris, billed on your Fly.io invoice. Volumes live on one server, aren't replicated, and attach to one Machine at a time.
Object storage (S3-compatible) included.
Built-in Resend integration: connect once, verify domains in the dashboard, and Cloud fills in each environment's mail settings.
No built-in email. Fly.io recommends connecting a transactional email service like Postmark, Resend, or SendGrid yourself.
Built-in Resend integration: connect once, verify domains in the dashboard, and Cloud fills in each environment's mail settings.
SOC 2 Type 2 and ISO 27001. HIPAA mode on Laravel Private Cloud. See the Trust Center.
SOC 2 Type 2. A HIPAA BAA is part of a $99/month Compliance Package add-on. No ISO 27001.
SOC 2 Type 2 and ISO 27001. HIPAA mode on Laravel Private Cloud. See the Trust Center.
Role-based access control. Admin and Developer roles on Starter, plus Manager, Finance, and Viewer on Growth. Business and Enterprise add custom roles and access limited to specific apps or environments.
Two roles, Admin and Member. Members can deploy, delete apps, and manage secrets. For tighter control, Fly.io suggests separate organizations for each environment or read-only tokens.
Role-based access control. Admin and Developer roles on Starter, plus Manager, Finance, and Viewer on Growth. Business and Enterprise add custom roles and access limited to specific apps or environments.
Laravel Private Cloud: an isolated cluster with dedicated nodes, isolated VPCs with VPC peering, private networking, and managed Amazon RDS and ElastiCache. HIPAA mode is available.
No dedicated-cluster product. Custom plans offer committed spend, volume discounts, and dedicated capacity.
Laravel Private Cloud: an isolated cluster with dedicated nodes, isolated VPCs with VPC peering, private networking, and managed Amazon RDS and ElastiCache. HIPAA mode is available.
Laravel Cloud's Starter plan is $5/month and includes $5 in usage credit each month. Estimate your bill.
Pay as you go, with no plan fee.
Laravel Cloud's Starter plan is $5/month and includes $5 in usage credit each month. Estimate your bill.
Plan fee plus usage. Each compute size has a fixed monthly limit, so the most a running instance can cost is known up front.
Usage-only, billed per second for running Machines, plus storage, outbound data, IP addresses, and add-ons like Postgres, Redis, and object storage, each billed separately.
Plan fee plus usage. Each compute size has a fixed monthly limit, so the most a running instance can cost is known up front.
Spending limits and alerts that fire at 50%, 80%, and 90%, plus an optional hard cap on Starter, Growth, and Business that stops compute at the limit.
No spending cap and no billing alerts. You can prepay credits, starting at $25.
Spending limits and alerts that fire at 50%, 80%, and 90%, plus an optional hard cap on Starter, Growth, and Business that stops compute at the limit.
First month free on Starter, with $5 in usage credit.
$1 of credit, valid for 7 days.
First month free on Starter, with $5 in usage credit.
Searchable application and access logs, infrastructure metrics, and request metrics by page for traffic, errors, and slow responses. Email and Slack alerts for high CPU or RAM, crashes, and database and cache health. Optional Laravel Nightwatch for Laravel apps, and log drains to Amazon S3 on Enterprise.
Built-in Prometheus metrics with a managed Grafana dashboard, kept for about 15 days. Logs are searchable for 7 days. No built-in alerting on metrics.
Searchable application and access logs, infrastructure metrics, and request metrics by page for traffic, errors, and slow responses. Email and Slack alerts for high CPU or RAM, crashes, and database and cache health. Optional Laravel Nightwatch for Laravel apps, and log drains to Amazon S3 on Enterprise.
Email and in-app chat support on every plan. Business and Enterprise can add Advanced support for priority help and an uptime SLA.
Community forum for every account. Paid support starts at $29/month (36-hour first response) or $199/month (24-hour). An uptime SLA starts with Enterprise support at $2,500+/month.
Email and in-app chat support on every plan. Business and Enterprise can add Advanced support for priority help and an uptime SLA.
Laravel features like queues, the scheduler, and Nightwatch monitoring work with no extra setup. Maintained by the Laravel team.
General-purpose platform with Laravel docs and a Laravel launcher.
Laravel features like queues, the scheduler, and Nightwatch monitoring work with no extra setup. Maintained by the Laravel team.
One app with queues and the scheduler built in, and no Dockerfile to write.
fly launch generates a Dockerfile (Nginx, PHP-FPM, and Supervisor), a fly.toml file, and a .fly folder of config and startup scripts. They're yours to maintain as Laravel and PHP versions change.
One app with queues and the scheduler built in, and no Dockerfile to write.
Managed queues with autoscaling background workers, a jobs dashboard, and failed-job retries. Learn how managed queues work.
A worker process group running php artisan queue:listen on its own Machines. You scale it by hand with fly scale count, and worker Machines don't support TCP health checks.
Managed queues with autoscaling background workers, a jobs dashboard, and failed-job retries. Learn how managed queues work.
One toggle runs the scheduler every minute.
A cron process group running the cron daemon on its own Machines. Fly.io advises running only one copy, so each task doesn't fire twice.
One toggle runs the scheduler every minute.
Queue workers get up to 90 seconds (Flex) or one hour (Pro) to finish the current job.
A stopping Machine gets 5 seconds by default before it's shut down. You can raise this to 5 minutes in fly.toml.
Queue workers get up to 90 seconds (Flex) or one hour (Pro) to finish the current job.
Managed Laravel MySQL, with automatic backups.
No managed MySQL; only managed Postgres is available. You run MySQL yourself on a Machine with a volume, or use an outside provider.
Managed Laravel MySQL, with automatic backups.
One-click Laravel Nightwatch integration for slow queries, jobs, and exceptions
No Laravel-specific monitoring built in
One-click Laravel Nightwatch integration for slow queries, jobs, and exceptions

Choose Laravel Cloud if you want a production application running fast, without maintaining Dockerfiles or scaling setups. Your Next.js frontend, Rust or Go service, Python API, or Rails app can all run on the same platform. Built for ambitious builders where uptime matters, Laravel Cloud handles autoscaling, databases, cache, queues, scheduled tasks, and more, with real support on every plan.
Choose Fly.io if you need to run Machines in many regions close to your users, want low-level control over your containers and networking, or need a language Laravel Cloud doesn't support yet. In production, the Dockerfile, worker and cron Machines, and autoscaling are yours to build and maintain.
Start in Cloud with $5 in free usage credit.

“I have never seen a website accomplishing something so complicated, so fast, so simple, so beautifully.”

“Cloud is amazing value if you just need a small server and a PostgreSQL DB. I only use $2 a month running my badge project. We've never had it this good.”

“For my small project I needed all: DB, cache, storage, and WebSockets — and everything worked on the first try with single clicks.”

“Setting up resources on Laravel Cloud is like playing Lego blocks, you can just connect things. We used to install Nginx and MySQL manually on a server and get permission denied.”

“Cloud is absolutely goated. Smoothest infra DX I've ever experienced — everything I needed was right where it was supposed to be.”

“I was stuck on a pretty complex problem, and the Laravel Cloud support team went out of their way to deep dive into it with me. The bug was my own doing, but their tips helped me find it.”

“Charging me $5 for my 0 user PHP apps? Yes, please, thank you very much. ‘Unlimited applications’ is a goated move from Laravel.”

“Loving the new managed queues on Laravel Cloud. Offloading the workload from the app server and allowing it to sleep is genius.”

“The preview environments in Laravel Cloud have been amazing to work with. They work flawlessly, and with the fast hibernation, we barely pay for it even though we have over 15 preview environments.”

“Just deployed an app using Laravel Cloud and OMG, the deployment experience was incredibly fast and painless.”

“Laravel Cloud is the closest thing to magic I've experienced in a hosting provider. It's really the Laravel of Cloud.”

“Just shipped a huge update to my Laravel learning platform, running smoothly on Laravel Cloud. Deploys, SSL, env vars — everything just works. No DevOps headaches.”

“Any AI agent + Laravel. You can deploy this on Laravel Cloud in a few clicks.”

“Showed my friend Laravel and Laravel Cloud, and he was already deploying his first app in less than a month. He was shocked by how easy it is and how tight the ecosystem is.”

“Laravel Boost + Laravel Cloud CLI + Stripe CLI. You can pretty much build a full product without seeing a line of code.”

“I've switched all personal projects from DigitalOcean and love Laravel Cloud!”

“Laravel Cloud just keeps getting better. Having web analytics directly in the dashboard is a really nice addition. Requests, visits, views, top pages, status codes — all in one place. No extra analytics setup needed.”

Laravel Cloud is the better fit for most production Laravel apps, because queues, the scheduler, autoscaling, and managed databases work without extra setup. Fly.io can host Laravel, but you maintain the Dockerfile and run separate Machines for workers and cron. Fly.io suits teams that need apps running in many regions at once.
Laravel Cloud is a fully managed platform that deploys PHP, Node.js, Python, Ruby, Go, and Rust apps from Git, with autoscaling and databases built in. Spending limits keep your costs in check for predictable billing, while scale to zero ensures you’re not paying for resources you’re not using. Fly.io runs apps as Machines built from a Dockerfile, on its own servers in 17 regions. Fly.io gives you low-level control, and you configure, connect, and scale each piece yourself.
Yes, Laravel Cloud hosts Next.js, Nuxt, Express, Django, FastAPI, Flask, Rails, Go, and Rust apps, alongside Laravel and Symfony. Laravel Cloud detects the runtime from your repository, so you don't write a Dockerfile. Apps on every runtime can use managed databases, cache, object storage, custom domains, and scale to zero.
Fly.io deploys Laravel with fly launch, which generates a Dockerfile, a fly.toml file, and a .fly folder that you maintain. Queue workers and the scheduler run as separate process groups on their own Machines, and you scale them by hand. On Laravel Cloud, you connect your repo, add a managed queue, and turn on the scheduler.
Fly.io starts and stops Machines you've already created, but it doesn't create new Machines on its own. To add Machines automatically, you deploy Fly.io's autoscaler as a separate app. Laravel Cloud autoscales on the Growth plan and above, adding and removing replicas based on live traffic, CPU, and memory.
Laravel Cloud runs each app in one of 9 AWS regions across the US, Canada, Europe, and Asia Pacific. Fly.io can run Machines in several of its 17 regions at once, so it suits apps that need many regions at the same time. Laravel Cloud is simpler when you want managed queues, databases, and autoscaling in one region.
Laravel Cloud's Starter plan costs $5/month with $5 in monthly usage credit, and the first month is free. Fly.io has no plan fee and bills each Machine, volume, IP address, and add-on separately. Laravel Cloud has spending alerts that fire at 50%, 80%, and 90%, plus an optional hard cap on Starter, Growth, and Business. Fly.io has no spending cap or billing alerts.
You can move any app from Fly.io to Laravel Cloud by connecting its Git repository and deploying. Laravel Cloud detects the runtime, so you can delete the Dockerfile, fly.toml, and .fly folder. Move your data into a Laravel Cloud database and copy files to Laravel Cloud object storage. Laravel apps can replace process groups with a managed queue.