irdaweb Bilgi Teknolojileri
Telefon numaramız +90 541 209 02 05
E-posta adresimiz [email protected]
Konu 03 · CDN & Edge

CDN ve edge: sunucunuz tek noktada, kullanıcılarınız her yerde.

Anycast ağından edge cache'e, WAF'tan rate limit'e, DDoS scrubbing'den edge functions'a — birlikte CDN ve edge dünyasını sade bir dille gezeceğiz. Konuyu Cloudflare üzerinden somutlayacağız ama anlatım marka-bağımsız.

01 — Anycast & POP

Aynı IP, dünyanın 300+ noktasında.

CDN'in sihri tek bir teknikten gelir: Anycast. Tek bir IP adresi, dünyanın farklı şehirlerindeki düzinelerce sunucu (POP — Point of Presence) tarafından aynı anda duyurulur. Kullanıcının paketi internet üzerinde en yakın POP'a otomatik yönelir.

Kavram · 01 BGP

Aynı IP, çok lokasyon

CDN sağlayıcısı aynı /24 bloğunu BGP üzerinden tüm POP'larından duyurur. Internet'in yönlendirme protokolü, paketi en kısa AS yolundaki POP'a iletir.

Kavram · 02 RTT

Coğrafya = gecikme

İstanbul'dan Frankfurt'taki origin'e tek istek 50–70 ms sürebilir. Kullanıcıyla aynı şehirdeki bir POP, o yolu 5 ms'ye indirir. Sayfa hızı ışık hızıyla sınırlıdır; mesafe önemlidir.

Kavram · 03 PoP

Sayı her zaman önemli değil

"300+ POP" rakamından çok, kullanıcılarınızın olduğu coğrafyada POP olup olmadığı önemlidir. Türkiye trafiği için İstanbul, Bulgaristan veya Yunanistan POP'u kritiktir.

Anycast yönlendirme
Aynı IP, dünya genelinde duyuruluyor
8 POP aktif en yakın · 8 ms
Kullanıcı
İstanbul, TR
203.0.113.45
GET irdaweb.com
1.1.1.1
anycast IP
Aynı IP, 8 farklı POP RTT'ler ortalama
IST
İstanbul
8 ms · HIT
FRA
Frankfurt
62 ms
AMS
Amsterdam
68 ms
LHR
Londra
78 ms
JFK
New York
112 ms
SIN
Singapur
142 ms
NRT
Tokyo
186 ms
GRU
São Paulo
218 ms

Aynı 1.1.1.1 dünyanın onlarca şehrindeki POP'tan BGP üzerinden eşzamanlı duyurulur. Kullanıcının paketi en kısa AS yolundaki POP'a otomatik yönelir; gecikme coğrafyayla orantılı kalır. Türkiye trafiği için İstanbul/Sofya/Atina POP'unun varlığı kararı belirler.

İpucu. Sağlayıcı seçerken "kaç POP var" sorusu yerine "hedef pazarımda hangi şehirlerde POP var ve oradaki ortalama gecikme nedir?" sorusunu sorun. Cloudflare Radar ya da CDNPerf gibi bağımsız ölçüm panelleri pratik karar verici olur.
02 — Edge cache

En hızlı istek, origin'e hiç ulaşmayan istektir.

Edge cache, kullanıcıya yakın POP'ta saklanan bir kopyadır. Doğru başlık politikasıyla %90'ın üstünde cache hit oranı normaldir; bu da origin yükünün ve sayfa süresinin onda birine düşmesi demektir.

İstek akışı edge → origin
HIT
Cache hit · cf-cache-status: HIT

Edge POP içerikten emin; doğrudan kullanıcıya döndürür. Origin bu isteği hiç görmez.

REVAL
Stale-while-revalidate · REVALIDATED

Süresi geçmiş ama hâlâ saklı kopya. Önce stale yanıt verilir, arka planda origin'e bir taze kopya istenir. Kullanıcı beklemez.

MISS
Cache miss · MISS

İçerik POP'ta yok. Origin'e gidilir, yanıt geri dönerken POP'ta saklanır; sonraki istekler HIT olur.

BYPASS
Cache bypass · BYPASS / DYNAMIC

Cookie, query string ya da Cache-Control: private nedeniyle cache devre dışı. Her istek origin'e gider; yanlış kurulduğunda CDN'in faydası ortadan kalkar.

1
Cache-Control vs. CDN-Cache-Control
Cache-Control hem tarayıcıyı hem CDN'i etkiler. CDN-Cache-Control ise sadece edge için ayrı bir TTL tanımlar; tarayıcı kısa, edge uzun saklayabilir.
2
Surrogate keys ile temiz invalidation
URL bazlı purge yerine etiket (tag) bazlı purge — bir blog yazısı güncellenince ona ait tüm sayfa, kategori ve sitemap kopyaları aynı anda silinir. Fastly, Cloudflare Enterprise ve Bunny destekler.
3
Origin shield
Tüm POP'ların origin'e tek tek gitmesi yerine bir merkezi POP'tan beslenmesi. Origin'e ulaşan trafiği dramatik biçimde düşürür; özellikle popüler içerikte tier-1 mantığıdır.
03 — WAF & rate limit

Edge yalnızca hızlandırmaz, filtreler.

WAF (Web Application Firewall), zararlı isteği uygulamanıza ulaşmadan önce edge'de durdurur. Rate limiting ise meşru gibi görünen ama aşırı yoğun isteklere kota uygular. İkisi birlikte, origin'inizin nefes almasını sağlar.

Tehdit
Edge'de filtreleme yöntemi
Origin'e ulaşırsa ne olur?
  • SQL injection
    OWASP A03
    Managed Ruleset (OWASP CRS) URL/body içinde UNION SELECT, -- gibi ifadeleri yakalar.
    Veritabanından veri sızması, schema öğrenilmesi, tüm satırların düşmesi.
  • XSS
    OWASP A03
    <script>, javascript: gibi payload'lar imza ve davranış bazlı kuralla bloklanır.
    Diğer kullanıcıların oturum çerezi çalınır; yetkisiz işlem yapılır.
  • Credential stuffing
    Bot
    Bot management — fingerprint, JS challenge, davranış skoru. Login endpoint'inde rate limit (örn. 5 deneme / 5 dakika / IP).
    Kullanıcı hesaplarının ele geçirilmesi, kara liste sızıntılarının doğrudan denenmesi.
  • Scraping
    Bot
    Bot fingerprinting + JS/Turnstile challenge; ürün sayfası bazında istek başına token zorunluluğu.
    Fiyat/envanter rakibe sızar; origin gereksiz CPU/IO yükü altında kalır.
  • Zero-day exploit
    CVE
    Sağlayıcının yeni CVE için yayımladığı imza saatler içinde tüm POP'lara dağılır; uygulamayı yamalamadan önce koruma sağlanır (virtual patching).
    Yamasız bırakılan uygulama doğrudan istismar edilir; hızlı bir tepki için zaman kazandırır.
Dikkat. WAF mutlak koruma değildir — yanlış pozitifler meşru kullanıcıyı engeller, yanlış negatifler kötü niyetli isteği geçirir. Üretime almadan önce log only modunda en az bir hafta gözlemlemenizi öneriyoruz.
04 — DDoS koruması

Saldırı üç katmanda gelir, üç katmanda durdurulur.

DDoS, "Distributed Denial of Service" — yani aynı anda çok sayıda kaynaktan gelen, hizmeti tüketmeye yönelik trafik. Anycast ağı saldırıyı tek noktaya değil, dünyaya dağıtır; her POP kendi payına düşeni soğurur. Scrubbing ise temiz trafiği geçirip kötü niyetliyi süzme işidir.

Katman · L3/L4 Volumetric

Hacim saldırıları

UDP flood, SYN flood, DNS amplification. Hat doldurmaya çalışır. Anycast bunu coğrafyaya yayar; modern sağlayıcılar Tbps mertebesinde kapasiteyle pasif olarak soğurur.

  • Birim: Gbps / Mpps
  • Tipik süre: dakikalar
  • Maliyet: ucuz, otomatik
Katman · L7 HTTP flood

Uygulama katmanı

Meşru görünen HTTP istekleri ama anormal hacim ya da pahalı endpoint hedefli (örn. arama sayfası, login). Bot management, JS challenge ve adaptif rate limit ile filtrelenir.

  • Birim: req/s
  • Tipik süre: saatler
  • Tespit: zorlu, davranış bazlı
Katman · DNS Reflection

DNS & protokol

Otoriter DNS sunucularını hedefleyen ya da onları amplifikasyon aracı olarak kullanan saldırılar. Anycast DNS + DNSSEC + sıkı response rate limiting ile yanıtlanır.

  • Hedef: NS / sözcü
  • İlgili: DNSSEC
  • Önlem: anycast DNS
Origin'inizi gizleyin. CDN'in koruması ancak origin IP'si gizli kalırsa anlamlıdır. Saldırgan origin IP'sine doğrudan ulaşırsa edge devre dışı kalır. Ayrıntılı denetim listesi: eski DNS kayıtlarını sıfırla, mail başlıklarını kontrol et, SSL sertifika günlüklerini (CT log) gözden geçir, doğrudan IP isteklerini origin firewall'unda kapat.
05 — Edge functions

Cache ile origin arasında, programlanabilir bir katman.

Edge functions, POP üzerinde V8 isolate ya da WebAssembly ortamında çalışan kısa kodlardır. Her ürünün adı farklı — Cloudflare Workers, AWS Lambda@Edge, Fastly Compute, Bunny Edge Scripting — ama fikir aynı: hesabı kullanıcının yanında yap.

worker.js
// A/B test, ülke bazlı yönlendirme, header zenginleştirme
export default {
  async fetch(request) {
    const country = request.cf.country;       // "TR"
    const url     = new URL(request.url);

    if (country === "TR" && url.pathname === "/") {
      url.pathname = "/tr/";
      return Response.redirect(url, 302);
    }

    return fetch(request);                    // origin'e geç
  },
};
Tipik kullanım alanları

A/B test & yönlendirme

Geo & dil yönlendirme

Header normalizasyonu / kişiselleştirme

API gateway, JWT doğrulama

Görsel/HTML transformasyon

Sınırlar

CPU bütçesi: 10–50 ms / istek

Ağır iş için uygun değil

Standart Node API'leri yok (V8 isolate)

Veritabanı erişimi POP'tan uzak; gecikme döner

Vendor lock-in riski yüksek

06 — Ne zaman gerek var?

Her sitenin CDN'e ihtiyacı yok, çoğunun var.

CDN ücretsiz planı bile ciddi bir hızlanma getirir; ama gerçek soru "hızlanma değer mi" değil "altyapı karmaşası karşılığını veriyor mu" sorusudur. Tipik karar matrisi:

Evet · değer var
  • Birden fazla ülkeden ziyaretçi alıyorsanız (yurtdışı dergi, e-ticaret, SaaS).
  • İçeriğinizin %70'inden fazlası statik (görsel, CSS, JS, video).
  • Tek bir bölgeden saldırı/scraping akışı görüyorsunuz.
  • Origin'iniz tek lokasyonda; HA/scale endişesi var.
  • SEO için Core Web Vitals'ı (LCP) önemsiyorsunuz.
  • DNS'inizi tek bir registrar'da bırakmak istemiyorsunuz; anycast NS gerekiyor.
Belki gerekmez
  • Sadece Türkiye trafiği alan, origin'i Türkiye'de düşük gecikmeli sunucuda olan bir B2B uygulaması.
  • İçerik tamamen kişiye özel ve cookie ile değişiyorsa (cache hit oranı zaten düşük olur).
  • Düşük trafikli iç araç, intranet uygulaması.
  • Çok uzun TTL'li büyük dosya dağıtımı için bile özel object storage CDN'i (S3+CloudFront, R2) genel CDN'den daha uygun olabilir.
  • WebSocket/UDP ağırlıklı gerçek zamanlı uygulamalar için CDN'in standart yolu cache değil sadece edge transit olur.
07 — Sağlayıcı kıyası

Aynı isim, farklı tarz.

Pazardaki dört büyük yaklaşımın hızlı bir özeti. Hepsi anycast üzerinde çalışır ama fiyat, edge programlama modeli ve kurumsal entegrasyon felsefeleri belirgin biçimde farklı. Kararı genellikle "en hızlı" değil, "ekibinizle uyum içinde" olan belirler.

  • Cloudflare
    cloudflare.com
    Cömert ücretsiz plan, geniş POP ağı, güçlü WAF + bot management, anycast DNS, R2 (egress'siz storage).
    Workers (V8 isolate, JS/WASM)
    "Hepsi bir arada" arayan; tek panele güven; küçük → orta ölçek.
  • Fastly
    fastly.com
    Anlık (saniye altı) cache purge, surrogate keys, VCL ile derin programlanabilirlik, dergi/medya odaklı.
    Compute@Edge (WebAssembly · Rust/Go/JS)
    Yüksek frekanslı içerik güncelleyen yayıncı; mühendis-ağırlıklı ekip.
  • AWS CloudFront
    aws.amazon.com/cloudfront
    AWS ekosistemi (S3, ALB, Shield, WAF, Cognito) ile derin entegrasyon; kurumsal IAM ve SLA.
    Lambda@Edge (Node.js · Python) + CloudFront Functions (kısa JS)
    Zaten AWS'te yaşayan ekip; uyum/sertifika gereksinimleri.
  • BunnyCDN
    bunny.net
    Şeffaf birim fiyat (TB başına), basit panel, hızlı kurulum, Edge Storage + Stream.
    Edge Scripting (JS · sınırlı)
    Maliyete duyarlı, statik ağırlıklı site; medya / video dağıtımı.
Listede yer almayan onlarca sağlayıcı var (Akamai, Imperva, KeyCDN, CDN77, ArvanCloud, Gcore). Karar sürecinde önce hedef pazarınızdaki gecikme ölçümü, sonra fiyat ve son olarak edge programlama modelini değerlendirmenizi öneriyoruz.
08 — Sık karıştırılanlar

Birbirine yakın ama aynı değil.

Reverse proxy vs. CDN

Bir reverse proxy (nginx, HAProxy) genellikle tek lokasyondadır. CDN ise dünyaya yayılmış reverse proxy filosudur. Cloudflare proxy modunda iken siteniz teknik olarak hem reverse proxy hem CDN arkasındadır.

CDN vs. Multi-region origin

CDN içeriği cache'leyerek kullanıcıya yaklaştırır. Multi-region origin ise uygulamanın kendisini birden fazla bölgede çalıştırır. Statik içerikte CDN; dinamik, kişisel veride multi-region uygundur. İkisi birbirini ikame etmez, tamamlar.

Cloudflare DNS vs. Cloudflare proxy

Bir kayıt için bulut simgesi gri (DNS only) ya da turuncu (proxied). Gri modda Cloudflare yalnızca otoriter DNS sunucusu olarak görev yapar; trafik origin IP'sine doğrudan gider. Turuncu mod aktifken CDN, WAF ve DDoS koruması devreye girer.

Edge cache vs. Browser cache

Browser cache yalnızca tek kullanıcıyı hızlandırır; ilk ziyareti yine origin'den yüklenir. Edge cache ise tüm kullanıcıların ortak yararlandığı bir paylaşımlı kopyadır. İkisini birlikte kullanın: Cache-Control: public, max-age=300, s-maxage=86400.

Purge vs. Invalidate

Çoğu sağlayıcıda iki terim aynı anlamda kullanılır: cache'teki kopyayı geçersiz say. Pratikte iki tarz görürsünüz — soft purge kopyayı işaretler, ilk istekte revalidate eder; hard purge hemen siler. Yüksek trafikli sayfalarda soft purge origin'i koruma açısından daha güvenlidir.

Birinci el kaynaklar

Konuyu tanımlayan resmi belgeler, RFC'ler ve sağlayıcıların kendi rehberleri.

Sıradaki adım

Mevcut yapınızı edge ile birlikte güçlendirelim.

Cloudflare planı seçimi, WAF kuralı yazımı, edge cache başlık politikası ya da DDoS olay sonrası inceleme — her aşamada eşlik edebiliriz.