İçeriğin gizemli yolları ya da CDN hakkında birkaç söz söyleyelim

İçeriğin gizemli yolları ya da CDN hakkında birkaç söz söyleyelim

sorumluluk reddi:
Bu makale, CDN kavramına aşina olan okuyucuların daha önce bilmediği bilgileri içermemektedir ancak bir teknoloji incelemesi niteliğindedir.

İlk web sayfası 1990'da ortaya çıktı ve yalnızca birkaç bayt boyutundaydı. O zamandan beri içerik hem niteliksel hem de niceliksel olarak ölçeklendi. BT ekosisteminin gelişimi, modern web sayfalarının megabayt cinsinden ölçülmesine ve ağ bant genişliğini artırma eğiliminin her yıl güçlenmesine yol açmıştır. İçerik sağlayıcılar nasıl geniş coğrafi ölçekleri kapsayabilir ve her yerdeki kullanıcılara bilgiye yüksek hızda erişim sağlayabilir? İçerik Dağıtım Ağı veya kısaca CDN olarak da bilinen içerik dağıtım ve dağıtım ağlarının bu görevlerle başa çıkması gerekir.

İnternette giderek daha fazla “ağır” içerik var. Aynı zamanda çok sayıda çalışma, kullanıcıların web servislerinin yüklenmesi 4-5 saniyeden uzun sürüyorsa uğraşmak istemediklerini gösteriyor. Çok düşük bir site yükleme hızı, izleyici kaybıyla doludur ve bu da kesinlikle trafiğin, dönüşümün ve dolayısıyla kârın azalmasına yol açacaktır. İçerik dağıtım ağları (CDN'ler) teorik olarak bu sorunları ve sonuçlarını ortadan kaldırır. Ancak gerçekte, her zamanki gibi, her şeye, bu alanda çok sayıda bulunan belirli bir vakanın ayrıntıları ve nüansları karar veriyor.

Dağıtılmış ağlar fikri nereden geldi?

Terimlerin tarihine ve tanımlarına kısa bir gezi ile başlayalım. CDN, çok sayıda kullanıcıyı kapsayan İnternet içeriğine erişim sağlamak için farklı konumlarda bulunan bir grup sunucu makinesinden oluşan bir ağdır. Dağıtılmış ağların amacı, kaynak sunucunun dışında bulunan birden fazla varlık noktasına (PoP) aynı anda sahip olmaktır. Böyle bir sistem, bir dizi gelen isteği daha hızlı işleyecek ve her türlü verinin yanıtını ve aktarım hızını artıracaktır.

Kullanıcılara içerik sunma sorunu, İnternet'in gelişiminin zirvesinde, yani. 90'ların ortasında. Performansı modern amiral gemisi dizüstü bilgisayarlara bile ulaşamayan o dönemin sunucuları, yüke zorlukla dayanabiliyor ve sürekli artan trafikle baş edemiyordu. Microsoft, bilgi otoyoluyla ilgili araştırmalara her yıl yüz milyonlarca dolar harcıyor (Bill Gates'in ünlü 640 KB'si hemen akla geliyor). Bu sorunları çözmek için hiyerarşik önbelleklemeyi kullanmak, modemlerden fiber optiğe geçmek ve ağ topolojisini ayrıntılı olarak analiz etmek zorundaydık. Durum, raylar boyunca hızla ilerleyen ve yol boyunca hızı artırmak için mümkün olan her şekilde modernize edilen eski bir lokomotifi andırıyordu.

Zaten 90'lı yılların sonlarında web portallarının sahipleri, yükü azaltmak ve gerekli istekleri sağlamak için aracı sunucuları kullanmaları gerektiğini fark ettiler. Dünyanın dört bir yanına coğrafi olarak dağılmış farklı sunuculardan statik içerik dağıtan ilk CDN'ler bu şekilde ortaya çıktı. Aynı sıralarda dağıtılmış ağlara dayalı bir iş ortaya çıktı. Dünyanın en büyük (en azından en büyüklerinden biri) CDN sağlayıcısı olan Akamai, 1998 yılında yolculuğuna başlayarak bu alanda öncü oldu. Birkaç yıl sonra CDN yaygınlaştı ve içerik dağıtımından ve katkılardan elde edilen gelirler aylık on milyonlarca doları buldu.

Bugün, yüksek trafikli bir ticari sayfaya gittiğimizde veya sosyal ağlarda iletişim kurduğumuzda bir CDN ile karşılaşıyoruz. Hizmet şu şirketler tarafından sağlanmaktadır: Amazon, Cloudflare, Akamai ve diğer birçok ulusötesi sağlayıcı. Dahası, büyük şirketler kendi CDN'lerini kullanma eğilimindedir ve bu da onlara içerik sunma hızı ve kalitesi açısından bir takım avantajlar sağlar. Facebook'un dağıtılmış ağları olmasaydı ve yalnızca Amerika Birleşik Devletleri'nde bulunan bir kaynak sunucuyla yetinseydi, Doğu Avrupa'daki kullanıcılar için bir profilin yüklenmesi çok daha uzun sürebilirdi.

CDN ve akış hakkında birkaç kelime

FutureSource Consulting, müzik endüstrisini analiz etti ve 2023 yılında müzik akışı hizmetlerine abone olanların sayısının neredeyse yarım milyar kişiye ulaşacağı sonucuna vardı. Dahası, hizmetler gelirlerinin %90'ından fazlasını ses akışından elde edecek. Videoda da durum benzer; hadi oynayalım, çevrimiçi konser ve çevrimiçi sinema gibi terimler zaten popüler sözlüğe yerleşmiş durumda. Apple, Google, YouTube ve diğer birçok şirketin kendi akış hizmetleri vardır.

İlk tanıtımında CDN öncelikle statik içeriğe sahip siteler için kullanılıyordu. Statik, kullanıcı eylemlerine, zamana ve diğer faktörlere bağlı olarak değişmeyen bilgilerdir; kişiselleştirilmiş değildir. Ancak akışlı video ve ses hizmetlerinin yükselişi, dağıtılmış ağlar için başka bir yaygın kullanım örneği daha ekledi. Dünyanın her yerindeki hedef kitleye yakın konumlandırılan ara sunucular, yükün yoğun olduğu dönemlerde içeriğe istikrarlı erişim sağlanmasını mümkün kılarak İnternet darboğazlarının yaşanmamasını ortadan kaldırır.

Bu nasıl çalışıyor

Tüm CDN'lerin özü yaklaşık olarak aynıdır: içeriği son tüketiciye daha hızlı sunabilmek için aracıları kullanın. Şu şekilde çalışır: Kullanıcı bir dosyayı indirmek için bir istek gönderir, bu istek CDN sunucusu tarafından alınır, orijinal sunucuya tek seferlik arama yapar ve içeriği kullanıcıya verir. Buna paralel olarak CDN, dosyaları belirli bir süre boyunca önbelleğe alır ve sonraki tüm istekleri kendi önbelleğinden işler. İsteğe bağlı olarak, dosyaları kaynak sunucudan önceden yükleyebilir, önbellek tutma süresini ayarlayabilir, ağır dosyaları sıkıştırabilir ve çok daha fazlasını yapabilirler. En ideal durumda, ana bilgisayar akışın tamamını kullanıcılara içerik sunmak için zaten kendi kaynaklarını kullanan bir CDN düğümüne aktarır. Bilgilerin etkili bir şekilde önbelleğe alınmasının yanı sıra isteklerin tek bir sunucuya değil ağa dağıtılmasının daha dengeli bir trafik yüküne yol açacağını söylemeye gerek yok.

İçeriğin gizemli yolları ya da CDN hakkında birkaç söz söyleyelim
CDN işleminin ikinci önemli özelliği veri iletimindeki gecikmelerin azaltılmasıdır (RTT - gidiş-dönüş süresi olarak da bilinir). TCP bağlantısı kurmak, medya içeriğini indirmek, JS dosyası, TLS oturumu başlatmak, bunların hepsi ping'e bağlıdır. Açıkçası, kaynağa ne kadar yakın olursanız, ondan o kadar hızlı yanıt alabilirsiniz. Sonuçta ışık hızının da bir sınırı var: Fiber optik üzerinden yaklaşık 200 bin km/s. Bu, Moskova'dan Washington'a kadar RTT'de gecikmenin yaklaşık 75 ms olacağı anlamına geliyor ve bu, ara ekipmanın etkisi olmadan gerçekleşiyor.

İçerik dağıtım ağlarının hangi sorunları çözdüğünü daha iyi anlamak için güncel çözümlerin bir listesini burada bulabilirsiniz:

  • Google, Yandex, MaxCDN (JS kitaplıklarını dağıtmak için ücretsiz CDN'leri kullanın, dünyanın çoğu ülkesinde 90'dan fazla varlık noktasına sahiptir);
  • Cloudinary, Cloudimage, Google (istemci optimizasyon hizmetleri ve kitaplıkları: resimler, videolar, yazı tipleri vb.);
  • Jetpack, Incapsula, Swarmify vb. (içerik yönetim sistemlerindeki kaynakların optimizasyonu: bitrix, wordpress vb.);
  • CDNVideo, StackPath, NGENIX, Megafon (statik içeriği dağıtmak için CDN, genel amaçlı ağlar olarak kullanılır);
  • Imperva, Cloudflare (web sitesinin yüklenmesini hızlandıracak çözümler).

Listedeki ilk 3 CDN türü, trafiğin yalnızca bir kısmını ana sunucudan aktarmak için tasarlanmıştır. Geriye kalan 2 tanesi, kaynak ana bilgisayardan kanalların tam aktarımıyla tam teşekküllü proxy sunucular olarak kullanılır.

Teknoloji kime ve ne gibi faydalar sağlıyor?

Teorik olarak, ürünlerini/hizmetlerini kurumsal müşterilere veya bireylere (B2B veya B2C) satan herhangi bir web sitesi CDN'nin uygulanmasından yararlanabilir. Hedef kitlesinin yani; Kullanıcı tabanı coğrafi konumlarının dışındaydı. Ancak durum böyle olmasa bile dağıtım ağları, büyük hacimli içerik için yük dengeleme konusunda yardımcı olacaktır.

Birkaç bin iş parçacığının bir sunucu kanalını tıkamak için yeterli olduğu bir sır değil. Bu nedenle, video yayınlarının genel halka dağıtılması kaçınılmaz olarak bir darboğazın - İnternet kanalının bant genişliğinin - oluşmasına yol açacaktır. Bir web sitesinde çok sayıda küçük, dikişsiz görsel (örneğin ürün önizlemeleri) olduğunda da aynı şeyi görürüz. Kaynak sunucu herhangi bir sayıda isteği işlerken indirme işlemini sıraya koyacak bir TCP bağlantısı kullanır. Bir CDN eklemek, istekleri birden çok etki alanına dağıtmayı ve birden çok TCP bağlantısı kullanmayı gerekli kılarak kanal yükünü hafifletir. Ve gidiş-dönüş gecikme formülü, en üzücü senaryolarda bile 6-7 RRT değeri verir ve şu şekli alır: TCP+TLS+DNS. Bu aynı zamanda cihazdaki radyo kanalının etkinleştirilmesi ve sinyalin baz istasyonlarına iletilmesiyle ilgili gecikmeleri de içerir.

Teknolojinin çevrimiçi ticarete yönelik güçlü yönlerini özetleyen uzmanlar, aşağıdaki noktaları vurguluyor:

  1. Hızlı altyapı ölçeklendirmesi + azaltılmış bant genişliği. Daha fazla sunucu = bilgilerin depolandığı daha fazla nokta. Sonuç olarak, bir nokta birim zaman başına daha az trafik işler, bu da daha az aktarım hızına sahip olabileceği anlamına gelir. Ayrıca optimizasyon araçları da devreye girerek pik yüklerle zaman kaybetmeden başa çıkmanıza olanak tanır.
  2. Daha az ping. İnsanların internette uzun süre beklemekten hoşlanmadıklarını daha önce belirtmiştik. Bu nedenle yüksek ping, yüksek hemen çıkma oranlarına katkıda bulunur. Gecikme, sunucudaki veri işlemeyle ilgili sorunlardan, eski ekipmanın kullanılmasından veya sadece kötü düşünülmüş ağ topolojisinden kaynaklanabilir. Bu sorunların çoğu içerik dağıtım ağları tarafından kısmen çözülmektedir. Ancak burada teknolojinin uygulanmasının gerçek faydasının ancak "tüketici pingi" 80-90 ms'yi aştığında görülebileceğini ve bunun Moskova'dan New York'a olan mesafe olduğunu belirtmekte fayda var.

    İçeriğin gizemli yolları ya da CDN hakkında birkaç söz söyleyelim

  3. Veri güvenliği. DDo'lar (Hizmet Reddi virüs saldırıları), bir miktar fayda elde etmek için sunucuyu çökertmeyi amaçlamaktadır. Tek bir sunucu, bilgi güvenliği açıklarına dağıtılmış bir ağa kıyasla çok daha duyarlıdır (CloudFlare gibi bir devin altyapısını kurmak kolay bir iş değildir). Filtrelerin kullanımı ve isteklerin ağ üzerinden doğru şekilde dağıtılması sayesinde, meşru trafiğe erişimde yapay olarak oluşturulan zorlukları kolayca önleyebilirsiniz.
  4. Hızlı içerik dağıtımı ve ek hizmet işlevleri. Büyük miktarda bilginin bir sunucu ağına dağıtılması, teklifin son tüketiciye hızlı bir şekilde iletilmesini mümkün kılacaktır. Yine örnekler için çok uzaklara bakmanıza gerek yok; Amazon ve AliExpress'i hatırlamanız yeterli.
  5. Ana sitedeki sorunları “maskeleme” yeteneği. DNS güncellenene kadar beklemenize gerek yoktur; onu yeni bir konuma aktarabilir ve önceden önbelleğe alınmış içeriği dağıtabilirsiniz. Bu da hata toleransını artırabilir.

Avantajlarını sıraladık. Şimdi hangi nişlerin bundan faydalandığına bakalım.

Reklam işi

Reklam ilerlemenin motorudur. Motorun yanmasını önlemek için orta derecede yüklenmelidir. Dolayısıyla modern dijital dünyayla baş etmeye çalışan reklamcılık sektörü, "ağır içerik" sorunlarıyla karşı karşıya. Ağır medya, yüksek ağ bant genişliği gerektiren multimedya reklamlarını (çoğunlukla animasyonlu banner'lar ve videolar) ifade eder. Multimedya içeren bir web sitesinin yüklenmesi uzun zaman alır ve donabilir, bu da kullanıcıların sinirlerinin gücünü test eder. Çoğu kişi, mevcut tüm bilgileri indirmeden önce bile bu tür kaynakları terk eder. Reklam şirketleri bu sorunları çözmek için CDN'lerden yararlanabilir.

Satış

E-ticaretin coğrafi kapsamını sürekli genişletmesi gerekiyor. Bir diğer önemli nokta ise her pazar segmentinde bolca bulunan rakiplerle mücadeledir. Bir web sitesi kullanıcı gereksinimlerini karşılamıyorsa (yüklenmesinin uzun sürmesi dahil), popüler olmayacak ve sürekli olarak yüksek dönüşümler sağlayamayacaktır. Bir CDN'nin uygulanması, farklı konumlardan gelen veri taleplerinin ele alınmasında avantajını kanıtlayacaktır. Ayrıca trafik dağıtımı, trafik artışlarının ve ardından gelen sunucu arızalarının önlenmesine yardımcı olacaktır.

Eğlence içerikli platformlar

Film ve oyun indirmekten video akışına kadar her türlü eğlence platformu buraya uygundur. Teknoloji statik verilerle çalışmasına rağmen, akış halindeki veriler tekrarlayıcılar aracılığıyla kullanıcıya daha hızlı ulaşabilmektedir. Yine, CDN bilgilerinin önbelleğe alınması, büyük portalların (multimedya depolama) sahipleri için bir kurtuluştur.

Online oyunlar

İnternet oyunları ayrı bir bölüme yerleştirilmelidir. Reklamcılık büyük bant genişliği gerektiriyorsa, çevrimiçi projeler daha da fazla kaynak gerektirir. Sağlayıcılar iki tarafı olan bir sorunla karşı karşıyadır: sunuculara erişim hızı + güzel grafiklerle yüksek oyun performansı sağlamak. Çevrimiçi oyunlara yönelik bir CDN, geliştiricilerin oyunları kullanıcılara yakın konumdaki sunucularda depolayabildiği "itme bölgelerine" sahip olma fırsatıdır. Bu, orijinal sunucuya erişim hızının etkisini azaltmanıza ve dolayısıyla her yerde rahat bir oyun deneyimi sağlamanıza olanak tanır.

CDN neden her derde deva değil?

İçeriğin gizemli yolları ya da CDN hakkında birkaç söz söyleyelim
Bariz avantajlara rağmen, herkes teknolojiyi işlerine sokmaya her zaman çabalamıyor. Nedenmiş? Paradoksal olarak, avantajların ardından bazı dezavantajlar gelir ve ayrıca ağ dağıtımıyla ilgili birkaç nokta daha eklenir. Pazarlamacılar teknolojinin tüm avantajlarından güzelce bahsedecek, ancak bunların çok çeşitli koşullarda anlamsız hale geldiğini söylemeyi unutacaklar. CDN'nin dezavantajlarına daha detaylı bakarsak şunu vurgulamakta fayda var:

  • Yalnızca statikle çalışın. Evet, modern web sitelerinin çoğunda dinamik içerik yüzdesi düşüktür. Ancak sayfaların kişiselleştirildiği durumlarda CDN yardımcı olamayacaktır (büyük miktarda trafiği boşaltmak dışında);
  • Önbelleğe alma gecikmesi. Optimizasyonun kendisi dağıtım ağlarının temel avantajlarından biridir. Ancak kaynak sunucuda bir değişiklik yaptığınızda, CDN'nin bunu tüm sunucularında yeniden ön belleğe alması zaman alır;
  • Toplu engellemeler. Herhangi bir nedenle CDN'nin IP adresi yasaklanırsa, CDN'de barındırılan tüm siteler kapatılır;
  • Çoğu durumda, tarayıcı iki bağlantı kuracaktır (orijin sunucusuna ve CDN'ye). Ve bunlar ek milisaniyelik bekleme süreleridir;
  • Daha önce kendisine atanmış projelerin (var olmayanlar dahil) IP adresine bağlanma. Sonuç olarak, Google arama botlarından karmaşık sıralamalar alıyoruz ve SEO tanıtımı sırasında siteyi üst sıralara çıkarmada zorluklar yaşıyoruz;
  • CDN düğümü potansiyel bir arıza noktasıdır. Bunları kullanırsanız, sistem yönlendirmenin nasıl çalıştığını ve siteyle çalışırken hangi hataların oluşabileceğini önceden anlamak önemlidir;
  • Bu basmakalıp bir şey ama içerik dağıtım hizmetleri için ödeme yapmanız gerekiyor. Genel olarak maliyetler trafik hacmiyle orantılıdır, bu da bütçeyi planlamak için kontrollerin gerekli olabileceği anlamına gelir.

Önemli bir gerçek: CDN'nin kullanıcıya yakınlığı bile düşük bir ping'i garanti etmez. Rota, bir istemciden başka bir ülkede veya hatta başka bir kıtada bulunan bir ana bilgisayara kadar oluşturulabilir. Bu, belirli bir ağın yönlendirme politikasına ve telekom operatörleri ile olan ilişkisine (eşleme) bağlıdır. Birçok büyük CDN sağlayıcısının birden fazla planı vardır ve bu planlarda maliyet, hedef kullanıcılara içerik sunarken varlık noktasının yakınlığını doğrudan etkiler.

Fırsatlar var; kendi CDN'nizi başlatın

İçerik dağıtım ağı hizmetleri sağlayan şirketlerin politikalarından memnun değilsiniz ama işletmenizin büyümesi mi gerekiyor? Mümkünse neden kendi CDN'nizi başlatmayı denemiyorsunuz? Bu, aşağıdaki durumlarda anlamlıdır:

  • İçerik dağıtımına ilişkin mevcut maliyetler beklentileri karşılamıyor ve ekonomik açıdan haklı değil;
  • Sunucu ve kanaldaki diğer sitelere yakınlığı olmayan kalıcı bir önbelleğe ihtiyacımız var;
  • Hedef kitle, kullanabileceğiniz CDN varlık noktalarının bulunmadığı bir bölgededir;
  • İçerik sunarken ayarları kişiselleştirme ihtiyacı;
  • Dinamik içeriğin dağıtımını hızlandırmaya ihtiyaç var;
  • Üçüncü taraf hizmetlerin kullanıcı gizliliğini ihlal ettiğine ve diğer yasa dışı eylemlere ilişkin şüpheler.

Bir CDN başlatmak, bir alan adına, farklı bölgelerdeki birkaç sunucuya (sanal veya özel) ve bir istek işleme aracına sahip olmanızı gerektirir. SLL sertifikalarını kurmayı, statik içerik (Nginx veya Apache) sunmak için programlar kurmayı ve düzenlemeyi ve tüm sistemi etkili bir şekilde izlemeyi unutmayın.

Önbelleğe alma proxy'lerinin doğru yapılandırılması ayrı bir makalenin konusudur, bu nedenle burada ayrıntılı olarak açıklamayacağız: nerede ve hangi parametrenin doğru şekilde ayarlanacağı. Başlangıç ​​maliyetleri ve ağın kurulum süresi dikkate alındığında hazır çözümlerin kullanılması daha umut verici olabilir. Ancak mevcut duruma göre hareket etmek ve birkaç adım ilerisini planlamak gerekiyor.

Sonucu ile bu

CDN, trafiğinizi kitlelere iletmek için kullanılan bir dizi ek kapasitedir. Çevrimiçi iş için bunlara ihtiyaç var mı? Evet ya da hayır, bunların hepsi içeriğin hangi kitleye yönelik olduğuna ve işletme sahibinin hangi hedefleri takip ettiğine bağlıdır.

Bölgesel ve son derece uzmanlaşmış projeler, CDN'nin uygulanmasının avantajlarından çok dezavantajlarına sahip olacaktır. İstekler yine de kaynak sunucuya ilk olarak bir aracı aracılığıyla gelecektir. Bu nedenle ping'deki şüpheli azalma, ancak hizmeti kullanmanın oldukça kesin aylık maliyetleri. İyi bir ağ ekipmanına sahipseniz, mevcut bilgi güvenliği algoritmalarını kolayca geliştirebilir, sunucularınızı kullanıcılara daha yakın hale getirebilir ve sürekli olarak ücretsiz optimizasyonlar ve karlar elde edebilirsiniz.

Ancak ara sunucular hakkında asıl düşünmesi gereken, altyapısı sürekli artan trafik akışıyla baş edemeyen büyük şirketlerdir. CDN, bir ağı geniş bir kullanıcı coğrafyasına hızlı bir şekilde dağıtmanıza, rahat bulut oyunları sunmanıza veya büyük bir ticari platformda ürün satmanıza olanak tanıyan bir teknoloji olarak mükemmel bir şekilde kendini gösterir.

Ancak geniş bir coğrafi kitleye sahip olsa bile içerik dağıtım ağlarına neden ihtiyaç duyulduğunu önceden anlamak önemlidir. Web sitesi hızlandırma hala CDN uygulayarak sihirli bir şekilde çözülemeyen karmaşık bir görev olmaya devam ediyor. Çapraz platform, uyarlanabilirlik, sunucu bölümünün optimizasyonu, kod, oluşturma vb. gibi önemli özellikleri unutmayın. Odak noktası ve ölçeği ne olursa olsun, ön teknik denetim ve sorunları ortadan kaldırmaya yönelik yeterli önlemler, herhangi bir çevrimiçi proje için hala en uygun çözümdür.

Reklam gibi

Hemen sipariş verebilirsiniz güçlü sunucularen yeni işlemcileri kullanan amd epik. Esnek planlar - 1 CPU çekirdeğinden inanılmaz 128 CPU çekirdeğine, 512 GB RAM'e, 4000 GB NVMe'ye kadar.

İçeriğin gizemli yolları ya da CDN hakkında birkaç söz söyleyelim

Kaynak: habr.com

Yorum ekle