Web site performansı genellikle karşımıza çıkan önemli sorunlardan biridir. Altyapı oluştururken sunucu konfigürasyonuna, web server yapılandırmasına ve kod performansına ne kadar dikkat etske de yüksek bir performans için bunlar yetersiz kalabilir.

İşte bu noktada network kaynaklı bir performans çözüm olarak CDN karşımıza çıkıyor. Content Delivery Network olareak da adlandırabilceğimiz CDN servisini, coğrafi olarak dağıtılmış bir çok sunucunun içerik kaynağını eş zamanlı olarak dağıtması olarak tanımlayabiliriz.

Azure CDN Nasıl Çalışıyor?

Azure cdn çalışma mantığı, kullanıcılara en yakın sunucuları kullanarak, resim, ses, görüntü ve bir çok web dosyasını daha hızlı ve güvenli bir şekilde göndermek için tasarlanmıştır.  Özetle sitenizi ziyaret eden kullanıcılara, CDN üzerinde barındırdığınız dosyalar, DNS isteğini karşılayan en yakın pop konumuna yönlendirilir ve dosya transfer bu konum üzerinden gerçekleşir.

Azure CDN Nasıl oluşturulur?

Azure üzerinde bir CDN servisi oluşturmak için öncelikle bir storage servisi kullanmanız gerekiyor. Bunun yerine WebApp’de kullanabilirsiniz fakat bunu bir sonraki yazımda anlatacağım.

azure cnd storage oluşturma

Storage account oluştururken, oluşturacağımız Resource Group’u seçiyor, Storage Account’umuza bir isim belirliyor ve performans tipini seçiyoruz. Alt kısımda ise, LRS yani yerek yedekli depolama tipini seçiyoruz. Bu seçim Azure üzerinde en ucuz replication tipi olsa da, eğer maaliyet probleminiz yok ise GRS seçmeniz daha iyi bir performans sonucu verecektir.

storage account tipi

Storage Accountumuzu CDN servisinde kullanacağımız için secure transfer tipini disable olarak seçiyor ve create diyerek devam ediyoruz.

CDN blob storage

CDN kullanılacak web dosyaları için oluşturduğumuz Storage tipini Blobs olarak seçmemeiz gerekiyor.

azure cdn blobs container oluşturma

Container oluştururken, bu container’ı cdn için kullanacağımızdan access level’ı ananymous read access olarak ayarlıyoruz ki, herhangi bir güvenlik doğrulamasına gerek kalmadan tüm dış ip’ler storage’ımıza erişebilsin.

Microsoft CDN

Bir sonraki bölümde Azure üzerinde CDN profiles araması yaparak, yeni bir profil oluşturuyoruz. Pricing tier olarak Microsoft CDN‘i tercih etmeniz sizin için daha uygun olacaktır fakat performans izleme vb ileri seçenekler için Premium Verizon‘u tercih edebilirsiniz. Endpoint olarak, adress seçimini kendiniz belirleyebilirsiniz, dilerseniz oluşturduktan sonra kendiniz için bir custom domain de atayabilirsiniz.

azure cdn origin

Uzun bir deployment sürecinin ardından cdn profilimiz oluşuyor. Origin bölümüne girerek HTTP ve HTTPS profilini etkinleştirmeniz gerekiyor.

azure cdn endpoint

en üst seçenek olaran endpotin bölümünden CDN servisinde kullanacağınız endpoint’i belirtlebilirsiniz. Hostname olarak oluşturmuş olduğumuz storage account’u gösteriyoruz ve General web delivery olarak optimizasyonu seçiyoruz.

azure storage explorer

Son adım olarak CDN için oluşturduğumuz Blob içerisinde web site dosyalarını yüklememiz gerekiyor. Ben wordrpess kullandığım için wp-includes ve wp-content dosyalarını blob storage içerisinde oluşturduğum container’a yüklüyorum. Azure Storage Explorer son versiyonunu linkten indrebilirsiniz ve Azure hesabınız ile login olarak tüm storage ve container’larınızı detaylı olarak yönetebilir, upload işlemi sağlayabilirsiniz.

zure-wordpress-cdn-storage

Storage account oluştururken, oluşturacağımız Resource Group’u seçiyor, Storage Account’umuza bir isim belirliyor ve performans tipini seçiyoruz. Alt kısımda ise, LRS yani yerek yedekli depolama tipini seçiyoruz. Bu seçim Azure üzerinde en ucuz replication tipi olsa da, eğer maaliyet probleminiz yok ise GRS seçmeniz daha iyi bir performans sonucu verecektir.

Azure Storage accounts container public access level has dissabled

WordPress için CDN storage içeriğiniz resimdeki gibi olmalıdır.  Ben CDN tipi olaran AKAMİ kullandım, pop noktalarına şu linkten göz atabilirsiniz. azure cdn profiles

Web Application ile CDN oluşturma

CDN’in arka planında blob storage yerine bir web application kullanmanız da mümkün, hatta storage’a göre daha performanslı olduğunu söyleyebilirim. Arka planda web site verilerinizi bir storage yerine Web application içerisinde çekebilirsiniz. Bunun için yapmanız gereken azure üzerinde bir Webapp kurmak olacaktır.

azure-wabap

Resimde oluşturduğum gibi bir webapplication yaratarak bunu cdn servisinize bağlyabilirsiniz.

azure-webapp-cdn

oluşturduğunuz web app içerisinden Deployment Center bölümüne gelerek FTP adımından CDN’de barındracağınız dosya içeriğini yüklemeniz ve endpoint olarak CDN servisine tanımlamanız yeterli olacaktır.

azure-cdn-raporu

Tarayıcınız üzerinden connetction’ları inceleyerek CDN yönlendirme detaylarını ve response sürelerini görebilirsiniz.

azure-cdn-latency-test

Azure speed adresinden Latency test yaparak kullandığınız CDN profilinin ülkelere göre resolve sürelerini görebilirsiniz.

Avarage-Latency

Son olarak http://www.azurespeed.com/ adresinden bulunduğunuz lokasyonun Avarage Latency sürelerini mili saniye olarak görebilirsiniz. Umarım faydalı bir yazı olmuştur, bir sonraki yazımda görüşmek üzere.

Sending
User Review
5 (4 votes)

1 Yorum

Yorum Bırakın