Cloudflare Containers GA VPS obsolete 2026, infrastructure on AutoKaam
FIELD NOTE · COVER · MAY 15, 2026 · ISSUE LEAD
FIELD NOTE·May 15, 2026·7 MIN

Cloudflare Containers Hit GA, Indian VPS Bills Still Win

The Workers platform now runs full Docker images, but at standard-3 prices a Bengaluru SaaS pays 14x more than an Oracle ARM box.

By·
FIELD NOTEMAY 15, 2026 · AUTOKAAM EDITORIAL

Containers are billed for every 10ms that they are actively running. Idle containers only pay for memory and disk.

Cloudflare

What AutoKaam Thinks
  • GA on 13 April 2026 was real. Active-CPU billing is real. 15,000 concurrent lite instances per account is real. None of it makes a CF Container cheaper than an Oracle ARM Always Free VM for an alwa…
  • A standard-3 instance running 24x7 lands at roughly USD 158 per month before egress. The same workload on a paid Hetzner CAX31 is EUR 15.99. On Oracle Ampere A1 Always Free it is zero.
  • Cold starts sit in the one to three second band. Acceptable for a webhook fanout. Unacceptable as a primary API surface for a paying SaaS audience in Bengaluru.
  • Move the spiky 10 percent of your workload, not the boring 90. Hybrid wins. Full migration is a vanity move.
158
USD/month for standard-3 always-on
CLOUDFLARE + INDIAN OPERATORS
Named stake

The founder runs a 14-person field-ops SaaS out of an HSR Layout co-working desk. Last Wednesday he stared at his Hetzner invoice. INR 2,400 every month since November. Next.js, PocketBase, cron worker, Redis cache, all on one CAX21 box.

He had just read the Cloudflare Agents Week recap. Containers hit GA on 13 April 2026. Region:Earth. Pay only when the CPU burns cycles. By 11:47 he had a wrangler config and a question. Was the Hetzner bill obsolete?

It is not. Here is the math, the carve-outs, and the migration debt nobody is writing down.

What Actually Shipped at GA

Cloudflare put Containers into public beta in late June 2025. The nine-month run-up shipped four things that mattered for GA on 13 April 2026.

Active-CPU pricing. Billed in 10 ms slices, only when the CPU burns cycles. Idle containers pay only for memory and disk. Genuinely different from a VPS where CPU is paid for whether it runs or not.

Higher resource ceilings. Standard-4 tops at 4 vCPU, 12 GiB RAM, 20 GB disk. Covers most Node, Python, Go workloads small teams ship. JVM-heavy stacks still out of bounds.

Service bindings by hostname, Docker Hub support, SSH for debugging, persistent code interpreters under the Sandbox SDK. Platform is real, not a demo.

What did not ship: no built-in autoscaling, no load balancing primitives, no GPU, no persistent disk, no swap, no guaranteed uptime on any single instance. Documented constraints in the Cloudflare FAQ, not opinions.

The Pricing Math, in Rupees

Here is the per-second rate sheet straight off the Cloudflare Containers pricing page.

Resource Rate Workers Paid Included
vCPU USD 0.000020 per vCPU-second 375 vCPU-minutes/month
Memory USD 0.0000025 per GiB-second 25 GiB-hours/month
Disk USD 0.00000007 per GB-second 200 GB-hours/month
Egress (NA, EU) USD 0.025 per GB 1 TB/month
Egress (other) USD 0.04 per GB 500 GB/month

The Workers Paid plan is USD 5 per month and is the floor. Egress from India falls under the "other" tier at USD 0.04 per gigabyte after the included 500 GB.

Convert an always-on workload to a monthly bill. A standard-3 instance, 2 vCPU and 6 GiB RAM, running every second of a 730-hour month, lands near USD 158 before egress. Roughly INR 13,200. The Hacker News thread on the same calculation pegged it at "USD 51.84 vCPU plus USD 103.68 memory plus USD 2.90 disk."

The same shape on Hetzner CAX31, 4 vCPU and 8 GiB RAM, costs EUR 15.99 a month from April 2026. Roughly INR 1,500. On Oracle Ampere A1 Always Free, 4 OCPU plus 24 GiB RAM, the cost is zero as long as the region has capacity.

Workload by Workload, Who Wins

This is the table that should sit on every Indian operator's desk before they touch wrangler.

Workload CF Containers monthly Oracle ARM Always Free Winner
Next.js front, 50K MAU, idle 80 percent INR 8,000 to 12,000 INR 0 Oracle ARM
PocketBase backend, 24x7 INR 12,000 to 15,000 INR 0 Oracle ARM
Cron worker, runs 6 mins/hour INR 350 to 500 INR 0 (same box) Oracle ARM
Headless Chromium fleet, bursty 200 req/min INR 2,000 to 4,000 INR 1,500 plus pain CF Containers
FFmpeg transcode jobs, ad hoc INR 800 to 1,800 INR 1,500 fixed CF Containers
Sandboxed user code execution INR 3,000 to 6,000 INR 1,500 plus security debt CF Containers
Long-running ML inference daemon INR 18,000 plus no GPU INR 0 to 4,500 Oracle ARM
Global-routed API INR 4,000 to 8,000 plus egress INR 1,500 plus latency CF Containers

The pattern is obvious. Cloudflare wins where the workload is spiky, parallel, geographically spread, short-lived. Oracle ARM and Hetzner win where the workload is steady, single-region, stateful, boring. Most Indian SaaS workloads are the second kind.

Where the CF Stack Loses

Three things will trip any operator who migrates without thinking.

Ephemeral disk on every sleep. The CF FAQ is explicit. When an instance sleeps, the next start has a fresh disk from the image. Fine for stateless API workers. Disqualifier for SQLite-backed apps, PocketBase, anything writing local files between requests.

No swap. Out of memory means immediate restart. On a CAX21 with a 4 GiB swapfile, a temporary spike survives. On a CF Container, the same spike kills the process. Profile peak RAM before you migrate or expect restart loops.

No region pinning that helps you in India. Containers deploy to "Region:Earth," with Cloudflare picking the warm location closest to the request. CF has PoPs in Mumbai, Chennai, Delhi serving Indian users in under 50 ms. But the container itself may not land in Mumbai. For an India-only audience the latency edge over a Bengaluru Oracle ARM box is small. The cost premium is large.

The Migration Debt Nobody Quotes

If your current stack is Next.js plus PocketBase plus a cron worker on Coolify, here is the real dev cost to move.

PocketBase stays. Persistent disk requirement. CF Containers cannot host it. Keep Coolify on Oracle ARM or pay for managed Postgres. Either way the "one bill" pitch dies.

Next.js can move. Standalone output plus a Dockerfile is two hours. Sessions and auth must move to KV, R2, or D1. Another day if you use server-side sessions.

The cron worker fragments. Workers Triggers handle the schedule. The actual job, if it needs more than 30 seconds of CPU or RAM above 128 MiB, runs in a Container. Two systems to monitor where there was one.

Wrangler config, GitHub Actions deploy, secrets, log aggregation, all net new. Budget five to eight working days plus a week of dual-running. That is INR 60,000 to INR 1,20,000 of engineering time to save, in the best case, INR 800 a month. Payback period over a decade. The deploy pipeline carries its own hidden meter too: a busy multi-repo setup will quietly burn through GitHub's free Actions minutes before the cycle resets, and the cheapest fix there is also to move the build off GitHub-hosted runners.

The Bengaluru Verdict

The HSR Layout founder kept his Hetzner box. He bought the Workers Paid plan anyway. He moved exactly two things to Cloudflare Containers.

The Puppeteer fleet that scrapes 14 vendor portals every morning for inventory reconciliation. Used to crash the Hetzner box every other Tuesday. Now runs on standard-2 instances for INR 1,800 a month, parallel, never crashes.

The customer-uploaded image transcode pipeline. Used to backlog when three users uploaded at once. Now fans across containers and clears in under 30 seconds per file.

Total CF bill: INR 4,200. Hetzner: still INR 2,400. Combined infra cost up about 75 percent. Product meaningfully more reliable. The hybrid pattern looks like this. Not migration. Augmentation.

Decide in 30 Minutes

Run this checklist before you write any wrangler config.

  1. Pull htop on your VPS. Average CPU below 20 percent and steady RAM means idle-heavy. Stay on Oracle ARM or Hetzner.
  2. Grep for fs.writeFile, sqlite, pocketbase, local redis. Any local disk dependency stays on the VPS regardless.
  3. List jobs that are bursty, parallel, stateless, under 30 seconds. Those are CF Container candidates. Nothing else.
  4. Multiply candidate jobs by daily runs, average CPU seconds, average RAM. If a single workload crosses INR 3,000 a month on CF, a dedicated VPS for that job may be cheaper.
  5. If 95 percent of your users are in India, the Mumbai PoP advantage is mostly already yours via CF Pages and Tunnels.

CF Containers reaching GA was not the death of the Indian VPS. It was the arrival of a sharper knife. Use it on the workloads that bleed your VPS dry. Leave the rest where the math wins. The same instinct applies to the rest of the stack: spend on the layer your audience actually touches, which for a lot of Indian content properties means the Bing index rather than Google, not the layer the deck says you should.

The INR 2,400 Hetzner bill is not obsolete. It is the foundation. The five-dollar Workers Paid plan is the surgery suite.