6 puan yazan GN⁺ 22 일 전 | 1 yorum | WhatsApp'ta paylaş
  • Merkezi Cloudflare bağımlılığını azaltmak için kişisel blogunu bunny.net'e taşıyan bir örnek
  • bunny.net, Slovenya merkezli bir Avrupa CDN hizmeti olarak dünya genelinde hızlı performans ve verimli bir PoP ağı sunuyor
  • Alan adı kaydı için Porkbun kullanılıyor ve Cloudflare'ın “Orange Cloud” özelliği bunny.net ortamına taşınıyor
  • Pull Zone, önbellekleme politikası, SSL sertifikası, Edge Rule gibi adım adım ayarlarla CDN tamamen yapılandırılıyor
  • DDoS koruması, Origin Shield, Stale Cache gibi temel özelliklerle bile kararlı çalışıyor ve bireysel kullanıcılar için Cloudflare'a gerçek bir alternatif olabiliyor

Cloudflare'dan bunny.net'e geçiş

  • Cloudflare bağımlılığını ve merkezileşme sorununu azaltmak için kişisel blogunu bunny.net'e taşıma süreci ve yapılandırma yöntemi anlatılıyor
    • Cloudflare ücretsiz olarak güçlü özellikler sunsa da, tek bir şirkete olan bağımlılığı büyütüyor ve arıza durumunda internetin genelini etkileyebilen bir yapı oluşturuyor
    • ABD merkezli şirketler etrafında yoğunlaşan internet yapısına duyulan rahatsızlık ve çeşitli tartışmalar nedeniyle alternatif aranıyor

Bunny.net'e genel bakış

  • bunny.net, Slovenya merkezli bir Avrupa şirketi olarak Cloudflare ile rekabet edebilecek bir CDN hizmeti sunuyor
    • Dünya genelinde yüksek performans ve hız gösteriyor; PoP ağının ölçeği daha küçük olsa da verimli çalışıyor
    • Avrupa teknoloji ekosisteminin büyümesini desteklemesi açısından olumlu değerlendiriliyor

Cloudflare'dan ayrılmak

  • Blog alan adı kayıt kuruluşu olarak Cloudflare kullanılmış olsa da, Avrupa içindeki bir alternatif bulmak zordu
    • INWX ücretsiz WHOIS gizliliği sunmadığı için eleniyor, bunun yerine Porkbun seçiliyor
    • Porkbun Cloudflare altyapısını kullansa da destek kalitesi yüksek
  • Cloudflare'ın “Orange Cloud” özelliği (otomatik önbellekleme, origin gizleme, koruma özellikleri) bunny.net'e taşınıyor

Bunny.net kurulum adımları

  • Hesap oluşturma

    • Kayıtta 14 gün boyunca 20 dolar kredi veriliyor, kredi kartı eklenirse ek 30 dolar daha sağlanıyor
    • E-posta doğrulamasından sonra ayarlar yapılabiliyor ve kullanıma dayalı fiyatlandırma (aylık minimum 1 dolar) uygulanıyor
    • “Kullanıcının ürün değil müşteri olduğu” bir yapıya geçiliyor
  • Pull Zone oluşturma

    • CDN'i etkinleştiren temel bileşen olarak Origin URL belirtilip sunucu bağlanıyor
    • Birden fazla uygulama çalıştırılıyorsa Host başlığında alan adı belirtilmeli
    • Standard tier seçildikten sonra bölgelere göre farklı fiyatlandırılan Zone'lar ayarlanabiliyor
    • Devre dışı bırakılan bölgelerdeki kullanıcılar en yakın etkin Zone'a yönlendiriliyor
  • Pull Zone bağlantısı

    • “Add a custom hostname” alanına web sitesi alan adı giriliyor
    • Yönergeye göre CDN yolunu bağlamak için CNAME kaydı ekleniyor (website.b-cdn.net biçiminde)
    • DNS yayılımından sonra “Verify & Activate SSL” tıklanarak SSL doğrulaması tamamlanıyor
    • Başarılı olursa web sitesi bunny.net CDN üzerinden sunuluyor

Önbellek ayarları

  • Web sitesi uygun Cache-Control header döndürüyorsa bunny.net buna uyuyor
    • “Caching → General” altında “Respect origin Cache-Control” ayarı kontrol ediliyor
    • no-cache ayarlıysa önbelleğe alınmıyor
  • Önbellek header'ı yoksa Smart Cache özelliğiyle görseller, CSS, JS gibi dosyalar otomatik önbelleğe alınıyor
  • Elixir Phoenix tabanlı blogda public pipeline'ına özel bir cache header middleware ekleniyor
    • cache-control: public, s-maxage=86400, max-age=0 ayarıyla HTML sayfaları da önbelleğe alınıyor
    • Yeni yazı yayımlandığında güncel HTML'in yansıması için Pull Zone önbelleği elle temizlenmeli
  • Larm aracıyla yapılan ölçümlerde dünya genelindeki çeşitli konumlarda yanıt süresinin iyileştiği görülüyor

Önerilen temel ayarlar

  • Tüm istekleri HTTPS'e zorlamak için “Force SSL” etkinleştiriliyor
  • DDoS koruması varsayılan olarak geliyor; ayrıca Origin Shield etkinleştirilirse sunucu yükü azalıyor
    • Origin'e yakın bir konum seçilerek önbellek merkezileştiriliyor ve edge sunucular önce Origin Shield'a bakıyor
  • “Stale Cache: While Origin Offline / While Updating” seçenekleriyle
    • Origin arızasında bile önbelleğe alınmış içerik sunulmaya devam ediyor
    • Güncelleme sırasında da eski önbellek geçici olarak servis ediliyor
  • Otomatik oluşturulan pull zone alan adını gerçek alan adına yönlendirmek için Edge Rule ekleniyor
    • Kural adı: “Default domain redirect”
    • İşlem: Redirect, durum kodu 301
    • Koşul: *://<slug>.b-cdn.net/* isteği geldiğinde https://jola.dev{{path}} adresine yönlendir

Sonuç ve değerlendirme

  • Bu yapılandırma yalnızca bunny.net'in temel özelliklerini ele alıyor; Edge Rules, gelişmiş önbellek yapılandırması, güvenlik Shield, video streaming, Edge Scripting, Edge Containers gibi konular henüz kapsanmıyor
  • Kontrol panelindeki istatistikler, loglar ve metrikler çok ayrıntılı; istek bazında önbellek durumu ve sorunlar takip edilebiliyor
  • Gelecekte tüm servisler bunny.net'e taşınıyor ve S3 uyumlu depolama ürününün çıkması bekleniyor
  • Bireysel kullanıcılar için de Cloudflare alternatifi olarak yeterince rekabetçi bir seçenek

1 yorum

 
GN⁺ 22 일 전
Hacker News yorumları
  • Olumlu bir blog yazısıysa, şeffaf açıklama adına sayfadaki tüm bağlantıların Bunny Affiliate Program bağlantıları olduğunu belirtmek iyi olurdu

    • Çok fazla bağlantı koyduğumu fark edip bazılarını kaldırdım. Bunu sadece Bunny'nin bir affiliate programı olması ilgimi çektiği için eklemiştim, bilerek gizlemedim
    • Hukuk uzmanı değilim ama karşılığında ödül alınan tavsiyeleri açıklamamak FTC rehberine aykırı olabilir. Benzer kuralların yalnızca ABD'de değil, Birleşik Krallık'ta da olduğu anlaşılıyor
  • bunny.net'i CDN ve DNS için kullanıyorum
    Ücretsiz hizmetlerin bir gün ücretliye dönebileceği kaygısı yüzünden, en baştan az da olsa ödeme yapmanın daha iyi olduğunu düşünüyorum. 2 dolardan 3 dolara çıkması sorun değil ama ücretsizden 20 dolara geçmesi riskli
    Ayrıca geliştiricileri önemseyen küçük ve bağımsız şirketleri tercih ediyorum. Bu yüzden bunny.net, transistor.fm ve Plausible Analytics kullanıyorum

    • O durumda yapman gereken şey başka bir sağlayıcıya geçmek. CDN ve DNS'te vendor lock-in neredeyse yok; ayarları dışa aktarıp başka yere içe aktarabilirsin
    • Mantıken bakınca Cloudflare'ın ücretsiz kullanımı sadece biraz kısması daha olası. Gerçekte birbirini yıkıcı fiyatlandırmadan kaçınmak isterler. Küçük bir şirket kullanmak yine de iyi bir tercih
    • Ücretsiz hizmetler sonuçta sağlayıcıya yarar sağladığı için kullanıcı kolayca “ürün” haline gelir. Para ödediğinde değer alışverişi netleşir
    • Ama ücretli hizmetlerde de ani fiyat artışları ya da şart değişiklikleri olabilir
    • Ben de aynı nedenle bunny.net kullanıyorum. Bunun bir nedeni de internet ekosistemindeki çeşitliliğin korunması
  • Cloudflare Workers + Pages ile bir SaaS işletiyorum. Sunucusuz fonksiyonlar ve statik siteyi aynı depodan dağıtabilmek geliştirici deneyimi açısından çok iyi
    Ama son zamanlarda CDN edge cache'in dağıtımdan sonra bile eski HTML sunması sorununu yaşadım. Hata ayıklaması zor ve hangi cache katmanının sorun çıkardığını tahmin etmek gerekiyor
    Yine de ücretsiz katmanda başlamak için en iyilerden biri. Workers, Pages, KV ve R2 ile neredeyse ücretsiz denebilecek bir prodüksiyon uygulaması çalıştırılabiliyor

    • Cloudflare'ın en büyük avantajı wrangler CLI. Claude Code ile birlikte kullanınca yapılandırma ve hata ayıklamayı tamamen otomatikleştirebiliyorsun
    • Bunny'de de benzer özellikler var. SQLite uyumlu API ve edge function'lar da sunuyor. Ben bölgesel hata ayıklama sorunları nedeniyle dnsisbeautiful.com/global-http-availability adlı ücretsiz bir araç yaptım
    • Ben de aynı cache sorununu yaşadım ve bunu çözmek için script paylaşan biri de olmuştu
    • Bunny'de ücretsiz katman yok ama ön ödemeli model kullandığı için ani faturalandırma riski de yok. Trafik patlaması yüzünden yüz binlerce dolarlık fatura çıkmaması hoşuma gidiyor
    • Biz dağıtımdan sonra CI içinde cache'in otomatik temizlenmesini ayarladık. Yine de cache yayılımındaki gecikme yüzünden stale içerik tekrar cache'lenebiliyor
  • Cloudflare artık sadece bir CDN değil, bir edge platformu. Eğer Bunny'ye kolayca geçebiliyorsan, Cloudflare'ın asıl yeteneklerini kullanmıyordun demektir
    WinterTC gibi standartları düzgün desteklememesi üzücü. BunnySDK'deki gibi özel bir serve fonksiyonu kullanmak ise daha da ağır bir özel bağımlılık

    • Bu arada Cloudflare'ın edge platformu da epey kapalı
    • WinterTC, HTTP sunucusunun nasıl başlatılacağını tanımlamaz. En azından yalnızca Fetch API'nin Request/Response arayüzlerini zorunlu kılar
  • Bunny'yi çeşitli amaçlarla kullanıyoruz ve çok memnunuz. Özellikle destek kalitesi çok iyi. Cloudflare iyi ama ücretli enterprise destek almıyorsan sınırları var. UpCloud'un da desteği harika

  • “Cloudflare internetin tek hata noktasıdır” sözü sık duyuluyor ama gerçekte durum daha karmaşık
    Küçük hizmetler daha çeşitli şekilde kullanılırsa arızaların dağılımı değişebilir. Bunun karşılığında daha sık ama daha küçük çaplı kesintiler de yaşanabilir
    Ayrıca Cloudflare altyapısı tamamen merkezi değil. Bazı hizmetler bölgelere göre bağımsız

    • Ama tek bir sağlayıcı kullanmak yine de tek hata noktası demektir. Gerçek dayanıklılık istiyorsan birden fazla sağlayıcıyı birlikte kullanman gerekir. Yani kendi origin sunucunu işletip CDN'i minimumda tutmalısın
  • Bir yıl önce Bunny'ye geçtim ve çok memnunum. AB tabanlı CDN sunabilmesi de güzel, ayrıca Magic Containers sayesinde dünya çapında ölçeklenebilen bir API'yi aylık yaklaşık 1 dolara çalıştırabiliyorum

    • Magic Containers özellikle küçük projeler için uygun. Cloudflare Durable Objects'e benzer işlevleri çok daha ucuza sağlıyor
  • Bu yazı reklam gibi görünebilir ama aslında sadece deneyim paylaşımıydı. Affiliate bağlantıları belirtilmişti, gizleme niyeti yoktu

    • “Bir tek hata noktasından başka bir tek hata noktasına geçtin” eleştirisi yanlış anlama. Yazar kendi sitesinden değil, internetin genel merkezileşmesinden endişe ediyordu. Bunny, ABD merkezli yapıya bir alternatif
    • Bazıları bu başlığı spam diye bildirdi
  • Dikkat edilmesi gereken bir nokta da eğitim kurumları gibi yerlerde *.b-cdn.net alan adının sıkça engellenmesi

    • Biz de Cloudflare R2'yi CDN olarak kullanırken bazı Avrupa devlet kurumlarında varlıkların engellendiği sorunu yaşadık. Bunny'ye geçince hepsi çözüldü
  • Üzücü tarafı ücretsiz hosting olmaması. Trafik az olsa bile ayda 1 euro (KDV hariç) ödemen gerekiyor
    Ayrıca CNAME flattening destekleyen DNS sağlayıcısı çok değil. Cache invalidation'ı da düzgün yansıması için iki kez yapmak gerekiyor

    • Fiyatla dalga geçenler var ama asıl mesele tutar değil, giriş engeli. Kredi kartı girme zorunluluğu sorun
    • “1 euro da mı çok pahalı” diye alay eden tepkiler de vardı
    • Aslında ücretsiz katmanın olmaması bir hata değil, özellik. Öngörülebilir maliyet yapısı için yapılmış bir tercih
    • GitHub Pages gibi ücretsiz ama sık sık kesinti yaşayan hizmetlerle kıyaslayınca 1 euro gayet ödenebilir bir miktar
    • Sonuçta mesele ayda 1,20 euro ödemek