---
title: "Ample vs Cloudflare Workers: which should host an app with a backend?"
description: "Ample and Cloudflare Workers (with Containers) compared on runtimes, databases, disks, spending limits and agent access, with sourced limits and migration steps."
canonical_url: "https://ample.computer/compare/cloudflare"
last_updated: "2026-10-14"
author: "Ample Computer"
---

# Ample vs Cloudflare Workers: which should host an app with a backend?

Ample and Cloudflare Workers (with Containers) compared on runtimes, databases, disks, spending limits and agent access, with sourced limits and migration steps.

## The short version

Cloudflare Workers is the better choice for JavaScript or TypeScript code that should run in 348 cities with no cold starts. Ample is the better choice for an ordinary server app (Django, Rails, Laravel, Express, FastAPI) with Postgres, MySQL, Redis or MongoDB, a disk and a hard spending cap, deployed by a coding agent.

## Who this is for

Workers run code in V8 isolates on Cloudflare's network, with their own runtime APIs; containers run behind a Worker. Ample runs your app as a normal process in its own VM. The choice is mostly about whether your code is written for the Workers runtime.

## Ample and Cloudflare Workers side by side

|  | Ample | Cloudflare Workers |
|---|---|---|
| Free plan | $0 with no card. 2 apps running at once, 2 vCPU, 2 GB memory, 3 GB volumes, 1 GB bucket storage, 2 buckets. | 100,000 requests a day with 10 ms of CPU per request; free allowances for KV, D1, Durable Objects and R2. Containers need the paid plan. |
| Paid plans | Custom plans priced on volume (number of apps, limits, spending caps). No public list price; see [pricing](https://ample.computer/pricing). | Workers Paid from $5 a month, including 10M requests and 30M CPU-ms; containers billed per second on top. |
| Spending limit | Free has a hard budget ($5 a month, $2 a day). At the cap, apps stop serving until the account is back under budget; nothing is deleted and nothing is billed. | None. Budget alerts are informational only; per-Worker CPU limits guard against runaway bills. |
| How apps run | Each app runs as a normal long-running process in its own microVM with its own kernel. | V8 isolates; Containers run in Firecracker microVMs controlled from a Worker. |
| Long-running servers and workers | Yes. Web services and background workers (`--kind worker`) run as ordinary processes. | Workers have no wall-clock limit for HTTP but 128 MB memory; containers stop after an idle timeout; WebSockets through Durable Objects. |
| Languages | Node, Python, Go, Ruby, PHP, Java, .NET, Elixir, Rust and static sites, detected from the repository. | JavaScript, TypeScript, Python Workers and Rust; any language in a container. |
| Docker images | No. Ample builds from source; Dockerfile build steps are not run. | Containers from a Dockerfile (paid plan), behind a Worker. |
| Databases | Managed Postgres, MySQL, Redis and MongoDB, each in its own microVM, created automatically when the code needs one. | D1 (SQLite), Durable Objects and KV; Postgres and MySQL through PlanetScale billed by Cloudflare. |
| Object storage | S3-compatible buckets, optionally published through Ample's CDN. | R2, S3-compatible, with free egress. |
| Persistent disk | Persistent volumes attached to the app. | None; container disk is ephemeral. |
| Custom domains and TLS | Custom domains with automatic TLS. | Custom domains need the domain's DNS on Cloudflare. |
| Regions | No region choice. | Runs across Cloudflare's network (348 cities). |
| Scheduled jobs | Scheduled jobs: a command or HTTP request on a cron schedule (any time zone) or interval, with retries and run history (`ample job create`). | Cron Triggers. |
| Agent access | CLI, remote MCP server (OAuth), A2A endpoint and agent skills. Deploys are synchronous and return JSON with an exit code: 0 live, 1 failed, 2 needs input. | Remote MCP servers covering the whole Cloudflare API, a Claude Code plugin and agent skills. |
| Agent signup without a person | Yes. `ample auth signup` creates an account with no browser, card or CAPTCHA; a person claims it by email within 48 hours. | Partly. `wrangler deploy --temporary` deploys a Worker for 60 minutes with no account, then a person claims it; containers and R2 are not included. |

Competitor facts come from that company's own pricing pages and documentation, checked on the date shown in the sources. Plans change; follow the source links for current numbers.

## Choose Ample when

- The app is a standard server that expects Node, Python, Ruby, PHP or Java APIs and a filesystem.
- You need Postgres, MySQL, Redis or MongoDB without another vendor.
- You want a hard spending cap.

## Choose Cloudflare Workers when

- The code is written for Workers and should run at the edge everywhere.
- You want R2 with free egress, KV and Durable Objects.
- Your DNS is already on Cloudflare.

## Move a Worker to Ample

1. **Wrap the fetch handler in a server.** Run the same code in a Node server (Hono and similar frameworks have Node adapters).

2. **Replace bindings.** D1 becomes Postgres or SQLite on a volume, KV becomes Redis or a table, Durable Objects become a database plus in-process state; R2 can stay, accessed with its S3 API.

3. **Plan and deploy.** Cron Triggers become Ample jobs declared under `[jobs.<name>]` in `ample.toml`.

   ```sh
   ample plan --write && ample up
   ```

4. **Point your domain.** Add the domain to the app, update DNS to the target Ample prints, and keep the old app running until the new one answers on the domain.

   ```sh
   ample domain add <app-name> www.example.com
   ```

## Frequently asked questions

### Can an agent deploy to Cloudflare without an account?

Yes, for 60 minutes: `wrangler deploy --temporary` creates a temporary account and returns a claim link. Ample's `ample auth signup` creates a real Free account an agent can keep using for 48 hours before a person claims it.

### Does Cloudflare have a spending cap?

No. Its budget alerts do not pause usage; per-Worker CPU limits are the protection it offers. Ample's Free plan stops at a hard budget.

## Sources

- [Ample pricing and plan limits](https://ample.computer/pricing) (checked 2026-10-14)
- [Ample agent instructions (AGENTS.md)](https://ample.computer/AGENTS.md) (checked 2026-10-14)
- [Workers pricing](https://developers.cloudflare.com/workers/platform/pricing/) (checked 2026-10-14)
- [Workers limits](https://developers.cloudflare.com/workers/platform/limits/) (checked 2026-10-14)
- [Cloudflare budget alerts](https://developers.cloudflare.com/billing/manage/budget-alerts/) (checked 2026-10-14)
- [How Workers works](https://developers.cloudflare.com/workers/reference/how-workers-works/) (checked 2026-10-14)
- [Workers languages](https://developers.cloudflare.com/workers/languages/) (checked 2026-10-14)
- [Cloudflare Containers](https://developers.cloudflare.com/containers/) (checked 2026-10-14)
- [Containers architecture](https://developers.cloudflare.com/containers/platform-details/architecture/) (checked 2026-10-14)
- [Durable Objects WebSockets](https://developers.cloudflare.com/durable-objects/best-practices/websockets/) (checked 2026-10-14)
- [PlanetScale databases billed by Cloudflare](https://developers.cloudflare.com/changelog/post/2026-06-18-planetscale-databases-cloudflare-billing/) (checked 2026-10-14)
- [Workers custom domains](https://developers.cloudflare.com/workers/configuration/routing/custom-domains/) (checked 2026-10-14)
- [Cloudflare MCP servers](https://developers.cloudflare.com/agents/model-context-protocol/mcp-servers-for-cloudflare/) (checked 2026-10-14)
- [Temporary accounts for agents](https://developers.cloudflare.com/changelog/post/2026-06-19-temporary-accounts-for-agents/) (checked 2026-10-14)

## Other comparisons

- [Ample vs Vercel: which is better for full-stack apps built by AI agents?](https://ample.computer/compare/vercel)
- [Ample vs Netlify: which should host an app with a backend?](https://ample.computer/compare/netlify)
- [Ample vs Google Cloud Run: which is simpler for an agent-built app?](https://ample.computer/compare/cloud-run)
