DevOps
CDN и Edge Computing
Cloudflare в 2022 году отразил крупнейшую DDoS атаку в истории: 26 миллионов HTTPS RPS (каждый запрос требует TLS handshake). Атака длилась 30 секунд, ни один пользователь ничего не заметил. CDN - это не просто кэш, это distributed security и compute platform на расстоянии 50ms от любого пользователя на планете.
- **Discord** использует Cloudflare Workers для geo-routing пользователей к ближайшему голосовому серверу - latency голосового чата напрямую зависит от расстояния до PoP
- **Shopify** обрабатывает пиковый трафик Black Friday через Cloudflare CDN и Workers для A/B тестирования скидок - origin серверы видят лишь 10-15% реального трафика
- **Vercel** построил свою Edge Runtime на Cloudflare Workers - Next.js страницы рендерятся в 300+ PoP одновременно, TTFB < 50ms для пользователей по всему миру
Cloudflare
Cloudflare - крупнейший CDN и edge network: 300+ PoP (Points of Presence) в 100+ странах, 100+ Tbps пропускной способности. Функции: CDN (статика и динамика), DDoS protection (до 71 Tbps атаки отражено), WAF, DNS (fastest globally), SSL termination, Load Balancing, Workers (edge compute). Обрабатывает ~20% всего интернет-трафика.
Cloudflare Proxy (оранжевое облако в DNS): весь трафик проходит через Cloudflare. Скрывает реальный IP origin, обеспечивает DDoS protection и WAF, SSL termination в edge. Cache-Control заголовки управляют поведением кэша. Cloudflare Page Rules / Transform Rules позволяют переписывать URL, заголовки, redirect без изменения origin.
Что означает включение Cloudflare Proxy (оранжевое облако) для DNS записи?
Edge Functions
Edge Functions - JavaScript/WebAssembly код, выполняемый на CDN edge nodes ближе к пользователю. Cloudflare Workers: 0ms cold start, <1ms latency, 30ms CPU time limit, 128MB RAM. Выполняется в 300+ PoP. Идеален для: A/B тестирования, персонализации, geo-routing, JWT validation, request/response трансформаций.
Cloudflare Workers vs Lambda@Edge: Workers - 0ms cold start (V8 isolates, не контейнеры), 30ms CPU, 128MB. Lambda@Edge - 100-500ms cold start, 30s timeout, 128MB-10GB, только в 13 CloudFront регионах. Workers дешевле ($0.50/1M requests vs $0.60/1M) и быстрее, но с более жёсткими лимитами CPU. Workers KV и Durable Objects для edge state.
Почему Cloudflare Workers не имеют cold start проблемы в отличие от Lambda?
Caching Strategies
Cache-Control заголовки управляют поведением кэша на всех уровнях: браузер → CDN → origin. Ключевые директивы: `max-age` (кэш в браузере, секунды), `s-maxage` (CDN кэш, секунды), `stale-while-revalidate` (отдавать старое пока обновляется), `no-store` (не кэшировать совсем), `private` (только браузер, не CDN).
Стратегии инвалидации кэша: Versioned URLs (`/assets/main.a3b4c5d.js`) - бесконечный кэш, новый deploy = новый URL. Cache Tags (Cloudflare) - тегировать ответы (`Cache-Tag: product-123`) и инвалидировать по тегу (`cf.purge(['product-123'])`). Surrogate Keys в Fastly - аналог. Stale-while-revalidate 86400 - CDN отдаёт кэш немедленно, обновляет в фоне - нет latency при cache miss.
Что означает `Cache-Control: public, s-maxage=3600, stale-while-revalidate=86400`?
Geo-Routing и Global Load Balancing
Geo-routing направляет пользователей к ближайшему или наиболее подходящему origin на основе геолокации. Cloudflare Load Balancing + Traffic Steering: Latency-based (к самому быстрому origin), Geo (по стране/региону), Failover (активный/пассивный). Cloudflare Workers дают полный программный контроль над routing.
Anycast DNS - ключевой механизм CDN: один IP адрес анонсируется с разных физических локаций через BGP. Запрос пользователя автоматически идёт к ближайшей точке присутствия. Cloudflare, Fastly, Akamai используют anycast. Это обеспечивает низкую latency без явного geo-routing для статичного контента.
CDN нужен только для статических файлов (JS, CSS, изображения)
Modern CDN (Cloudflare, Fastly) кэширует и API ответы через stale-while-revalidate, выполняет бизнес-логику на edge через Workers/Functions, терминирует DDoS до origin. Vercel и Netlify строят всю платформу на edge CDN - даже SSR выполняется в edge nodes
Edge computing перемещает вычисления ближе к пользователю; CDN эволюционировал от file cache до distributed compute platform
Для чего нужен region_pools с EEA в конфигурации Cloudflare Load Balancer?
Итоги
- **Cloudflare** - 300+ PoP, DDoS protection, WAF, SSL termination; Proxy режим скрывает origin IP и фильтрует вредоносный трафик до origin
- **Edge Functions** - Cloudflare Workers с 0ms cold start (V8 isolates): geo-routing, A/B тест, JWT validation, response transformation без latency
- **Caching + Geo-routing** - Cache-Tag для гранулярной инвалидации; stale-while-revalidate исключает latency spike; region_pools для GDPR compliance
Связанные темы
CDN и edge computing тесно связаны с serverless и производительностью:
- Serverless: Lambda, Cloud Functions — Cloudflare Workers - альтернатива Lambda@Edge с 0ms cold start для edge вычислений ближе к пользователю
- Reliability Engineering at Scale — CDN - первый уровень защиты от DDoS; geo-routing обеспечивает resilience при regional outage
Вопросы для размышления
- API возвращает персонализированный список товаров для каждого пользователя - как использовать CDN кэш для ускорения без показа чужих данных?
- При regional outage us-east-1 - как Cloudflare Load Balancing помогает сохранить доступность сервиса?
- Когда Cloudflare Worker лучше чем обработка той же логики на origin сервере?