Zero egress fees on R2 storage. Meaningfully different cost curve from AWS S3 at any scale.
Workers compute model (no full Node APIs by default) requires careful library selection or polyfills.
- ✓You're hosting a static or static-mostly site and want edge speed without paying AWS prices.
- ✓You're building serverless APIs and the Workers free tier ceiling (100k req/day) matches your traffic profile.
- ✓You're storing media or assets and want S3-compatibility without egress fees (R2).
- ✓You want DDoS, WAF, and bot protection without configuring a separate service.
- ✗You're building a full-Node-API server and refactoring around Workers' compute model is too disruptive. Use Fly.io, Railway, or Render.
- ✗Your application requires sustained long-running compute (Workers max 30 seconds CPU time per invocation).
Overview
Cloudflare Workers and Cloudflare Pages are the deploy targets for Vibetoolstack. Every cron rebuild ships the Astro static output to a Cloudflare Workers binding via Wrangler, and the result is live at the edge in 80+ regions within seconds of build completion.
Cloudflare's positioning has evolved: from a CDN + DDoS provider to a complete edge-compute platform. Workers, Pages, R2 (storage), D1 (SQL), KV (key-value), Queues, and Durable Objects sit in one console with one billing model.
Pros & Cons
Pros
• Free tier is genuinely production-usable: 100k req/day Workers, unlimited bandwidth Pages, no surprise egress fees
• Edge network reaches every major population in 30ms or less
• Workers + Pages + R2 + D1 + KV in one console with one bill. Simpler than AWS's 200-service sprawl
• Wrangler CLI is mature and scriptable; CI integration is straightforward
• Strong security defaults (DDoS protection, WAF, bot management) without configuration
Cons
• Workers asset binding 25 MiB per-asset limit. Image-heavy sites need R2
• Workers compute model (no Node APIs by default) requires polyfills or careful library selection
• Higher-tier pricing climbs faster than initial impressions suggest once you exceed free-tier ceilings
• Cloudflare Pages and Workers branding overlap is confusing. Pick Workers with asset bindings, not Pages, for most use cases
My Experience
What VTS ships to Cloudflare
Vibetoolstack uses Cloudflare Workers (via wrangler.jsonc binding the static assets) as the hosting target. Workers Routes handle the apex domain. Cloudflare Pages is used for preview deployments (the /preview/ subdomain). Basic-auth-protected /internal/pipeline dashboard runs on Workers with WORKERS_BASIC_AUTH bindings.
Deploy cycle: GitHub Action runs `wrangler deploy` on every cron-triggered rebuild (every 30 minutes 06:00-22:30 UTC). Average deploy completion under 20 seconds for the assets-binding upload. Edge propagation is near-instant.
What we use beyond hosting
Cloudflare Access for the /internal/* basic-auth-gated routes. Cloudflare Tunnel for one of the local-dev Sanity Studio preview links. Cache rules to bypass certain dynamic routes. Page Rules (legacy) to enforce HTTPS.
What broke (so you don't have to)
Workers asset binding has a 25 MiB per-asset limit. Our `_pagefind/` search index split across multiple files and stays well under but it's a real ceiling for image-heavy sites. Plan to use R2 for media if your build exceeds Workers asset constraints.
Worker subrequests on the free tier limit to 50 per invocation. Not a constraint for static-output sites; matters for SSR-heavy apps.
First-time Wrangler login on a new machine is more friction than necessary (browser-based OAuth flow with timeouts). Worth scripting once and aliasing.
What we'd do again
Default to Workers over Pages for static sites. The "Pages" branding suggested it was the static-site path; in reality Workers with asset bindings is more flexible, costs the same, and integrates with everything else in the Cloudflare console more cleanly.
Use Wrangler from CI rather than the dashboard for production deploys. The CLI is faster, more scriptable, and produces deterministic builds.
Best Use Cases
Static-site hosting at edge
The use case Cloudflare is unambiguously best at. Free tier covers most indie publishers (100,000 requests/day), and the edge network puts assets within ~30ms of every major user population worldwide. Vibetoolstack consistently shows sub-200ms TTFB from EU, US, and AU.
Serverless API endpoints
Workers run JavaScript or WASM at the edge. Useful for API routes, redirects, basic-auth gates, or webhook receivers. The free tier (100k requests/day) is enough for most indie operator needs.
CDN and DDoS protection
Cloudflare's original product. Still best-in-class for protection against bot traffic, DDoS, and security threats. The Pro tier ($20/month) adds image optimization, WAF, and faster cache rules.
R2 object storage
S3-compatible storage with zero egress fees. Strong fit for media-heavy sites, asset CDNs, or backup workflows. Vibetoolstack uses R2 for asset backups; the egress-free model meaningfully outperforms S3 at scale.