Azure ile calisirken yasadigim en buyuk problemlerden bir tanesi, cuma gunu portali kapatip pazartesi gunu actigimda yeni 10 tane servis duyurusunu gorebilmenin cok olasi olmasi.
Microsoft’un Azure uzerine cok onemli yatirimlari var ve her ay onlarca farkli servis ve varolan servislere gelistirmeler ekleniyor.
Bunlarin en onemlilerinden bir tanesi bildiginiz gibi ARM tabanli yeni portal. V2 seklinde lanse edilen bu portal ile birlikte template bazli deployment yapabilir duruma geldik. Ancak asil problem eski portalin halen calisir durumda olmasi ve bazi servislerin yalnizca eski portalden bazi servislerin ise sadece yeni portalden calismaya devam etmesi.
Ornegin PaaS Cloud Services. Eski portal ile hayatimiza girmisti. Ancak yeni portale gectigimizde bunun yenilenmis ve gelistirilmis hali olan Azure App Servisi goruyoruz.
Bu blogda PaaS Cloud Service lifecycledan bahsetmek istiyorum cunku halen musterilerin ortamlarinda App Service yerine kullanimi devam etmekte.
Adindan anlasilacagi uzere PaaS Cloud Services, bir PaaS servisi. Yani tum altyapi Azure uzerinde ve Azure sorumlulugunda. Sizlere yalnizca uygulamalarizi gelistirmeye baslamak icin ortama baglanmak kaliyor.
Ozellikle VS ile entegrasyonu sayesinde saniyeler icerisinde lokalde calisan bir uygulamami Azure PaaS Service e deploy etmem mumkun.
Bir diger onemli avantajlarindan birisi ise sizlere farkli development ortamlari (slot) sunabilmesi. Cloud Services sayesinde uygulamanizi daha once olusturdugunuz dev, test yada production ortamlarina deploy edebilir, istediginiz zaman test yada dev ortamindaki uygulamayi production slotuna gecirebilirsiniz.
Bu noktada uygulamamin gelistirilmesi sirasindaki yasam dongusune bakmakta fayda var. Bu sayede hangi fazda Azure PaaS Servisinden yararlanacagimizi gorebiliriz.
Development sirasinda, yada baslangicinda genellikle development islemi yazilimcilarin yerel bilgisayarlarinda gerceklesir. Ilk testleri kendi laptoplarinda yaparlar, sirket icerisinde yada public olan bir version control sistemi sayesinde (GitHub) takimlar halinde calisabilirler.
Bu fazda onerim Azure storage ve compute emulatorlerinin kullanilmasi. Bu emulatorler VS ile direk entegre olarak calisabilir ve size Azure hizmetlerine baglanmadan sanki baglanmis gibi compute ve storage aksiyonlari almanizi saglar. Bu sayede gelistirdiginiz kod bir sonraki asamada Azure uzerinde de sorunsuz calisacaktir.
Stagin safhasi bildiginiz gibi production ortamina gecmeden once ilgili uygulamayi test edebilecegimiz son viraj. Bu fazda acceptance testleri, performans testleri ve beta testleri gerceklestirilir.
Onerim, bu fazin tamamen Azure uzerinde olmasidir. Yani VS ile projeyi Azure uzerindeki staging slotuna publish edip testlerinizi orada gerceklestirebilirsiniz. Azure staging ortam icin size private bir URL verecektir. Sadece sizin bildiginiz bu URL sayesinde testlerinizi gerceklestirebilirsiniz.
Azure’un nimetlerinden en cok yararlanacagimiz (auto-scale) faz production. Projeniz tamami ile Azure uzerinde kosmali, hatta metricler ile sinirlar belirleyerek projenizin scale up yada scale down islemlerini otomatik yapmasini saglayabilirsiniz.