Internetin kenarında
29 June 12, Friday @ 17:18Son iki yılımı şirketin yelpazesindeki ana ürünlerden biri olan Transparent Cache (Şeffaf Önbellek) yazılımını geliştirmekle geçirdim. Bu ürün ağınızdaki kullanıcıların üçüncü parti siteler üzerinden eriştikleri canlı veya sabit video dosyalarını yerel önbellekten sunabilmenizi ve internet bağlantınızın kapasitesinden ciddi oranda tasarruf etmenizi sağlıyor.
Bunu squid yada nginx proxy/cache modülüyle direk olarak yapamıyoruz; video yayınlayan sitelerin bant genişliklerini korumak için kullandığı mekanizmalar, canlı video için gereken düşük gecikme süreleri, sunucu ve istemcilerin uyumsuz davranışları gibi sorunları çözecek kodlara ihtiyaç var.
Önbelleklemeye olan ihtiyaç, gittikçe artan video trafiğinden kaynaklanıyor. Video klip siteleri ve TV kanallarının yayınları dışında, Netflix ve iTunes gibi film yayıncıları en büyük bant genişliği işgalcileri haline geldiler. Yalnızca Netflix, trafiğin tepe zamanlarında Amerika'daki indirme bant genişliğinin neredeyse %30'unu kullanmaya başladı.
Bu hizmetlere olan tercih öyle büyük ki, normalde makul fiyatlara satın
alıp bilgisayar, tv, tablet ve telefonunuzdan kolayca izleyebileceğiniz
yüzlerce dizinin yanında, izlemek için tüm kablo kanalına abone
olmanızı isteyen ve alternatif sunmayan Game of Thrones
en çok korsan izlenen dizi oldu!
Bant genişliğine bir çözüm Bittorent gibi p2p (peer-to-peer, yanaktan yanağa :) protokoller. Burada istemciler ellerindeki parçaları diğer istemcilere göndererek ağın daha verimli kullanılmasını ve ana sunucu üzerindeki yükün azalmasını sağlıyorlar. Ancak bu sistem parçaların geliş sırası karışık olacağı için canlı yayına, toplam aktarım miktarını azaltmadığı ve uç noktadaki istemcilerde de gönderme yönünde bant genişliği ihtiyacı gerektirdiği için mobil istemcilere ve aradaki hatların sahiplerine bir çözüm değil.
Yaygın çözüm ise, Content Delivery Network (İçerik dağıtım ağı) denen ve değişik coğrafi konumlardaki sunuculardan oluşan, içeriğin istemciye en yakın sunucudan aktarıldığı hizmetleri kullanmak. Bunlar genelde önbellek mantığıyla değil, içeriğin önceden sunuculara aktarılmasıyla çalışıyorlar; ve şeffaf değiller, yani ana sunucunun istemcileri sisteme yönlendirmesi gerekiyor.
Bazı firmaların kendi özel çözümleri de var. Mesela Google Global Cache, bir kara kutu şeklinde ağınıza koyabileceğiniz bir ürün. Google'ın video başta olmak üzere bir sürü servisini önbellekliyor ve hızlandırıyor. Tam olarak ne yaptığı bilinmeyen ve yalnızca bir firmanın servisleri için çalışan bir sistem doğal olarak hiç bir hizmet sağlayıcının hoşuna gitmez, gene de GGC dünyada epey noktaya kurulmuş durumda.
Netflix ise birçok CDN sağlayıcı ile zaten çalışıyor olmasına rağmen, daha küçük hizmet sağlayıcıların da faydalanabilmesi için OpenConnect adını verdiği ve özgür yazılımları kullanarak oluşturduğu bir sistemi duyurdu. Bunu kurup Netflix'in CDN ağına katılabiliyorsunuz.
Bu gelişmeler sunucuları internetin merkezinden, yüksek hızlı bağlantılara sahip veri merkezlerinden alıp; internetin kenarına (edge), yüksek hızlı ağların istemcilerin yerel ağlarına temas ettiği noktalara doğru taşımakta.
Internetin kenarında oluşan bu bulut sistemleri, önbellekleme ve hızlandırma dışında, faydalı ölçümler yapabilmek için de uygun konumdalar.
Mesela MeasurementLab projesi, böyle bir bulut kurmaya, ve üzerinde çalışacak ölçüm yazılımlarıyla, ağ hızlarını, belli uygulamaların bloklanıp bloklanmadığını, Internet hizmet sağlayıcıların trafik biçimlendirme yapıp yapmadığını, ve benzeri bilgileri ağ haritası üzerinde görselleştirmeye ve herkesin kullanımına açmaya çalışıyor.
Bu tip bir sistemle gizli sansürü veya bilgi değişikliği müdahalelerini yakalamak da mümkün olacaktır.
CDN ve ölçüm sistemleri, kenar bulutlarının -şimdilik- iki uygulaması. Gelecekte yeni uygulamalarla önemleri daha da artabilir.
4 comments...