Web uygulamalarının çoğu tek bir sunucuda çalıştırılabilir
- Web geliştirme sahnesini takip ederken görülen şey şu: birçok web sitesi ve uygulama karmaşık bir altyapıya ihtiyaç duymuyor; çoğu web sitesi ve uygulama saniyede 10'dan az istek alıyor, yoğun günlerde ise bu sayı 50 seviyesine çıkıyor.
- Dünya geneline yayılmış endpoint'ler gecikmeyi azaltabilir, ancak veriye erişmek gerekiyorsa bunun pek anlamı yok; istemciye 20 ms uzaklıkta olsanız bile veritabanı o endpoint'ten 200 ms uzaktaysa faydası sınırlı kalır.
- Caching faydalıdır, ancak bu CDN veya basit HTTP caching ile elde edilebilir. Güncellemeden sonra yeni dosyaları CDN'e iterseniz, çoğu durumda tüm site CDN üzerinden çalıştırılabilir.
- Dinamik işlevler için birkaç API endpoint'i gerekebilir, ancak bu da örneğin JavaScript ile ele alınabilir.
- Projelerin çoğu 5 dolarlık bir VPS üzerinde container olarak çalıştırılabilir ve bu hatta daha hızlı bile olabilir.
GN⁺ görüşü
- Bu yazı, web uygulaması geliştirmede aşırı altyapı kullanımına eleştirel bir bakış sunuyor. Birçok web uygulamasının aslında basit altyapılar üzerinde de yeterince çalıştırılabileceğine dikkat çekiyor; bu da giriş seviyesindeki yazılım mühendislerine, altyapı kurarken gereğinden fazla kaynak harcamaktan kaçınmanın ve ihtiyaç kadar kaynak kullanmanın önemini hatırlatıyor.
- Yazı ayrıca caching ve CDN'in önemini vurguluyor; bunlar web uygulamalarının performansını artırmada temel unsurlar. Bu da web geliştiricilerin performans optimizasyonu için caching stratejilerini düşünmesi gerektiğine işaret ediyor.
- Web uygulaması küçük ölçekliyse veya yüksek trafik almıyorsa, karmaşık dağıtık sistemler yerine tek bir sunucu ya da basit bulut hizmetlerini değerlendirmek maliyet açısından daha verimli olabilir. Bu özellikle startup'lar veya küçük projeler için geçerlidir.
- Yazı, web geliştiricilere teknoloji seçiminde dikkatli olmalarını ve projenin gerçek ihtiyaçlarına uygun altyapıyı seçmelerini öneriyor. Bu, teknoloji trendlerine kapılmadan somut gereksinimleri karşılayan geliştirme yaklaşımını benimsemeye yardımcı olur.
- Eleştirel açıdan bakıldığında, bu yazı büyük ölçekli trafiği yönetmek zorunda olan büyük web uygulamaları veya hizmetler için geçerli olmayabilir. Bu nedenle, projenin ölçeğine ve gereksinimlerine göre uygun altyapıyı seçmenin önemli olduğunu kabul etmek gerekir.
1 yorum
Hacker News görüşleri
Bir kullanıcı, kendi projesi Hacker News (HN) ana sayfasına çıktığında 5 dolarlık bir Digital Ocean droplet üzerinde bile trafiği sorunsuz şekilde karşıladığını doğruladığını söyledi. Çoğu proje için asenkron yanıtlar ile scheduler/kuyruk kullanıp yükü zamana yayarak yatay dağıtmanın yeterli olduğunu savundu. Ayrıca yeni DevOps kültürünün bulut uygulama dağıtımını gereksiz yere karmaşıklaştırdığını eleştirerek, basit yazılımlar için aşırı ölçeklenmeye gerek olmadığını belirtti.
Standard Ebooks'un her ay kayda değer sayıda sayfa görüntülemesi ve e-kitap sunduğu, ayrıca HN ana sayfasına 3-4 kez çıkmış olmasına rağmen her şeyi tek bir 4GB VPS ile yürüttüğü belirtildi. Yalnızca 'Decline and Fall of the Roman Empire' e-kitabını üretmek için daha fazla RAM gerektiğinden 2GB'tan 4GB'a yükseltme yaptığı, aksi halde 2GB'lık bir sunucunun da yeterli olacağı söylendi. Buna dair bir blog yazısı bağlantısı da paylaşıldı.
Bir kullanıcı, bir mühendisin k8s öğrenmek istemesi dışında k8s kullanmak için bir neden olmadığını söylediğini aktararak, k8s yüzünden sunucu loglarına bile bakamadığından şikayet etti. Cloudflare'in 5 dolarlık planının bunun için yeterli olacağını savundu.
sqlite.org'un günde 500.000'den fazla HTTP isteğini işlediği ve yaklaşık 200GB içerik sunduğu, bunun için de aylık 40 dolarlık bir Linode kullandığı belirtildi. Eğer uygulamanız sqlite.org'dan daha fazla istek almıyorsa, daha fazla ödeme yapmanız gerekmediği savunuldu.
Bir kullanıcı, Oracle Free Tier kullanarak backend'i ücretsiz çalıştırdığını, Cloudflare tünelleme ve Pages ile frontend entegrasyonunu da ücretsiz kurduğunu ve bu şekilde günde yaklaşık 10.000 isteği işleyen birden fazla web uygulaması çalıştırdığını paylaştı.
Kişisel web sitesi, iki çok oyunculu oyun sunucusu ve tünelleme için frp dahil olmak üzere birden fazla uygulamayı tek bir 5 euroluk sunucuda çalıştırdığını, sunucu pes edene kadar daha fazlasını eklemeyi planladığını söyledi. Ayrıca başka uygulamaların da 5 euroluk bir VM üzerinde gayet iyi çalıştığını belirtti.
Bir kullanıcı, Terraform dosyaları yüzünden gerçek işlevleri yazmaktan 4 kat daha fazla zaman harcadığı bir deneyimini paylaştı. Söz konusu şirketin günde 1.000'den az hit aldığı da ifade edildi.
Aylık 4 dolarlık bir VPS'in saniyede binlerce sorguyu işleyebildiğini belirten bir kullanıcı, ilgili bir bağlantı paylaştı.
Web uygulamalarının çoğunun tek bir makinede çalışabileceği, ancak müşterilerin çoğunun neredeyse %100 uptime beklediği ve tek bir makinenin bu beklentileri karşılayamayacağına dikkat çekildi.
Basit web uygulamaları için karmaşık sistemlere gerek olmadığını söyleyen görüşe karşı çıkan bir kullanıcı, dahili servislerini ve dashboard'larını tek bir binary üzerinde çalıştıran FAANG benzeri şirketler olduğunu, ancak downtime doğrudan zarara yol açtığında karmaşık sistemlerin gerekliliğinin anlaşıldığını savundu.