- Web tek bir bilgisayarda başladı
- 32 yıl geçti ama hâlâ tek bir bilgisayarmış gibi geliştiriyoruz
- Son birkaç yılda statik siteler, CDN üzerinden kullanıcılara yakın noktalardan sunuldu
- Şimdi aynı şey dinamik web uygulamalarında da yaşanıyor. Artık her yere dağıtım mümkün
Edge nedir
- İnsanlar "The Edge" dediğinde, sitenizin veya uygulamanızın dünyanın dört bir yanındaki her kullanıcıya yakın birçok sunucuya dağıtılması kastedilir
- Biri sitenizi/uygulamanızı istediğinde en yakın sunucuya yönlendirilir
- Bu dağıtık sunucular, yalnızca statik site varlıklarını değil, dinamik web uygulamalarını destekleyen özel kodları da çalıştırabilir
- Yakındaki sunuculara taşınmak, gecikmeyi optimize etmeye yönelik bir girişimdir
- Sayfa yüklenmesi uzadıkça kullanıcının ayrılma olasılığı artar
- Heroku gibi bir yere dağıtırsanız uygulama Kuzey Amerika’daki AWS veri merkezine gider ve Avrupa ya da diğer şehirlerde TTFB (Time to First Byte) yavaşlar
- Ancak Edge Network’ümüz olan Deno Deploy üzerinde çalışan Deno.com’u test ederseniz TTFB çok daha hızlıdır
- “Server” kavramı ilk kez 1969 tarihli RFC’de tanıtıldı
- Tim Berners-Lee’nin ofisindeki NeXT makinesi ilk web sunucusuydu. Ancak internet o noktada zaten 20 yılı aşkın süredir çalışıyordu
İçeriği kullanıcıya yakın yerlerde önbelleğe almak
- Sunucu mimarisi uzun süre iyi çalıştı ama 90’ların sonlarından itibaren web büyüdükçe sorunlar ortaya çıkmaya başladı
- Akamai, 1998’de ilk CDN’i tanıttı
- Akamai’nin CDN’i, içeriği dağıtık bir sunucu sistemi üzerinde önbelleğe alıyordu
- CDN, modern web’in önemli parçalarından biri hâline geldi
Daha az sunucu, daha fazla serverless
- Sunucular, "aşırı yüklenme"nin ters tarafında da sorun yaşar: yetersiz kullanım
- Sunucular kapatılamaz; zamanın %100’ünde açık kalmaları gerekir ve bunun maliyeti vardır
- Serverless bu sorunu hafifletir. Gerektiğinde başlar, sonra tekrar kapanır
- Ancak "serverless" kötü bir isimdir. Sunucular ortadan kalkmaz, hâlâ işin içindedir
- Sadece her zaman çalışan dedicated sunucular yoktur
- Yaygın olarak kullanılan ilk serverless framework, AWS Lambda’ydı
- Serverless’ın iki avantajı vardır
- Yalnızca kullandığınız kadar ödersiniz
- Sunucuların yönetimiyle uğraşmanız gerekmez. Planlama, yönetim, bakım yoktur
- Dezavantajı ise çoğunlukla performanstır
- "Cold Start" problemi
- Ve sunucular hâlâ merkezî olduğu için uzun bir round-trip vardır
- Böylece bugünkü noktaya geldik
Livin' on the edge
- Edge’in güzelliği, CDN’in avantajlarını (kullanıcıya yakın olmak) ve Serverless’ın avantajlarını (fonksiyon çalıştırmak) bir araya getirip birleştirmesidir
- Yani Edge ile kullanıcıya yakın yerlerde özel kod çalıştırabilirsiniz. Bunun birçok avantajı vardır
Daha iyi performans
- Kullanıcının önemsediği tek şey budur
- Siteniz veya uygulamanız kullanıcıya yakın bir Edge sunucusunda çalışırsa merkezî sunucudan daha hızlı olur
- Ama performans avantajı bununla sınırlı değildir
- Compute, kullanıcının tarayıcısında değil Edge’de çalışır
- Uygulama, kullanıcının makinesinde daha az kaynak gerektirir
- Kullanıcıya daha az payload iletildiği için daha az bant genişliği kullanılır
- Fonksiyonlar kontrollü bir ortamda çalıştığı için, fonksiyonlar ve API’ler tutarlı biçimde çalışır
Daha iyi güvenlik
- Hesaplamayı istemciden/cihazdan serverless Edge’e taşımak, uygulamanın saldırı yüzeyini azaltır
- DDoS saldırısı gerçekleştirmek daha zordur
Daha iyi geliştirici deneyimi
- Bugün Edge için kod yazmak gerekenden fazla zahmetlidir
- Sorunların çoğu, Edge geliştirmenin hibrit doğasından kaynaklanır
- Birçok framework Edge-First olarak geliştirilmediği için geliştiricinin her fonksiyonun ya da sayfanın Edge’de mi yoksa tarayıcıda mı çalışacağını seçmesi gerekir
- Ancak Fresh gibi yeni framework’ler, SSR ve Islands mimarisiyle bunu basitleştirir
- Fresh’i Deno Deploy ile birlikte kullanırsanız, gecikme optimizasyonu sayesinde tam Lighthouse skoru almak mümkündür
- Edge, internetin bir sonraki iterasyonudur.
Web’i hızlandırmadaki bir sonraki adımdır ve kullanıcılar ile geliştiriciler için daha güvenli bir yerdir
3 yorum
Fastly blogunda, mevcut veri merkezi bilişim altyapısının yaklaşık %70’inin edge’e taşınacağının öngörüldüğünü söylüyorlar haha
https://www.youtube.com/watch?v=yOP5-3_WFus
Deno Deploy Beta 1
Deno Deploy Beta 2
Fresh - yeni nesil web framework'ü