Best PaaS providers: choose by workload and total cost
The best PaaS provider is the one that runs your complete workload at an acceptable cost and leaves your team with work it can manage. For an API, worker and database, compare Lizard, Railway and Render. For request-driven containers, evaluate Cloud Run. For frontend previews, include Vercel. For control over your own machines, consider a VPS with Coolify.
We publish this guide at Lizard and include competing options where they fit. Product and pricing references were checked on 9 September 2026. This is a comparison of documented capabilities, not a benchmark ranking.
What a PaaS should do for your team
A platform as a service builds or accepts your application, runs it, and provides tools for deployment and operation. The useful question is how much of your stack it covers.
A web service is only one part of many applications. You may also need a worker, scheduled jobs, a database, uploaded files, logs and a way to restore data. Compare that whole system. A low entry price for one web process does not price a complete SaaS application.
The line between PaaS and container as a service is not strict. Many products accept both source repositories and container images.
A shortlist by use case
| Provider | Start here when you need | Cost or operating question to answer |
|---|---|---|
| Lizard | Web services, workers and managed data services through one CLI | What CPU, memory, storage and traffic will all services consume? |
| Railway | A project workflow for several services and databases | How much resource use falls above the included plan credit? |
| Render | Web services and workers with published instance sizes | What does each instance, database and workspace feature add? |
| Google Cloud Run | HTTP containers, batch jobs or worker pools | Which resource type and billing mode fit each process? |
| Vercel | Frontend delivery, previews and request-driven compute | What are the runtime limits and account-specific usage terms? |
| Fly.io | Machines placed in the regions you choose | What do the selected machine, storage and network cost there? |
| DigitalOcean App Platform | Managed application deployment in a DigitalOcean account | Which app components and managed databases bill separately? |
| Northflank | Services, jobs and a configurable deployment workflow | What capacity will remain allocated? |
| Heroku | An existing Heroku workflow or integrations worth retaining | Does its current product direction meet your future needs? |
| Coolify on a VPS | A deployment interface on servers you control | Who handles the host, upgrades, backups and recovery? |
See the providers' own Railway, Render, Fly.io, DigitalOcean, Northflank and Coolify pages for plan details.
Compare billing models before prices
Measured resource use: Lizard uses billing only for active resources. Railway also meters actual resource use. These models still charge for memory or other resources a running service consumes while it waits. “No requests” does not automatically mean a zero bill.
Selected instance size: a fixed instance price makes the compute line easier to forecast. You pay for the chosen capacity during its billed lifetime. Other charges can still change the total.
Request-driven compute: charges depend on the provider's treatment of CPU, memory, requests and idle instances. Autoscaling can reduce idle compute, but a database, minimum instance or retained storage can continue to cost money.
Your own server: the VPS invoice buys capacity. Your time and any services for backup, monitoring or email remain part of the cost of running the application.
For detailed function-versus-process trade-offs, read our Vercel alternatives guide. It includes a build calculation and explains why credits and allowances must be applied once.
Build a budget for the whole application
Use one billing period and one workload for every candidate. Record these inputs before opening a calculator:
- Web and worker process counts, including replicas and staging services.
- CPU use, memory use or allocated capacity, according to the meter.
- Database size, connections, backups and restore requirements.
- Persistent files and object storage.
- Internet egress and traffic between regions or providers.
- Build duration, deploying seats, support and required add-ons.
For a plan whose fee becomes usage credit, the basic formula is plan fee + max(0, eligible usage − available credit) + charges outside that credit. Check eligibility in that provider's terms. Do not subtract an allowance from every service when the provider shares it across the account.
Run the same app on your shortlist and measure it. A hypothetical assumption such as “quarter of a CPU” is useful for a sensitivity check, but it does not prove that a provider will be cheaper for your app.
Where Lizard belongs on the shortlist
Lizard is worth testing when you want conventional services and workers, Managed Postgres, Managed Redis, and a CLI that an agent can use to deploy and inspect them.
The Lizard CLI supports structured output and ships with a version-matched guide. This helps an agent use the installed commands correctly. It does not remove the need to verify configuration, database access and the live application.
Choose another option when a specific region, contract, compliance requirement or feature is essential and you have not confirmed Lizard supports it. A platform comparison should make those gaps visible before you migrate.
Heroku and App Runner have different status changes
Heroku's February 2026 announcement describes a shift to sustaining engineering. It also says new and existing customers paying by credit card can continue using the service. Calling Heroku closed to all new customers is wrong. Heroku's announcement.
AWS App Runner stopped accepting new customers on 30 April 2026, while existing services remain operational. AWS points users toward ECS Express Mode. That is a different policy. AWS App Runner notice.
If either affects your plans, use the Heroku migration comparison or App Runner guide to assess the work involved.
A useful trial ends with a restore test
Deploy one representative service, connect its dependencies and run a real user flow. Check a failing build, a process restart and a database connection failure. Confirm where logs appear and how you would restore a backup.
Then compare the bill and the time spent operating the app. Choose the provider that meets those requirements with a process your team can repeat. Start with the deployment documentation if you want to include Lizard in that trial.
FAQ
Is a PaaS cheaper than a VPS? Not in every case. A VPS can have a lower infrastructure bill, while a PaaS can reduce server administration. Compare both the cash cost and the work your team must perform.
Does a PaaS include a database? Some providers offer databases in the same product, some integrate another vendor, and some require a separate cloud service. Check the database bill, backup policy and network path.
Can I run Celery or another queue worker? Check worker support explicitly. An HTTP function is not the same lifecycle as a process that polls a queue. Our Python hosting guide covers this distinction.
Should I choose by the lowest CPU rate? No. Compare the billing unit, measured or allocated capacity, plan terms and the whole application. Different meters can make similar rates produce different bills.
Build with AI. Ship with Lizard.
You don't need a platform team to go live. Your whole cloud, one CLI command away.
No credit card required