![]() | |
Windows Azure; Mavi İşletim Sistemi | 10.02.2009 21:28:00 |
| Kategori : Yazılım Mimarisi Özet : Bu yazımızda Windows Azure u tanıyacağız hangi temel bileşenleri alt yapıları olduğunu detayları ile incelemeye çalışacağız, bu alt yapılarını inceledikten sonra biraz daha detaylarına girerek yapısını ve nasıl kullanılabileceğini inceleyeceğiz. | |
Windows Azure; Mavi İşletim Sistemi
Önceki
yazılarımızda Cloud Computinge, Software Plus Services e ve son olarakda Azure
mantığına değinmiştik, şimdi artık sırada ürün olarak karşımıza çıkacak Windows
Azure var. Windows Azure Microsotun Azure servis platformu için geliştirdiği
işletim sistemi olacak, ancak genelde yaygın anlayış bu işletim sistemini biz
makinelerimize kuracağız şeklinde, tabiiki çok detaylı bilgiler yok bu konuda
ancak benim bildiğim kadarı ile bu geliştirilen sürüm Barındırma hizmeti veren
firmalar tarafından kullanılabilecek olan, servis platformu, ileride büyük
ihtimalle internetten kurulan, internet temelli işletim sistemleri gelecektir
ancak Windows Azure tam olarak bu değil. Bu yazımızda
Windows Azure u tanıyacağız hangi temel bileşenleri alt yapıları olduğunu
detayları ile incelemeye çalışacağız, bu alt yapılarını inceledikten sonra biraz
daha detaylarına girerek yapısını ve nasıl kullanılabileceğini inceleyeceğiz. Dediğim gibi
Windows Azure Microsoft tarafından geliştirilmiş Azure işlemlerinin yapılmasını
sağlayan bir işletim sistemi, kendi üzerinde bir den çok yapı barındırıyor, Standart
olan erişim yöntemlerini destekler örneğin. HTTP / HTTPS, REST, ATOM vs. gibi. Bunun
yanında Windows Azure sizin geliştirdiğiniz uygulamaların işlemlerinin
barındırma hizmetini verir. Örneğin .Net uygulamalarınız, .Net Web Servisi
uygulamalarınız gibi ve bir diğer işi olan basit veri işleme hizmetinin sunar,
bu işlemde üç farklı tip vardır, Table, Blob ve Queues gibi. Windows
Azure un kendi alt bileşenlerini inceleyeceğiz biraz sonra ancak şunu bilmek
lazım, daha önceden sağlanan bir çok geliştirme ve yeni özellik Windows Azure
platformu tarafından sınırlı olarak desteklenmektedir, ileride tabiiki çok daha
fazla özellik desteklenecektir ancak sonuçta Windows Azure ayrı bir şekilde
geliştiriyor ve ayrnı mantıklar üzerine inşaa ediliyor.
En başta
Azure u 4 temel yapıya ayırmak gerekir.
1.
İşlem Barındırması
2.
Depolama Barındırması
3.
Yapı Denetleyicisi
4.
Load Balancer yapısı 1. İşlem
Barındırması : İşlem barındırması temel olarak uygulamanızı yönettiğiniz
bölümdür, yazdığınız uygulamaları host eden yerdir, uygulamalarınız temel
olarak ikiye ayrılır, Web Role yada Worker Role, aşağıda bu uygulama tiplerine
değineceğiz ancak bir Azure uygulamanızda birden fazla Web Role ve Worker Role
olabilir, birlikte kullanılabilirler 2. Depolama Barındırması
: Windows Azure tarafından sağlanan veri depolama yöntemlerini anlatır,
yukarıdaki şekilde de gördüğünüz gibi üç tiptedirler, Table tipi, Queues Tipi
ve Blob tipi olarak, Eğer basit anlamda veriler tutacaksanız bu üçlü sizin
işinizi görecektir ancak daha gelişmiş veriler tutacaksanız önceki yazımda
belirttiğim gibi SQL Servislerinden faydalanmanız gerekecektir. 3. Yapı
Denetleyicisi : Bu uygulama parçası aslında işletim sisteminin ana çekirdeğini
oluşturan işlemlerin ve veri depolamanın yapılmasını sağlayan katmandır. Bu
katman sistemin çekirdeğini oluşturur ve sanal makineler bu uygulama üzerinde
çalıştırılır. Örneğin uygulamanız bir paralel yerine iki paralel çalışsın
isterseniz bunu Yapı Denetleyicisi yönetir. 4. Load
Balancer yapısı : Load Balancer aslında bilinen bir yapı, kendi üzerindeki
belirli algoritmalar ile sistemlerin az yoğun olanına paketin gönderilmesini
sağlayarak, işlemlerin daha hızlı yapılmasını ve hata denetleme mantığı ile
eğer bir sistem çöktü ise oraya daha fazla istek göndermeyerek, gereksiz
hataların engellenmesini hedefler. Gördüğünüz
gibi Azure aslında bu 4 temel maddeden oluşmakta şimdi İşlem Barındırması nın
içinde gördüğünüz Web Role ve Worker Role nedir bunları inceleyelim, Web Role :
Sizin kullanıcı ile iletişimde olacak olan uygulamanız. Genel anlamda Asp.Net
Web uygulaması olurken aynı zamanda Asp.Net Web Servisleride olabilecek. Web
Role, kullanıcı ile iletişim halinde olan ve dışarıdan veri alıp işleyebilecek
uygulama tipine deniliyor. Worker Role
: Dışarıdan bir veri almadan, yani kullanıcılar ile iletişime geçmeden arka
planda çalışan sistemlere denir, bir çeşit Windows Servislerine
benzetebilirsiniz. Worker Role arka planda işlemler yapmak için belirli
şekillerde çalışan uygulamalara deniliyor. Bir Windows
Azure projesinde, birden çok Web ve Worker role aynı anda yer alabilir. Şimdide
Depolama Barındırmasının içinde yer alan veri tiplerini inceleyelim, her veri
tipinin bir amacı ve kullanılacağı yer var, buna göre seçim yapmak önemli. Blob Veri
Yapısı : bu veri yapısı genelde binary dataları tutmak için geliştirilmiştir,
içinde bir dosya bir resim gibi dataları tutabilirsiniz. Table Veri
Yapısı : Bildiğimiz tablo mantığında veri tutabilir, ancak ilişkisel mantıkla
yer almaz, sisteminizdeki metinsel verileri Table veri yapısında
tutabilirsiniz, yapısal olarak veriyi tutar ancak ilişkisel olarak tutmaz,
ilişkilendirmek (tablolar arasında Join yapmak) gibi işlemleriniz için SQL Data
Servislerini kullanmanız gerekmekte. Queues Veri
Yapısı
: Bu veri yapısı aslında Que gibi
işlemler için kullanılır, temelde Worker Role tarafından kullanılması için
tasarlanmıştır, çok yoğun işlemler yapılırken bir kuyruklama mantığı ile Worker
Role tarafında işlenebilecek datalar için kullanılır. Bu veri
tiplerinden istediğiniz kadarını birlikte kullanabilirsiniz, anlatmaya
çalıştığım gibi temel veri tutma işlemlerini Depolama Barındırması yerine
getirecektir ancak daha gelişmiş veri tutma yapısal verileri yönetme gibi
ihtiyaçlarınız varsa SQL Data Servislerini kullanmanız gerekmektedir. Windows
Azure hayatımıza yeni yeni giriyor ve aslında yeni yeni geliştiriliyor,
dolayısı ile sürekli gelişecek sürekli yenilenecek ve şu anda bulamadığınız,
“şu da olsa iyi olurdu” dediğiniz şeyler ileride eklenecektir. Ancak temel
özelliği yukarıda da belirtmeye çalıştığım gibi, servis temelli yazdığınız
uygulamanızı barındıracak alt yapıyı sağlamasıdır. Windows
Azure un sağladığı yapıların yanında Microsoft tarafından geliştirilmiş ve
Windows Azure ile birlikte kullanılabilecek Servislerde var, bu servisler ile
ilgili başka bir makale yazmayı planlıyorum ama şimdilik neler olabileceğini
inceleyelim. SQL Data
Servisleri, Microsoft tarafından aslında temelinde SQL Server 2008 çalışan veri
depolama sistemlerine servis temelil erişimi sağlayan servislerine verilen ad,
burada daha gelişmiş veri yönetimleri ve yapısal ve ilişkisel sorgulama
yöntemleri mevcut .Net
Servisleri, Yine Microsoft tarafından sunulan gelişmiş .Net işlemlerinin
yapılacağı servisler, diyebilirsiniz ki zaten .Net ile yazıyoruz .Net in
servisini niye kullanalım, aslında Microsoft tarafından sağlanan Workflow,
Service Bus gibi alt yapılar için bu servislere ihtiyacınız oluyor Live
Servisleri, Microsoft un Live vizyonu ile kullanıma sunduğu çok sayıda servisi,
örneğin kullanıcı yetkilendirme işlemleri, kullanıcının kontaklarının bulunması
işlemleri gibi aslında çok kulandığımız ve uygulamamızı renklendirecek
servisleri. SharePoint,
Dynamics servisleri, biraz daha iş dünyası ile ilgili servisler, ilerde eminim
çok popüler olacak servisler de yeni yeni Microsoft tarafından duyruluyor
destekleniyor. Bir sonraki
yazıda Windows Azure u nasıl kendi makinenizde kullanacağınızı ilk Azure hello
World ünü nasıl yapacağınızı ve Windows Azure SDK ile gelen araçların neler
olduğunu bu araçları nasıl kullanacağınızı incelemeye çalışacağız. Herhangi bir
sorunuz olursa bana mail gönderebilirsiniz. Blogumdan gelişmeleri takip
edebilirsiniz. | |
Yazgelistir.com | |