· kaynak Cloudflare blog
Cloudflare blogunu EmDash ve Astro üzerinde yeniden inşa etti, isteklerin %70'i cache'ten sunuluyor
Cloudflare, blogundaki yenilemenin Astro ve Cloudflare Workers için geliştirilmiş, 1.0 öncesi bir CMS olan EmDash'e geçişin parçası olduğunu; katmanlı cache'lemenin artık isteklerin %70'ini cache'ten sunduğunu açıkladı.

Ne oldu
Cloudflare, blogunun yakın zamanda yapılan yenilemesinin perde arkasını açıkladı ve görsel tazelik, çok daha büyük bir projenin görünür yarısı çıktı. Cloudflare blogunda yayımlanan bir yazıya göre site, 12 Ağustos Çarşamba günü, özellikle Astro üzerinde çalışmak ve Cloudflare'ın platformuyla uyumlu olmak üzere tasarlanmış bir içerik yönetim sistemi olan EmDash'e taşındı.
Yenileme ile dark mode eklendi, görünüm modernize edildi ve uzun süredir süren çeşitli küçük sorunlar giderildi. Asıl önemli kısım ise altındaki göç: Cloudflare Workers ve birkaç cache katmanı üzerine kurulu yeni bir prodüksiyon mimarisi. Yazının kendi başlığı olan "The Cloudflare Blog – Brought to you by EmDash", medya sponsorluğu ifadesini ödünç alarak yeni CMS'i yayını destekleyen bir reklamveren tarzında sunuyor.
Bir CMS'ye uygulanan Customer Zero
Cloudflare, "Customer Zero" dediği bir kültürel norm tanımlıyor: kendi ürünlerini herkesten önce kendi içinde kullanıyor ve Codex olarak bilinen iç mühendislik standartları, dışarıdan bir satıcı getirmek isteyen her ekibin ispat yükünü üzerine almasını şart koşuyor. EmDash henüz 1.0 öncesindeyken ve mevcut CMS satıcısı sınırlamalar gösterirken, blog ekibi yeni sistemin ilk ve en talepkâr müşterisi haline geldi.
Değerlendirme iki soruya indirgendi: EmDash iş akışları için uygun muydu ve blogun trafiğini kaldırabilir miydi?
Boşlukların bulunması
Cloudflare, yayımlama ve yayımdan kaldırma, yazı yazma, gönderileri zamanlama ve medya ekleme dahil olmak üzere yaygın editoryal akışları tek tek denedi. Genel olarak CMS bunları makul ölçüde yönetti, ancak ekip üç alanda eksiklikler kaydetti: Cloudflare Blog'un ölçeği (medya yönetimi, içerik varlığı araması ve yazar byline'ları kapsayan); yerelleştirme, SEO ve Content Security Policy konularındaki nüanslar; ve yönetici-editör kullanılabilirliği (özel HTML bloklarının ne kadar kolay bulunabildiği, varlık içi içerik editöründeki hatalar ve uzun yazılarda biçimlendirme araç çubuğunun görünürde kalması gibi).
En büyük eksik, EmDash 0.19.0 sürümüne kadar çalışmayan zamanlanmış yayımlamaydı. Ekip bunu erken aşamadaki bir ürün için anlaşılır buluyor, ama tam da bir yazının planlanan saati geçmeden, geçtikten sonra değil, keşfetmeyi tercih edeceğiniz türden bir şey.
Lansmandan önce yük testi
Blogun trafiği büyük ölçüde dalgalanıyor. Cloudflare normal yükün saniyede yaklaşık 75 istek olduğunu, 5.000 RPS'yi aşan sıçramalar yaşandığını bildiriyor. Bazı sıçramalar viral yazılarla örtüşüyor; diğerleri gece gündüz her saat geliyor ki ekibin şüphesi bunun insanların ne olacağını görmek için ekstra trafik göndermesi. Cloudflare web performansı sattığı için sayfa yükleme hızı pazarlıksız kabul edildi.
Ekip, açık kaynak bir yük testi aracı olan k6 ile üç senaryo oluşturdu: prodüksiyon taban çizgisinin üç katına tırmanıp sonra soğuyan bir Ramp; on dakikada sıfırdan 100 RPS'ye çıkıp bir şey kırıldığında duran bir Breakpoint; ve binlerce sanal kullanıcı atanmış şekilde bir dakika boyunca anında 7.000 RPS uygulayan bir Burst. Geçiş eşikleri katıydı. İsteklerin %0,01'inden fazlası 5xx hatası döndürürse, yanıtların %5'ten fazlası P95'te 500 ms'yi aşarsa veya %1'den fazlası P99'da 1.000 ms'yi aşarsa başarısızlık tetiklenecekti.
Ortaya çıkan prodüksiyon yığını, EmDash'i bir Cloudflare Worker üzerinde çalıştırıyor ve önünde, Cloudflare'ın blogu bunu kullanan ilk büyük site olduğuna inandığı yeni Workers Cache bulunuyor. Workers KV üzerine kurulu bir EmDash nesne cache'i, EmDash ekibi tarafından özellikle bu dağıtım için oluşturuldu ve birinci taraf bir Hyperdrive entegrasyonu veritabanı için PlanetScale'e bağlanıyor. Yazıya göre kazanç şu: statik dosyaların tipik olarak %99,5'i ve tüm isteklerin %70'i cache'ten sunuluyor, bu da frontend'i hızlandırıyor ve veritabanı üzerindeki yükü azaltıyor.
Yenilemenin kendisi
Yeni backend'in üzerine frontend, Cloudflare'ın Kumo tasarım sistemi desenleri kullanılarak yeniden inşa edildi; böylece blog artık şirketin ana sayfası, kontrol paneli ve pazarlama siteleriyle uyumlu. Baş özellik, uzun süredir okuyucu talebi olan, açık bir düğmenin yanı sıra sistem tercihlerine bağlanan yerleşik açık ve koyu modlar. Her iki temada da erişilebilirlik yönergelerine uyuldu ve renk paleti ile kod sözdizimi vurgulama, okunabilirlikten ödün vermeden ikisine de uyum sağlıyor.
İki kullanılabilirlik düzeltmesi öne çıkıyor. E-posta abonelik formu eskiden sağ üst köşedeydi ve okuyucular sık sık yanlışlıkla arama sorgularını buraya yazıyordu; artık her yazının sonunda ayrı bir çağrıda yer alıyor. İç sayfalar da kenar çubukları kazandı: sağda, uzun teknik yazılarda okuma ilerlemesini izleyen "On this page" içindekiler tablosu ve solda, yazıları paylaşmak ve sohbetlere katılmak için bir "Discuss Online" bölümü.
Neden önemli
Cloudflare Blog, web'deki en geniş okuyuculu geliştirici odaklı yayınlardan biri ve bu yüzden bu, bir tasarım hikayesinden çok kamusal bir referans uygulama. 1.0 öncesi bir CMS, aşırı dalgalanan trafiğe sahip bir prodüksiyon sitesine yerleştirildi ve zamanlama, yerelleştirme, CSP yönetimi ve editör kullanılabilirliğindeki boşluklar, dış müşteriler onlarla hiç karşılaşmadan önce, ateş altında giderildi. Mimari ayrıca Cloudflare'ın yeni yapı taşlarının canlı bir vitrini: Workers Cache, Workers KV ve Hyperdrive gerçek iş yapıyor ve bunu kanıtlayan cache isabet sayıları var. Son olarak, "Brought to you by EmDash" çerçevesi, şirketin kendi yüksek trafikli yayınını yalnızca altyapı için değil, böyle bir sitede sponsorluk tarzı sunumun nasıl görünebileceğine dair bir deneme alanı olarak kullandığını gösteriyor.
- #cloudflare
- #cms
- #astro
- #web-performance
- #emdash