Azure CDN Kullanarak Web Sitesi Performansını ve Duyarlılığını Nasıl Artırırsınız?
Web siteniz optimize edilmemişse, yüklenmesi sonsuza kadar sürüyorsa, içeriği istendiği gibi zamanında teslim etmiyorsa ve hata veya zaman aşımı gösteriyorsa başınız büyük belada demektir. Google sizi SERP oyunundan atacaktır. Kullanıcıların arkalarına yaslanıp web sitelerinin yüklenmesini bekleme sabrına sahip oldukları zamanlar geride kaldı.
İlginç bir şekilde, Azure CDN kullanarak sorunsuz bir kullanıcı deneyimi sağlarken tüm performans ve optimizasyon sorunlarını kolayca çözersiniz. Azure CDN, dünyanın herhangi bir yerinde yaşayan izleyicilere içerik sunmanıza ve izleyiciler için içeriğe erişim hızını artırmanıza yardımcı olacak sayısız özellik sunar. Dolayısıyla bu makale, CDN Azure’un ne olduğunu, nasıl çalıştığını, özelliklerini ve Azure CDN kullanarak site performansını iyileştirmeye ve içerik dağıtımını optimize etmeye nasıl yardımcı olduğunu anlamanıza yardımcı olmaya çalışacaktır.
Azure CDN nedir?
Azure Content Delivery Network (CDN), içeriklerini dünya çapında özenle seçilmiş fiziksel düğümlerde önbelleğe alarak kullanıcılara hızlı ve yüksek kaliteli içerik teslimi için kapsamlı bir çözüm sunar. Azure CDN, çok sayıda ağ geliştirmesini CDN POP’ları (örneğin, Sınır Ağ Geçidi Protokolü’nü (BGP) önlemek için yol iyileştirme) ile birleştirerek önbelleğe alınamayan dinamik içeriği hızlandırabilir.
Azure CDN gibi web varlıkları göndererek aşağıdakileri garanti edersiniz:
- Özellikle içerik yüklemek için çok sayıda gidiş-dönüş gerektiren uygulamaları kullanırken, son kullanıcılar için iyileştirilmiş kullanıcı deneyimi ve performansı
- Ürün lansmanı için bir etkinliğin başlatılması gibi ani yüksek yükleri yönetmek için daha iyi ölçeklendirme
- Kaynak sunucuya giden trafiği azaltmak için kullanıcı isteklerini bölme ve malzemeleri doğrudan uç sunuculardan sunma
Azure CDN nasıl çalışır?
Bir dosya veya varlık talep ettiğinizde Azure CDN, .azureedge.net gibi belirli bir etki alanı adına sahip bir URL kullanır. Bir uç nokta ana bilgisayar adı veya özel bir etki alanı olabilir. CDN daha sonra talebi DNS aracılığıyla en yakın POP (bulunma noktası) konumuna yönlendirir. Ancak, POP’taki uç sunuculardan hiçbiri dosyayı tutmuyorsa, POP dosyayı kaynak sunucudan ister. Kaynak sunucu bir Azure Web Uygulaması, Azure Bulut Hizmeti, Azure Depolama hesabı veya herkesin erişebileceği herhangi bir web sunucusu olabilir.
Ardından, kaynak sunucu, dosyayı önbelleğe alınacağı POP’taki bir uç sunucuya gönderecektir. Dosya daha sonra orijinal istek sahibine sunulur ve HTTP üstbilgilerinin yaşam süresi (TTL) sona erene kadar uç sunucuda önbelleğe alınır. Kaynak sunucu tarafından belirtilmemişse, varsayılan TTL yedi gündür.
Ayrıca, sonraki kullanıcılar da aynı URL’yi kullanarak aynı dosyayı talep edebilir ve aynı POP’a yönlendirilebilir. Dosyanın TTL’sinin süresi dolmadıysa, POP uç sunucusu dosyayı doğrudan önbellekten döndürerek daha hızlı ve daha duyarlı bir kullanıcı deneyimi sağlar.
Azure CDN gereksinimleri
Azure CDN kullanmak için en az bir Azure aboneliğine sahip olmanız gerekir. Ayrıca, bir dizi CDN uç noktasını kapsayan bir CDN profili oluşturmanız gerekir. Her CDN uç noktası, kullanıcılara yapılandırılabilir içerik teslim davranışı ve erişimi sağlar.
CDN Azure Özellikleri
Önbelleğe alma kuralları
Önbelleğe alma kuralları ile profilinizdeki her uç nokta için o uç noktaya yönelik tüm istekleri etkileyen genel önbelleğe alma kuralları oluşturabilirsiniz. URL yolu ve dosya uzantısı gibi varsayılan önbellek sona erme davranışını genel olarak tanımlayabilirsiniz.
Sorgu dizesi önbelleğe alma
Bu özellik, Azure CDN’nin istekleri sorgu dizeleriyle nasıl önbelleğe alacağını belirlemenize olanak tanır.
Ülkeleri bölgelere veya ülkelere göre kısıtlama
Azure CDN, isteğin kaynağına göre seçilen ülkelerden gelen içeriğe izin vermek veya engellemek için CDN uç noktanızda belirli yollar için kurallar oluşturmanıza olanak tanıyan bir coğrafi filtreleme özelliği sunar.
Dosya Sıkıştırma
Azure CDN, dosyaları sıkıştırmanıza olanak tanıyan, dosya boyutunu azaltarak daha yüksek dosya aktarım hızları ve daha iyi uygulama performansı sağlayan bir özellik sağlar. Bu özellik, bant genişliği maliyetlerini azaltır.
Dünya çapındaki bir kitleye optimize edilmiş içerik sunumu sağlamak çok önemlidir. Azure CDN, bunu desteklemek için artık Azure CDN kullandığınız belirli senaryolara göre performansı hızlandırma ve optimize etme yeteneği sunuyor. Bu senaryolar, genel web sitelerini veya web uygulamalarını teslim etmeyi, medya akışını, dosyaları indirmeyi ve daha fazlasını içerebilir. Varsayılan olarak, bir CDN uç noktası oluştururken “optimized for” seçeneğinde seçtiğiniz senaryoya optimizasyon uygulanır. Azure CDN, önbelleğe alma, nesne parçalama ve kaynak hatası yeniden deneme ilkesi gibi çeşitli iyileştirmeler uygular. Bir CDN uç noktası oluşturmak, seçtiğiniz belirli içerik teslim senaryosuna bağlıdır.
İçeriği optimize etmenin birkaç yolu.
Genel web teslimi
En yaygın optimizasyon seçeneği, web sayfaları, web uygulamaları, dosyalar ve video indirmeleri dahil olmak üzere genel web içeriğini optimize etmek için tasarlanmış genel web sunumudur. Tipik bir web sitesi, önbelleğe alıp farklı kullanıcılara iletebileceğiniz resimler, JavaScript kitaplıkları ve stil sayfaları gibi statik içeriğe sahip statik ve dinamik içerikten oluşur. Öte yandan CDN, bir kullanıcının profiline göre uyarlanmış haberler gibi dinamik içeriği bireysel kullanıcılar için kişiselleştirecektir. Bu dinamik içerik her kullanıcı için benzersiz olduğundan önbelleğe alınmaz.
Genel medya streaming
Microsoft’tan Azure CDN Standard, akış ortamı varlıklarını doğrudan sunmak için genel web teslimi iyileştirme türünü kullanır. Medya streaming optimizasyonu, aşamalı indirme veya bayt aralığı istekleri yoluyla aktarılan tek bir büyük varlık yerine, teslimat için ayrı ortam parçalarını kullanan canlı veya isteğe bağlı video akış ortamı için özel olarak tasarlanmıştır. Genel medya streaming optimizasyonu, medya varlıklarını daha hızlı teslim etmek için Azure CDN’den yararlanır.
Video on-demand streaming
Azure CDN uç noktaları, genel web teslimi iyileştirme türünü kullanarak akış ortamı varlıklarının teslimini optimize eder. Bu uç noktalar, kısmi önbelleğe alma ve önbellek doldurma bekleme süresi özelliği dahil olmak üzere medya varlıklarının sağlanmasına yardımcı olan belirli özelliklere sahiptir.
Kısmi önbelleğe alma, CDN’nin kısmen önbelleğe alınmış içeriği yeni isteklere sunmasını sağlar. CDN’ye yapılan bir istek bir önbellek eksikliğiyle sonuçlandığında, istek kaynağa gönderilir.
Önbellek bekleme süresini doldurur özelliği, uç sunucusunu, kaynak sunucudan HTTP yanıt başlıkları gelene kadar aynı kaynak için sonraki istekleri tutmaya zorlar. Kaynaktan gelen HTTP yanıt başlıkları süresi dolmadan önce gelirse, CDN Azure tüm istekleri beklemeye alır. Bu sırada önbellek, kaynaktan gelen verilerle doldurulur. Bu özellikler, teslimat için ayrı medya parçaları kullanan isteğe bağlı video akışı medyası için kullanışlıdır.
Azure CDN Standard, büyük dosya teslimi için kullanılan bir teknik olan nesne yığınını kullanır. Bir kullanıcı büyük bir dosya istediğinde, CDN dosyayı kaynaktan 8 MB’lık daha küçük parçalar halinde alır. CDN kenar sunucusu, dosyayı kaynaktan paralel yığınlar halinde ister. Bir yığın geldiğinde, CDN hemen önbelleğe alır ve aynısını kullanıcıya sunar.
Ayrıca CDN Azure, kullanıcının bir adım önünde kalarak gecikmeyi azaltmak için bir sonraki parçayı paralel olarak önceden getirir. Bu işlem dosyanın tamamı indirilene kadar devam eder.
CDN, chunklar alındıklarında önbelleğe alır. Aynı dosyalar için daha fazla istek, CDN önbelleğinden sunulur. Tüm dosyanın CDN’de önbelleğe alınması gerekmez. Ancak, bu optimizasyon için kaynak sunucunun bayt aralığı isteklerini desteklemesi gerekir. Kaynak sunucu, bayt aralığı isteklerini desteklemiyorsa, 8 MB’tan büyük verilerin indirilmesi başarısız olur.
Azure CDN kullanarak web sitesi performansını iyileştirme
Azure CDN, bir kullanıcı istek gönderdiğinde içeriği geçirmek için beş adımlı bir işlem kullanır.
Adım 1: Genel Mimarinin Değerlendirilmesi
Azure CDN’nin faydalarını en üst düzeye çıkarmak için, içeriğin kaynağının CDN düğümleri tarafından yüksek düzeyde erişilebilir olmasını sağlamalısınız. Bu, CDN içeriği önbelleğe almadan önceki ilk yüklemede bile hızlı içerik teslimi sağlamanıza yardımcı olacaktır.
Azure CDN ile içerik yüklemede düşük gecikme süreleri elde etmek için içerik kaynağı olarak Azure Blob Storage kullanın. Bir abonelik, kaynak grubu, CDN Azure profili ve daha fazlasını gerektirir.
Adım 2: Depolama hesabını yapılandırma
Zaten bir Azure Aboneliğiniz ve bir Kaynak Grubunuz varsa Azure Depolama Hesabını aşağıdakilerle kurmanız gerekir:
- Konum: Daha iyi performans için, varlıkların kullanılabileceği birincil konumu, web sitesinin yükleme konumuna daha yakın seçin.
- Çoğaltma: Birincil konum kesintisi durumunda başka bir bölgeye yük devretmeyi etkinleştirmek için Okuma Erişimli Coğrafi Yedekli Depolama’yı seçin.
- Veri koruması: Geri yüklemek için Point-In-Time’ı veya ekstra koruma için Blob-Versioning’i etkinleştirin.
Adım 3: AzCopy kullanarak varlıkları taşıma
Azure, disk sürücülerini veri merkezine yüklemek üzere doğrudan Microsoft’a göndermek de dahil olmak üzere şirket içi verileri buluta geçirmek için çeşitli seçenekler sunar. Azure’a veri yüklemek için AzCopy CLI’yi kullanın.
Adım 4: CDN Profilini Yapılandırma
Artık veriler bir Azure Blob Container’da olduğuna göre, varlıkların bölgesel olarak dağıtıldığından ve önbelleğe alındığından emin olmak için bir Azure CDN kullanmamız gerekiyor. Bu nedenle, bir Azure CDN profili oluşturmak sonraki adımdır. Bir tane oluştururken, aşağıdaki gibi parametrelere daha fazla odaklanın:
- CDN Profile / Pricing tie
- CDN Profile / CDN Endpoint Name
- CDN Profile / Origin hostname
- CDN Profile / Endpoint Caching Rules /Query String Caching
Adım 5: Uygulamada değişiklik yapma
İşiniz sadece uç noktaları optimize etmekle bitmiyor. Blob Container’a yüklediğiniz değişikliklerin sorunsuz bir şekilde kaydedildiğinden ve işlendiğinden emin olmalısınız. Ayrıca, web sayfalarına varlık eklediğinizde bunlar her zaman CDN Azure URL’lerine ve SAS belirteçlerine işaret etmeli ve sorgu dizelerine bağlanmalıdır.
- Yüklenen bir varlık olayını yakalayın ve ardından varlıkları Blob Container’a yükleyin. Bu, yerinde bir sürüme sahip olmaya devam etmenize yardımcı olur.
- CDN URL’sinden bahsedin ve Varlık URL’si oluşturma mantığını birleştirin. SAS belirteçlerini mümkün olan her yerde yeniden kullanarak CDN önbelleğini kullanabilirsiniz. Ancak, birden fazla kullanıcı için asla aynı SAS belirtecini kullanmayın.
- Üçüncüsü ve en önemlisi, Blob Kapsayıcılar büyük/küçük harfe duyarlı karakterleri ve bazı konumları ve dosya adlarını barındırmaz. Bağlantı, varlıklarınızın yollarını destekleyemezse, bir tek tipleştirme prosedürü gerekli olacaktır.