Microsoft Azure Bulut Hizmeti
Microsoft Azure Bulut Hizmetleri çok katmanlı uygulamalar oluşturmaya, oluşturduğumuz bu uygulamaları kullanıma sunmaya ve yönetmeye imkan sağlayan bir teknolojidir. Bunun yanı sıra uygulamalarımız için çoklu roller de oluşturulabilir. Bahsettiğimiz bu bulut hizmeti uygulamalarını .NET, Node.js, PHP, Java, Python ve Ruby dilleri dahil olmak üzere hemen hemen tüm popüler dilleri kullanılarak geliştirilebiliriz. Ayrıca uygulamamıza Windows Azure Mobile Services ve Media Services gibi servisleri de entegre edebiliriz.
Bulut servisi, alt yapı ve onunla ilgili oluşacak sorunlarla ilgilenmek yerine kendimiz için asıl önemli konuya odaklanmamızı sağlar. Dolayısıyla da iş yükü ve zamandan tasarruf etmiş oluruz.
Bulut servisinde çalışan uygulamalarımızın stabilite kontrolünü yapmak için Microsoft Azure Yönetim Portalını kullanabiliriz. Bu şekilde uygulamalarımızdan gerçek zamanlı olarak haberdar olabiliriz. Bozulma ve hizmet kesintisi gibi durumlarda gerçek zamanlı haberdar olmak için de yapılandırabiliriz. Uygulamamıza gelen talepler doğrultusunda kaynakları otomatik olarak büyütmek için otomatik ölçeklendirme özelliğini kullanabiliriz. Bu otomatik ölçeklendirme sayesinde maliyet açısından büyük bir tasarruf sağlanacaktır. Olayın daha iyi anlaşılması açısından ÖSYM ‘nin sitesini örnek verebiliriz. Sadece belirli günlerde sınav sonuçlarının açıklandığı v.s sitenin ziyaret sayısı milyonlarla ifade edilirken başka günlerde bu sayının oldukça az olma olasılığı yüksektir. Bu gibi durumlarda sistemi en yüksek ziyaretçi kapasitesine göre hazırlanması gerekiyor buda sistemin yoğun kullanılmadığı durumlarda kaynak israfına neden olmaktadır.
Bulut Servisinin Oluşturulması ve Kullanıma Sunulması
Bir bulut servisi oluşturmak için önce bir dizi kavramları anlamamız gerekmektedir. Bulut hizmetinin iki adet rolleri bulunmaktadır. Bunlar; - Web Role - Worker Role
Web Role : Kendimize ait bir IIS web sunucusu ve bu sunucuda front-end web uygulaması veya mid-tier servis katmanı barındırmamıza imkan sağlar.
Worker Role : Host uygulamarını asenkron çalıştırabiliriz, genellikle kullanıcı girişinden ve etkileşiminden bağımsız uzun soluklu veri işleme görevleri gerçekleştirilebilinir. Her bir rol örneğinin tanımlandığı dosya uzantısı *.csdef, bulut hizmeti yapılandırma ayarlarının bulunduğu dosyanın uzantısı *cscfg, rolün genel amacını belirten dosyanın uzantısı da *.cspkg 'dir.
Microsoft Azure ‘da yeni bir bulut hizmeti oluşturmak için Microsoft Azure Portalı ‘nda sol taraftaki Cloud Services sekmesini seçmeliyiz. Eğer ilk bulut hizmetimizi oluşturuyorsak karşımıza gelen pencerede Create a Cloud Service yazısı çıkacaktır. Bulut servisini bu yazıya tıklayarak veya aşağıdaki New ‘e tıklayarak oluşturabiliriz. Bu aşamadan sonra karşımıza iki seçenek çıkar; Quick Create (Hızlı oluşturma), Custom Create (Özel Oluşturma). Şekilde görüldüğü gibi özel oluşturma seçilir. URL ve bölge bilgisi girildikten sonra Create Cloud Service 'e tıklayarak yeni bir cloud hizmeti oluşturmuş olduk.
Quick Create seçeneğiyle oluşturduktan sonra uygulamamızın çalışması ve uygulamamızın gerekli SSL sertifikaları için Windows Azure SDK ‘sını yüklemeliyiz. Bir sonraki adım ise uygulamayı sunacağımız ortama karar vermektir. Microsoft Azure bulut hizmetleri iki farklı sunum ortamı sunmaktadır. Bunlar, staging (evreleme) ve production (üretim) ‘dir.
Eğer evreleme sunum ortamını kullanmak istiyorsak;
Yukarıdaki şekilde yeni bir evreleme sunum ortamını oluşturma sihirbazı sayfasını göstermektedir. Bu sayfada ortamın adını, servis paketini (*.cspkg) ve hizmet yapılandırma dosyasının (*.cscfg) konumları belirtilir. Uygulamamız bir veya daha fazla rol içeriyor olsa bile uygulama sunum ortamı seçimi vardır ama Microsoft Azure en fazla iki tane rol için yüzde 99,95 uptime garantisi vermektedir.
Custom Create seçeneği de Quick Create seçeneğine benzemektedir ama bu seçenek ile bir bulut servisi oluşturduğumuzda bulut servis paketini sunmanı da sağlar.
Ayrıca şu iki önemli konuya da dikkat etmemiz gerekmektedir : - Windows kayıt defterini kullanmaktan kaçınmalıyız. - Eğer web.config veya app.config dosyaları kullanıyorsak bunun yerine bir servis yapılandırma dosyası (*.cscfg) kullanmalıyız.
Kaynak :
Introducing Windows Azure – Mitch Tulloch