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 сервере?

Связанные уроки

  • net-40-cdn
  • net-41-anycast
CDN и Edge Computing

0

1

Войти