Windows Azure ve Team Foundation Server 2010 ile ilgili daha sık yazı yazıyor olacağım şu sıralar. Son zamanlarda oldukça haşır neşirim ikisiylede.
Microsoft’un buluş işletim sistemi olarak lanse ettiği Windows Azure, 2010 başı gibi kullanıma açılacak. Türkiye’den kullanmak pek mümkün olmayacak ilk başlarda ama ilerleyen zamanlar içerisinde eminim mümkün olacaktır. Windows Azure kısaca, internette(bulut) çalışan bir işletim sistemi. Azure’e yüklediğiniz uygulamalar, kullanımlarına göre ve yapmış olduğunuz konfigürasyonlara göre çalışıyor. Biraz daha anlaşılır olması adına şöyle bir örnek verebilirim. Normal Windows XP,Vista,7 işletim sisteminizi düşünün. Buna yüklediğiniz ve çalıştırdığınız uygulamalar, işletim sisteminin kullandığı kaynaklar ve uygulamanın kullandığı kaynaklar doğrultusunda çalışacaktır. Windows Azure’da işte bu kaynaklar sınırsıza yakın. Bundan dolayı da performans,genişletilebilirlik,esneklik gibi kavramlar ele alındığında uygulamalarınız çok daha sorunsuz hale geliyor. En azından bu tarz kavramlar ile artık fazla uğraşmamıza gerek kalmıyor.
Şimdi çok fazla derine girmeden Windows Azure’un “Storage Service API”sinden bahsetmek istiyorum. Alt konular ile derinlere girerek Windows Azure’un daha anlaşılır olacağına inanıyorum. Bundan dolayı da Storage Service ile başlıyorum.
Storage Service Nedir?
“Storage Service”, Windows Azure işletim sisteminde çeşitli veri yapılarını oluşturmamızı ve bu veri yapılarını kullanmamızı sağlayan bir servis. BLOB(binary formattaki veri),Table Service(Tablolar) ve Queue Service(Sıra) şeklinde 3 farklı yolda veri oluşturma ve kullanma imkanı sunuyor. Bu imkanı, REST API’leri ile kullanıyor olacağız. Dolayısıyla bu REST Api’lerini kullanabilen her türlü sistem, Windows Azure üzerindeki bu Storage Service’den yararlanarak, Azure üzerinde çeşitli verileri oluşturabilir ve kullanabilir.
Bu Storage Service’in ilk olarak Table Service özelliğinden bahsediyor olacağım.Table Service ile tablolar oluşturabilirsiniz ve bu tablolarda varlıklarınızı(entity) tutabilirsiniz. Bu noktada tabloların SQL Server’daki tablolardan farklı olduğunu belirtmek isterim. Belli yapıdaki verileri bir arada tutan kavram tablo olarak adlandırılıyor. Bu tablolarda entity’leri tutuyor. Kısacası SQL’deki gibi bir tablo yaratma ve bu tabloya satır ekleme gibi bir durum söz konusu değil. Gerçi bu kavramlarda hep SQL Server üzerinde tutuluyor ama bir çok ihtiyacı karşılayabilmek adına oldukca “generic” bir yapıda tasarlanmış. Table Service kavramında entity’ler oldukça önem taşıyor. Basitçe; belli özellikleri ve bu özelliklerin değerlerinin olduğu veri yapılarına entity diyoruz. Table Service, bu entityleri belli bir yapıda tutup, onlar üzerinde işlem yapabilmemizi sağlıyor.
Table Service, barındırdığı bu tabloları “Load Balance” kavramını desteklemek için farklı bir şekilde oluşturuyor.Her tablonun belli bir “Partition Key”i var.Bu tabloların içinde barındırılan entity’lerin hangi tabloya ait olduğunu gösteriyor. Benzer bir şekilde tabloların bir de “Row Key”i var. Bu da tablo içinde belirtilen kayıda özel oluşturuluyor. Bu iki anahtarın birleşimi tabloda tekil bir kayıt olmasını sağlıyor. Tablodaki entity için “Primary Key” niteliğinde bir şey.
Bu tabloyu oluşturma ve kayıt ekleme işlemlerinde bu kavramlar daha net anlaşılıyor olacaktır. İlerleyen yazılarımda da bunlara yer veriyor olacağım. Ama önce bu Storage Service’in uygulama geliştirme ortamında nasıl kullanabileceğimizden bahsetmek istiyorum.
Visual Studio için Azure Tools’u yüklediğinizde Azure ile ilgili bir kaç şey kullanımınıza sunulacaktır. Bunlar Windows Azure’un “development” ortamını kendi bilgisayarınızda simule etmenizi ve dolayısıyla uygulama geliştirmenizi sağlayacaktır. Bunlardan bizi ilgilendiren ilk tool “Development Storage” olacak. Windows Azure üzerindeki Storage Service bu şekilde kendi bilgisayarımız üzerinde kullanabiliyor olacağız. Bu araçı çalıştırmadan önce küçük bir ayar yapmamız ve Storage Service’in kullanacağı SQL Server ortamını konfigüre etmemiz lazım.Yukarıda da dediğim gibi tüm bu Storage Service yapıları SQL Server üzerinde tutuluyor.
Konfigürasyon için “Command Window” açıp( Start->Run,sonrasında cmd ve Enter) “C:\Program Files\Windows Azure SDK\v1.0\” dizinine gitmemiz gerekiyor.Tabi Azure SDK’sı başka bir yerdeyse oraya gitmeniz gerekmekte. “dsinit”, şeklinde “Development Storage Initialize” eden komutu çalıştırmamız gerekmekte. dsinit’in çeşitli parametreleri var. “dsinit /?” şeklinde bu parametrelerin ne olduğunu öğrenebilirsiniz.
Peki önemli mi bu parametreler? Evet kesinlikle önemli. Bilgisayarınızda SQL Server bir instance şeklinde kurulduysa, “Development Storage”ı hangi instance’a kurmanız gerektiğini bu parametreler ile belirtiyorsunuz.
dsinit /sqlinstance:[INSTANCE_NAME]
Her hangi bir instance olarak kurulu değilse SQL Server, aşağıdaki gibi çalıştırmanız yeterli olacaktır.
dsinit /sqlinstance:.
Bu komuttan sonra Storage Service’in çalıştığı veritabanı SQL Server’a kurulacaktır. SQL Server’ı açtığınızda aşağıdaki gibi bir yapının oluştuğunu göreceksiniz.
Windows Azure’un Storage Service’ini kendi ortamızda kurmuş olduk. Daha doğrusu simule etmek için gerekli ortamı kurduk demek daha doğru olacaktır.
Bir sonraki yazımda kod yazarak, nasıl Storage Service özelliklerinden faydalanabileceğimizi anlatıyor olacağım. Basit bir uygulama geliştiriyor olacağız.
Daha sonrasında da bu uygulamamızı gerçekten Windows Azure üzerine kurup gözlemleyeceğiz.Hadi bakalım,hayırlısı (:
Her hangi bir sorun ve soru için adresine e-mail atabilirsiniz.