Most features can be configured via API • Preliminary research showed APIs could cover nearly all use cases 🔒 Enhanced Security • DDoS Protection, WAF, Rate Limiting, etc. 🌐 Toward CDN as a Service • Self-service enables rapid feature utilization and supports business expansion
Supported ◦ Cloudflare: Only supported for image (as of Sep 2025) • Default cache TTL on CDN ◦ Fastly: Supported ◦ Cloudflare: Not configurable (as of Sep 2025) There are differences between Fastly and Cloudflare. In particular, cache-related behavior requires careful attention.
Cache Keys to achieve the same purpose • Setting default cache TTL on CDN ◦ Reconfirm necessity ◦ For content under specific conditions, set TTL with Cache Rule. Cloudflare Workers is powerful, but check for simpler solutions first.
reusable Terraform module (CDN Kit) ◦ Implement using standardized methods, not by directly modifying Cloudflare resources 3. Prioritize migration over new features ◦ Because many services need migration, adding new features would slow down progress
step by step • Short TTLs ensure quick reflection of changes • Rollback is simple by just reverting the weight DNS Weighted Routing for Gradual Migration
Cache Rules) • To use account-scoped resources (e.g. Cloudflare Workers) with CDN Kit, we needed to figure out how to manage them Challenge: Handling account-scoped resources in CDN Kit Solution: Prefix resource names with the zone name to treat them as zone-scoped resources
🧭 Provide a more intuitive workflow than raw log analysis 🔐 Enable controlled access for incident investigations 🚦 Detect and verify blocked traffic to ensure legitimate requests
each has its specific owning team • Set default access to Read Only, as most changes go through CDN Kit Problem: Manual Permission Management Manual permission assignment is time-consuming and error-prone!!
each service • Each service defines its owner team, mapped to its Cloudflare zones • Team members are managed in the same repository via Team Kit, the Terraform module ├── service-a │ ├── development │ │ └── cdn │ │ └── a.example.com │ │ └── cdn_kit.tf │ └── production │ └── cdn │ └── b.example.com │ └── cdn_kit.tf └── service-b └── production └── cdn └── c.example.com └── cdn_kit.tf
Platform Network team involvement • Most PRs merged within 1 day ◦ Previously it took 2–5 business days • Developers investigate incidents using Cloudflare Dashboard without involving the Platform Network team • Inquiries evolved into higher-value discussions ◦ e.g. Cloudflare utilization & design