Makale Özeti

Windows Azure & Cloud Computing 'i genel olarak inceliyoruz.

Makale

Son bir yıldır hem Microsoft tarafından hem de Sun şirketleri tarafından web uygulamalarında yeni bir yaklaşıma gidildiğini ve bu yaklaşımın adını da Cloud mimarisi olduğu söylenmektedir. Peki, internet dünyasında performans ve diğer bazlı faktörler konusunda nasıl bir eksiklik vardı da büyük yazılım şirketleri yeni bir teknoloji arayışı içine girdi.

İnternet kullanım hızlarının artması ile artık internet üzerinden canlı televizyon yayınları, yüksek çözünürlükte resim ve video görüntüleme, boyutu büyük veriler ile çalışan web sayfaları ve daha birçok uygulama bizlerin kullanımına sunuluyor. Peki bu kullanım esnasında tek bir server ihtiyacımızı karşılayabilecek mi? İlk akla gelen cevap “evet, karşılıyor” olur. Fakat web sayfalarının günlük maksimum veri transferi genişliğini aştıklarında işte sorun ile karşı karşıyayız anlamına geliyor. Normalde nasıl bir adım izleriz. İlk olarak, gider daha büyük kapasiteli bir sunucu satın alır ya da kiralar yayınımıza öyle devam ederiz. O da yetmedi ve artık kendi bütçemizin en yüksek kapasitesine de ulaşmış durumdayız. Artık yapmamız gereken birçok sunucuya gelen istekleri yaymak ve yayınımızı ona göre sürdürmek olacaktır. Bu da yüksek bir maliyete sebep olmaktadır. Bir de farklı bir açıdan daha düşünelim. YouTube gibi video büyük video paylaşım sistemlerini örnek alarak bizde böyle bir sistem oluşturmaya karar verdiğimizi düşünelim. İlk olarak ne yaparız. *.wmv uzantılı dosyaları Media Player plug-in ‘ini kullanarak video yayını yaparız. Fakat bu görüntüleme yalnızca Windows işletim sistemi kullanıcıların isteklerini karşılayacak ve diğer işletim sistemi kullanıcıları için video izlenemeyecek. Kullanmamız gerektiğini açıklayan birinci sebep bu. İkincisi ile video yüklenme şekli. Media Player plug-in kullanarak hazırlanmış olan bir video görüntüleyebilmek için geçen yüklenme zamanının yüksekliği. Alternatif çözüm olarak Flash animasyon kullanımını düşünebilir. Fakat o da diğer yöntemimiz gibi yüklenme zamanı zorlukları ve diğer faktörlerden ötürü yavaş çalışan bir sistemdir. ( YouTube gibi sistemlerin Flash animasyon kullanarak video gösterdiğini unutmadık. Fakat bu tür sistemler bu işlemler için bizim ileriki konularda anlatacak olduğumuz yapının benzerini kullanarak görüntülemeyi gerçekleştirmektedirler.) Bir başka alternatif çözümümüz de Microsoft Silverlight ‘tır. Platform bağımsızlığı ve diğer faktörler sebebiyle streaming işlemlerinde oldukça iyi bir çözüm sunmaktadır. Daha fazla ince detaylara girmeden Cloud mantığının ne olduğuna bir göz atalım.

Cloud Computing Nedir?

Cloud Computing’ i açıklamak gerekirse; bir ağ yapısı kullanılarak, sadece Internet Explorer gibi bir program ile bütün uygulamalarınızı işlemci gerektiren, depolama alanı gerektiren bütün dosyalarınızı ana bir bilgisayarda tutarak, gerçek işinize odaklanmak. Bu işlemleri de yaparken, kullandığınız kaynakların ücretini ödemek, kullanmadığınız kaynaklara boşuna para yatırmamak.

Bu tanımı biraz daha açıklamak gerekirse, standart bir bilgisayar kullanıcısı olduğumuzu bilgisayarı yalnızca internete girmek, müzik dinlemek ve film izlemek için kullandığımızı varsayalım. Bu işlemleri yapmak için çok yüksek kapasiteli bir bilgisayar almanın bir anlamı yoktur. Çok iyi bir grafik tasarım mı yapacağız? Hayır. Oyun mu oynayacağız? Hayır. Bu durumda çok yüksek maliyette bir sistem kurup onu kullanmak bizim için gereksiz bir yatırım olacaktır. Cloud mantığını da bu şekilde düşünmemiz gerekmektedir. İnternet üzerinde sadece 10 mb lik bir alan kullanacaksak çok yüksek kapasiteleri kiralayıp da onu kullanmak tamamen gereksiz olacaktır. Ya da kullanılan bir işletim sistemine virüs girdi. Eğer biz kontrol ediyor olsaydık zaman kaybına sebep olacak bir çok işlem ile uğraşmak zorunda kalacaktık. Fakat diğer durumda yapmamız gereken bize ait olan dosyaları yedekleyip diğer tarafı bize sistemi sağlayanlara bırakmak olacaktır.

Kısaca Cloud mantığının bizlere kattıklarına göz atmak gerekirse;

• Maliyet
• Kullanım kolaylığı
• Güvenlik
• Ölçeklenebilirlik
• Sürdürülebilirlik

Şeklinde sıralayabilmemiz mümkündür.

Peki, bu mantığa gelene kadar ne programlama yapıları ile uğraştığımızı kısaca hatırlamak gerekirse;

• Prosedür temelli programlama
• Nesne temelli programlama
• COM temelli programlama,
• Servis temelli programlama
• Bulut Temelli Programlama
Servis temelli programlama çıktıktan ve Bulut temelli programlamanın temelini oluşturan Software as Service (SaaS) mantığı bizim yazılımlarımızı komple bir paket değil de parçalar olarak kullanabilmemize olanak tanıyan bir yapıdır.

Windows Azure


Azure aslında bir servis platformudur. Azure servis platformu Microsoft ‘un kendi veri merkezlerinde sunulan, internet seviyesinde Cloud Computing uygulamasıdır. Bu ortam Web geliştiricilerine yada başka cihazlar için geliştirme yapanlara gelişmiş bir platform sunar ve hibrid uygulamalar geliştirilmesine izin verir.

Azure ile geliştirilen uygulamalar daha hızlı ve daha az maliyetle geliştirilmesine olanak tanır. Azure ile uygulama geliştirmek istersek her zaman kullandığımız Visual Studio geliştirme ortamımızı ve .Net çekirdeğini kullanmamız yeterli olacaktır. Azure uygulamaları günümüzde gittikçe yaygınlaşan “kullan ve öde” yani kiralama modeline de uyumlu uygulamalar geliştirilmesine olanak tanımaktadır. Azure aynı zamanda açık ve belirli standartları temel alır, http, SOAP, REST ve XML teknolojileri temel olarak desteklenmektedir.

Azure Servis Mimarisi, en temelde Windows Azure ‘un olduğu bir yapıdır. Daha üst katmanlara çıktıkça kullanabileceğiniz servis platformlarının sağladığı Live Servisler, .Net Servisleri ve SQL Servislerini sunar. En üst katmanda ise daha özel amaçlarda kullanılan Exchange Servisleri, SharePoint Servisleri, Dynamics yer alır.

Windows Azure Nedir?

Azure’ un, yazılımcılar için geliştirme, servis bulundurma, servis yönetimi gibi ortamlarını oluşturabilmek amacıyla geliştirilmiştir. Visual Studio ile entegre bir biçimde anlık hesaplamaların internet ortamında bulundurulmasına, ölçeklendirilebilmesine ve yönetme bazında kullanılmasına olanak tanır. Windows Azure açık bir sistem olacağından şu anda Visual Studio ile yazılan yönetilebilir kodları (.Net ve CLR kullanan) desteklerken, ileride Microsoft un olmayan dilleri ve geliştirme platformlarını da destekleyecektir. Kısacası Windows Azure, Microsoft un Cloud Computing dünyasını ayakta tutmak için geliştirdiği İşletim sistemidir, şu anda sadece barındırma işlemleri yapabilmek adına geliştirilmektedir.

Live Servisleri Nedir?

Azure ‘un servis ortamında kullanıcıların verileri ve uygulama kaynaklarını kullanmaları için geliştirilmiş bir uygulamadır. Live servisleri ile gelişmiş uygulamalar, sosyal ağlar, kullanıcı deneyimleri gibi dijital ortamları kullanmanıza olanak sağlar, Live servisleri genelde web tabanlı uygulama geliştirmeye olanak tanıdığı için Azure ile kullanıldığında çok başarılı çözümler sunabilecektir.

Microsoft SQL Servisleri Nedir?

Microsoft SQL Servisleri, Microsoft SQL Server ‘in yeteneklerini ile Web tabalı Cloud Computing işlemlerini yapmamızı sağlayacak ilişkili veri tabanı hizmetidir. Bu servislerle ilişkili olarak sorgular yapmamızı, arama, veri eşleştirmesi yapabilmemizi sağlarken, bu işlemleri hem mobil kullanıcılarında hem de uzak bağlantı yardımıyla şirket ağlarına bağlı olarak çalışanlar için kullanabilmemiz mümkündür.

Microsoft .Net Servisleri Nedir?

Microsoft .Net Servisleri, Cloud tabanlı uygulamaları kolayca geliştirebilmemiz mümkündür. Bu servisler yardımıyla güvenli kod yazımı, erişim denetleyicileri kullanmamızı olanak tanımaktadır. Ayrıca bizlerin istediği özel servislerinde Cloud mantığında oluşturabilmemize olanak tanımaktadır.

SharePoint ve CRM servisleri Nedir?

Yazılım geliştiriciler, SharePoint ve CRM için kullandıkları ortamda, müşteri bilgisini ortak bir yerde tutup kullanabilmelerine olanak tanınacaktır. Bu esneklik ile Visual Studio kullanarak geliştiriciler tarafından bilinen ve aşina olunan yöntemler yardımıyla hızlıca uygulama geliştirilebilecektir. SharePoint, CRM ve daha sonra çıkacak yazılımların yetenekleri ile yazılımcıların kendi işlemlerine odaklanırken diğer işlemleri bu uygulamaları kullanarak çok daha gelişmiş ve hızlı uygulamaları Azure sisteminde yazabileceklerdir.

Windows Azure ve bu yapı üzerine oluşturulmuş servisleri grafiksel olarak açıklayan güzel bir resmi aşağıda görebilirsiniz.


Herkese mutlu günler diliyorum.

Turhal Temizer
info@turhaltemizer.com
http://turhal.blogspot.com