<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr" -->

---
title: Dogfooding at scale: migrating cdnjs to Cloudflare’s...
description: cdnjs, the open-source JavaScript/CSS CDN serving 9 billion requests per day across 12% of all websites, has been fully migrated to Cloudflare's Developer...
canonical: https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Dogfooding at scale: migrating cdnjs to Cloudflare’s Developer Platform | daily.dev
og:description: cdnjs, the open-source JavaScript/CSS CDN serving 9 billion requests per day across 12% of all websites, has been fully migrated to Cloudflare's Developer...
og:url: https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr
og:image: https://api.daily.dev/og/posts/RySPRc2Qr.png
og:image:alt: Dogfooding at scale: migrating cdnjs to Cloudflare’s Developer Platform
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Dogfooding at scale: migrating cdnjs to Cloudflare’s Developer Platform

**[Cloudflare](https://daily.dev/sources/cloudflare)** · 12 min read · 8 upvotes · 0 comments

## Summary

cdnjs, the open-source JavaScript/CSS CDN serving 9 billion requests per day across 12% of all websites, has been fully migrated to Cloudflare's Developer Platform. The old architecture relied on GCP Cloud Functions, a git-sync VM, and a GitHub repo as source of truth — creating observability gaps, split-brain storage, and deployment friction. The new stack uses Workers, Workflows, R2 (as single source of truth), KV (for metadata), Queues, Durable Objects, and Containers (for CPU-intensive Brotli/gzip compression via a Rust service). During migration, Cloudflare hit platform limits — the 1,000 subrequest cap and 1,024 Workflow steps limit — and used the experience to raise those limits for all users (now 10 million subrequests and up to 25,000 Workflow steps). The migration also retired the 1.1TB GitHub repo and closed several security vulnerabilities by eliminating GCP service accounts and VMs.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.cloudflare.com/cdnjs-dev-platform-migration>

## Questions this post answers

### What is the Workers subrequest limit on Cloudflare's paid plans and has it changed recently?

The subrequest limit per Worker invocation on paid plans was capped at 1,000, which became a bottleneck when migrating millions of cdnjs files between accounts. After Cloudflare's cdnjs team asked the Workers team to raise it, the limit was increased to 10 million subrequests per invocation on paid plans.

_Developers hitting Workers limits in production pipelines can track platform changes like this via daily.dev._

### How many steps can a Cloudflare Workflow have and did that limit increase?

Cloudflare Workflows previously capped out at 1,024 steps per workflow. Following limits surfaced during the cdnjs migration, Cloudflare raised the default to 10,000 steps, configurable up to 25,000, as documented in a changelog entry dated March 3, 2026.

_Teams designing long-running Workflows pipelines can follow platform limit changes on daily.dev._

### Why does cdnjs still get billions of requests a day even though modern JavaScript bundlers are widely used?

Cdnjs serves about 9 billion requests daily partly because LLM coding assistants like ChatGPT, Claude, and Cursor default to it when scaffolding HTML demos, since 15 years of training data (blog posts, READMEs, tutorials) reference its stable, immutable URL pattern. Its SRI-hashed, auditable mirrors also appeal in a supply-chain-conscious environment, and it remains free with no API keys or rate limits.

_Developers relying on public CDNs for prototypes can weigh trade-offs like these through daily.dev._

## Similar posts on daily.dev

- [Cloudflare Migrates JavaScript CDN Serving 9B Requests a Day to Its Developer Platform](https://daily.dev/posts/cloudflare-migrates-javascript-cdn-serving-9b-requests-a-day-to-its-developer-platform-njgladxvv) · InfoQ · 1 upvotes · 0 comments
- [Run CI/CD for millions of repos — on your platform, on Cloudflare](https://daily.dev/posts/run-ci-cd-for-millions-of-repos-on-your-platform-on-cloudflare-zsyslpawk) · Cloudflare · 7 upvotes · 0 comments
- [Just another \(Black\) Friday](https://daily.dev/posts/just-another-black-friday-stcit5nja) · Vercel · 0 upvotes · 0 comments
- [Cloudflare Details Its Migration from WordPress to EmDash](https://daily.dev/posts/cloudflare-details-its-migration-from-wordpress-to-emdash-053ygal7y) · InfoQ · 0 upvotes · 0 comments

---

Tags: [#cloudflare](https://daily.dev/tags/cloudflare)

[View this post on daily.dev](https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Dogfooding at scale: migrating cdnjs to Cloudflare’s Developer Platform","url":"https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr"},"datePublished":"2026-07-30T13:12:55.428Z","dateModified":"2026-09-14T09:11:16.747Z","description":"cdnjs, the open-source JavaScript/CSS CDN serving 9 billion requests per day across 12% of all websites, has been fully migrated to Cloudflare's Developer...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f1660bb2aa0b85f14b2022dd23ce5d52?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f1660bb2aa0b85f14b2022dd23ce5d52?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Cloudflare","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Cloudflare","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/38522e1d11354cd6b7af66f9d4316735","url":"https://daily.dev/sources/cloudflare"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":8},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"cloudflare","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Cloudflare","item":"https://daily.dev/sources/cloudflare"},{"@type":"ListItem","position":3,"name":"Dogfooding at scale: migrating cdnjs to Cloudflare’s Developer Platform"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/dogfooding-at-scale-migrating-cdnjs-to-cloudflare-s-developer-platform-rysprc2qr#faq","mainEntity":[{"@type":"Question","name":"What is the Workers subrequest limit on Cloudflare's paid plans and has it changed recently?","acceptedAnswer":{"@type":"Answer","text":"The subrequest limit per Worker invocation on paid plans was capped at 1,000, which became a bottleneck when migrating millions of cdnjs files between accounts. After Cloudflare's cdnjs team asked the Workers team to raise it, the limit was increased to 10 million subrequests per invocation on paid plans. Developers hitting Workers limits in production pipelines can track platform changes like this via daily.dev."}},{"@type":"Question","name":"How many steps can a Cloudflare Workflow have and did that limit increase?","acceptedAnswer":{"@type":"Answer","text":"Cloudflare Workflows previously capped out at 1,024 steps per workflow. Following limits surfaced during the cdnjs migration, Cloudflare raised the default to 10,000 steps, configurable up to 25,000, as documented in a changelog entry dated March 3, 2026. Teams designing long-running Workflows pipelines can follow platform limit changes on daily.dev."}},{"@type":"Question","name":"Why does cdnjs still get billions of requests a day even though modern JavaScript bundlers are widely used?","acceptedAnswer":{"@type":"Answer","text":"Cdnjs serves about 9 billion requests daily partly because LLM coding assistants like ChatGPT, Claude, and Cursor default to it when scaffolding HTML demos, since 15 years of training data (blog posts, READMEs, tutorials) reference its stable, immutable URL pattern. Its SRI-hashed, auditable mirrors also appeal in a supply-chain-conscious environment, and it remains free with no API keys or rate limits. Developers relying on public CDNs for prototypes can weigh trade-offs like these through daily.dev."}}]}
```

