Category Archives: Windows Azure ile Cloud Computing Uygulamaları

Windows Azure ile Cloud Computing Uygulamaları – 10

Zaman hızlı ilerliyor. Hedefe giden yollar farklılaşıyor. Her gün yeni proje ve girişimler ile ilerlemeye devam ediyoruz. Yaşam kültürleri değişiyor. Değişen kültürler, beraberinde yeni gereksinimler ve sektörler oluşturmaktadır. Üretici den tüketiciye uzanan yolda ne hızı ulaşım ise teknolojiden geçmektedir.

Günümüz iş dengesin de internet odaklı hizmet ve ürünlerin artması, ürün ya da hizmetin sunum sürecinde kullanılan altyapılarının önemini arttırmaktadır. Altyapıların kesintisiz, en az maliyet ve müşteri yoğunluklarına cevap üretmesi gereksinimleri bulunmaktadır.

Serbest ticaret pazarlarındaki ürün satışının büyük bölümü internet üzerinde gerçekleştirmektedir. Büyüyen internet tabanlı satış-pazarlama altyapıları, ıslak imza ile gerçekleştirilen süreçlerden daha güvenli olması gerekmektedir. Diğer bir önemli nokta ise, altyapıların farklı müşteri yoğunluklarında başarılı, cevap üretecek yeteneğinin olabilmesidir. Her şirketin, iş gereksinimleri gerçekleştirmek amacı ile şirketlere özel veri merkezlerin kurması, teknoloji dışı üretim yapan şirketlerin, yeni maliyet ve teknik uzmanların bulmasına problemlerine neden olmaktadır.

Teknoloji, müşteri gereksinimleri oluşmadan çözüm üretmeye devam etmektedir.

Değişmeye tek şeyin değişim olduğu düşünülen dünyamız da iş gereksinimlerin ekonomi, yoğunluk ya da başarı oranlarına göre değişmektedir. Yapılan her hata geleceğe için yeni ışık olmaktadır. Her yeni ışık ise, yeni adımlar ya da yeni teknoloji altyapı sistemleri olmaktadır.

Teknoloji ışığının en parlak olduğu dönemiz de iş çözüm üretmek, geçmişten daha kolay olmaktadır. İş çözümlerinin yaşam süreçleri incelendiğin de çözümün yaşam sürecinde karşılaşılan problem ve gereksinimlerin üretim sürecinden daha fazla olduğu görülmektedir. İş çözümlerinde altyapı beklentilerinin sağlanabilmesi amacı ile Cloud Computing altyapısı oluşturulmuştur.

Cloud Computing altyapısı, iş çözümlerin beklenmedik yoğunluklara cevap üretebilecek, ekonomik ve iş devamlılığını sağlaması amacı ile hazırlanmıştır. Belirtilen altyapı özelliklerine ilgili olarak ise, birçok şirket tarafından incelenerek yorumlanmıştır. Özellikle Microsoft, Windows Azure Platform ürünü ile yüksek kullanıcı deneyimin bulunduğu, kolay yönetilebilir olması ile öne çıkmaktadır.

Cloud Computing, kullanıcıların gereksinim duyacağı altyapıları hizmet olarak sunmaktadır.
Sunulan her hizmet iş gereksinimlerin gereğince şekillenerek iş çözümü haline gelmektedir. Cloud Computing Infrastructure as a Services (IaaS), Platform as a Service (PaaS)Software as a Service (SaaS) ve yukarıdaki resimde belirtilmeyen birçok hizmet yaklaşımı ile kullanıcılarına iş çözümleri sunmaktadır.

Windows Azure Platform ve Platform as a Service (PaaS) uygulama modelinin anlaşılması amacı ile “Windows Azure ile Cloud Computing Uygulamaları”  makale serisini hazırlanmıştır. Makale serisinin daha anlamlı olabilmesi için ise  “WindowsAzure.FunnyApp” isimli uygulama örneği hazırlanmıştır. Uygulama örneği ile Windows Azure Cloud ServicesWindows Azure Storage ve diğer Windows Azure hizmetleri hakkında çalışılmıştır.

Makale serisinde yapılan anlatımların örneklenmesi amacı ile hazırlanan “WindowsAzure.FunnyApp” uygulaması ile ilgili olarak, aşağıdaki bağlantıyı kullanarak kaynak kodları edinebilirsiniz.

WindowsAzure.FunnyApp  / https://github.com/ibrahimatay/WindowsAzure.FunnyApp

Windows Azure Platform yeni güncellemeler ve eklenen ürünler ile gelişmeye devam etmektedir. Makale serisi ile uygulama geliştiricilerin Windows Azure Platform ile ilgili fikri edinerek, kolayca uygulama geliştirebilmeleri amaçlanmıştır.

Windows Azure ile Cloud Computing Uygulamaları – 9

Zaman hızlı ilerliyor. İş ihtiyaçları sürekli değişiyor. Bugün kullanılan iş uygulamaları yarın yeniden planlanması gerekiyor. İçerisinde bulunduğumuz dönem de ise iş uygulamalarının her zamankin den daha fazla esnek olması gerekmektedir.

Şirketler büyümeye ve farklı müşteri portföylerine ulaşmaya devam ediyor. Geçmişten sadece Türkiye pazarında çalışan şirketler, günümüzde Avrupa, Amerika ya da Afrika gibi bölgeler de çalışır hale geldi. Büyüyen şirketler, müşterileri ile sağlıklı iletişimi kurabilmesi için teknolojik altyapılarını, iş gereksinimlerine göre şekillendirmeleri gerekmektedir.

Sektörle olarak fark etmeksizin, iş coğrafyaları artıyor. Artan iş coğrafyaları, şirketlerin yeni müşterilerine ulaşabilmesi için yeni altyapı yatırımların yapmasını gerekmektedir. Yapılan altyapı yatırımların başında ise, Web tabanlı uygulamaları gelmektedir.

Günümüzde şirketlerin müşterilerin her alanda ulaşma ve destek olma istediği, beraberinde altyapı sistemlerinin esnek, ekonomik ve sürdürülebilir ihtiyaçlarını doğurmuştur. Meydana gelen gereksinimler, teknoloji bilgi ve tecrübeler sonucunda Cloud Computing altyapısının oluşmasına neden olmuştur. Cloud Computing altyapısı çeşitli şirketler tarafında yorumlandığı gibi Microsoft tarafından da Windows Azure Platform ürünü ile kullanıcılarına birçok olanaklar sunmaktadır. Microsoft, Windows Azure Platform ürünü ile kolay yönetebilir,  güvenilir SLA(Service Level Agreement) belgeli ve beraberinde farklı uygulama ve iş konseptleri sunmaktadır.

Günümüzde iş ihtiyaçlarına göre hızlı şekillenebilen şirketler değer kazanmaktadır.

Microsoft, Windows Azure Platform altyapısı ile şirketleri sahip oldukları uygulamaları esnek
ve şuanda Avrupa, Amerika, Asya ya da gelecek de açılacak diğer veri merkezleri ile bölgeler den bağımsız olarak çalışabilmesine olanak sağlamaktadır. Windows Azure Platform altyapısının
incelenmesi ve Windows Azure Cloud Services konseptinin anlaşılması amacı ile “WindowsAzure.FunnyApp” uygulama çalışması geliştirilmiştir. Anlatımın devamında “WindowsAzure.FunnyApp” uygulamasının Windows Azure Platform içerisinde yayınlama süreci hakkında bilgiler verilecektir.

Windows Azure Cloud Service konsepti, esnek(genişleyebilen), güvenli ve Agility uygulama geliştirme süreçlerin de uygulanabilir uygulama konseptidir. Windows Azure Cloud Services konsepti ile hazırlanmış uygulamalar, Windows Azure Platform ’na paketlenerek, yayınlanmaktadır.

Cloud Computing uygulamalarının esnek çalışabilme yani genişleyebile süreçleri ile ilgili “Windows
Azure
ile Cloud Computing Uygulamaları – 2
” makalesini incelemenizi tavsiye ederim.

Windows Azure Platform içerisinde yayınlanması istenen Windows Azure Cloud Service uygulamaları, platform içerisinde Production ve Staging olarak iki ayrı deployment tekniği kullanarak yayınlanabilmektedir. Söz konusu deployment teknikleri ile ilgili aşağıda bilgi verilmiştir.

Staging

İş uygulamaları geliştirme yaklaşımına bağlı olarak, manuel test yapılması gerektirdiği durumlar ile karşılaşılabilmektedir. Söz konusu durumda uygulamalar test ortamında deploy edilerek, amaçlanan testler de istenilen sonuçların alınması ile ürün ortamına taşınmaktadır.

Windows Azure Cloud Service deployment sürecinde uygulama ilk olarak Staging olarak deploy ile manuel testlerin yapılması ve uygulama kararlığının anlaşılması ile sadece “Swap” butonu kullanarak, ürün ortamına taşınabilmektedir.

Production

İş uygulamaları içerisinde bulunduğu durumlara göre direk son kullanıcın karşısına çıkarılması gerekmektedir.  Yapıla çalışma ile kullanıcı direk olarak, son kullanıcın karşısına çıkarılmaktadır.

Windows Azure Cloud Service konsepti ile geliştirilen iş uygulamalarını direk olarak, son
kullanıcın karşısına çıkarabilecek şekilde yayınlanması istendiğin de uygulama Production
deployment tekniği kullanarak yayınlanabilmektedir.

Agility uygulama geliştirme yaklaşımları kullanarak geliştirilen yazılım projeleri, Spint denilen zaman periyotları kullanarak geliştirmektedir. Geliştirme sürecinde her Spint sonunda UAT süreci gerçekleştirilerek, uygulama kararlılığı test edilmektedir. Yapılan test sonuçlarına bağlı olarak uygulama ürün ortamına taşınmaktadır. Windows Azure Cloud Service konsepti ile geliştirilen uygulamalar, Spint sonunda “Staging” deployment yapılarak, kullanıcı kabul testleri yapılabilir. Yapılan testler sonucun da karalı sürüm elde edilmesi ile “Swap” butonu kullanarak, uygulama kolayca ürün ortamına taşınabilmektedir.

Windows Azure Cloud Services konsepti ile hazırlanan uygulamalar, çeşitli yayınlama türleri
kullanarak yayınlanabilmektedir. Söz konusu yayınlama türleri aşağıda belirtilmiştir.

  • Windows Azure Platform Yönetim Portal Deployment alanlarını kullanarak
  • Kaynak kontrol sistemleri kullanarak(TFS, TFS Services, Git, ve Local Git)
  • Powershell Script kullanarak
  • Visual Studio 20[08,10,12,13] kullanarak

Yapılan anlatım sürecinin devamında “Windows Azure ile Cloud Computing Uygulamaları” yayın serisi için hazırlanan “WindowsAzure.FunnyApp” uygulaması, Visual Studio 2012 kullanarak Deployment ve yayınlama süreci inceleniyor olacaktır. Gerçekleştirilecek adımlar
aşağıda bulunmaktadır.

  1.       Uygulama ile ilgili Windows Azure Storage hesabının(örneği “FunnAppStorage”) oluşturulması
  2.       Uygulama ile ilgili Windows Azure Cloud Service hesabının(Örneğin “FunnyApp”) oluşturulması
  3.       Uygulama konfigürasyonun sağlanması
  4.       Visual Studio 2012 yardımı ile uygulama Windows Azure adımların başlatılması
  5.       Deployment yapılan uygulamanın “Swap” butonu kullanarak, ürün ortamına alınması

Uygulama deployment ve yayınlama süreci ile ilgili anlatımlar da kullanılacak olan “WindowsAzure.FunnyApp” uygulaması ile ilgili olarak ayrıntılı bilgi için “Windows Azure ile Cloud Computing Uygulamaları – 5” makalesini incelemenizi tavsiye ederim.

1 – Uygulama ile ilgili Windows Azure Storage hesabının oluşturulması

Windows Azure Storage, Windows Azure Platform içerisinde uygulamaların depolama gereksinimleri sağlanabilmesi amacı ile oluşturulan modern depolama konseptidir.  Windows Azure Platform içerisinde Windows Azure Storage hesabı oluşturulabilmek için aşağıda bulunan resimdeki adımlar
gerçekleştirebilirsiniz.

Windows Azure Storage konsepti ile ilgili detaylı teknik bilgi için “Windows Azure ile Cloud Computing Uygulamalar – 7” ve “Windows Azure ile Cloud Computing Uygulamalar – 8” makalelerinin incelemenizi tavsiye ederim.

2 – Uygulama ile ilgili Windows Azure Cloud Service hesabının oluşturulması

Windows Azure Cloud ServicesWindows Azure Platform içerisinde uygulamaların esnek, performanslı ve yüksek güvenlik düzeylerinde çalışabilmesine olanak sağlayan modern uygulama yayınlama konseptidir. Windows Azure Platform içerisinde Windows Azure
Cloud Service
hesabı oluşturulabilmek için aşağıda bulunan resimdeki adımları izleyebilirsiniz.

Windows Azure Cloud Services konsepti ile ilgili teknik bilgi için “Windows Azure ile Cloud Computing Uygulamalar – 5” ve “Windows Azure ile Cloud Computing Uygulamalar – 6” makalelerinin incelemenizi tavsiye ederim.

3 – Uygulama konfigürasyonun sağlanması

Windows Azure Platform içerisinde Windows Azure Cloud Service olarak geliştirilen uygulamanın bağımlı olduğu Windows Azure Platform hizmetleri ile ilgili iletişimini sağlayabilmesi amacı bazı bilgilere ihtiyaç duymaktadır. Uygulama örneği olan, “WindowsAzure.FunnyApp” ‘ın Windows Azure Storage ile ilgili hesap bilgileri aktarılabilmesi amacı ile aşağıdaki adımları izleyebilirsiniz.

Uygulama çalışması olan “WindowsAzure.FunnApp” projesi içerisinde bulunan “WindowsAzure.FunnyApp” proje şablonu içerisinde bulunan “Roles” bölüne gelinmesi gerekmektedir. “Roles” bölümünde bulunan “WindowsAzure.FunnyApp.Web” role seçilerek, konfigürasyon alanı açılmaktadır. Windows Azure Cloud Service, Role konfigürasyon alanına ulaşabilmek için aşağıdaki adımları izlenmesi gerekmektedir.

Uygulama çalışmasının kullanmış olduğu Windows Azure hizmetleri ile bağlantısının sağlanabilmesi amacı ile sahip olduğunuz Windows Azure hesap bilgisine ihtiyaç duymaktadır. Hesap bilgisinin uygulama içerisine aktarılabilmesi için resimdeki adımları izleyebilirsiniz.

Yukarıda belirtilen adımlar ile sahip olunan Windows Azure hesap bilgilerin, seçilmesi ve devamında içeriye aktarılması gerekmektedir. Gerçekleştirilen işlem adımlarında sahip olunan Windows Azure hesabı ile ilişkili “Publish Setting”  dosyası kullanılmaktadır. Eğer böyle bir dosyanız yok ise,  “Download Publish Settings” bağlantısını kullanarak edinebilirsiniz.

4 –  Visual Studio yardımı ile uygulama Windows Azure adımların başlatılması

Hazırlanan “WindowsAzure.FunnyApp” uygulaması, Windows Azure Cloud Service uygulaması olarak yayınlanma süreci ile ilgili aşağıdaki adımları izleyebilirsiniz.

Uygulama yayınlama süreci ile ilişki Windows Azure hesabı ilişkilendirme işlemleri ile ilgili aşağıdaki adımları izleyebilirsiniz.

Uygulama yayınlaması istenen Windows Azure hesabı ile ilgili uygulama ortamlarının
ilişkilendirilmesi ile ilgili aşağıdaki adımları izleyebilirsiniz.

Windows Azure hesap ilişkilendirilmesi ve uygulama konfigürasyonun yapılması ile uygulama Windows Azure Platform içerisinde yayınlanabilir hale ulaşmıştır. Aşağıdaki adımları izleyerek, uygulama yayınlama işlemleri başlatılabilmektedir.

Uygulamanın Windows Azure Platform yayınlama işlemi ile ilgili gerçekleşen süreci “Windows
Azure Tools for Microsoft Visual Studio
” ile birlikte gelen, “Windows Azure Activity Log” panel kullanarak izleyebilirsiniz.

Uygulama “Windows Azure Tools for Microsoft Visual Studio” kullanarak, “Staging” olarak yayınlanmıştır. Yayınlanan uygulamanın, son kullanıcı ortamında farklı ve benzersiz bir site
adres üzerinde yayın yapmaktadır.

5 – Deployment “Staging” yapılan uygulama, “Swap” butonu kullanarak, Production ortamına alınması

Windows Azure Platform içerisinde ”Staging” olarak yayınlanan “WindowsAzure.FunnyApp
uygulaması,  amaçlanan testlerin gerçekleştirilmesi ile “Swap” butonu kullanarak, ürün ortamına taşınabilmektedir.

Belirtilen işlemlerin yapılması sonucunda uygulama son kullanıcın karşısına çıkabilecek, kullanıcı dostu adresi olan bir Windows Azure Cloud Service uygulamayı yayınlanmış bulunmaktadır.

Yapılan işlemler sonucunda makale serisi uygulama örneği uygulaması olan “WindowsAzure.FunnyApp”, Windows Azure Platform üzerinde Windows Azure Cloud Services konsepti ile yayınlanmış bulunmaktadır.

Not: Yapılan anlatımın örneklenmesi amacı ile “WindowsAzure.FunnyApp” uygulaması
hazırlanmıştır. Aşağıdaki bağlantı kullanarak, uygulama kaynak kodlarına erişebilirsiniz.

Github / https://github.com/ibrahimatay/WindowsAzure.FunnyApp

İş coğrafyaları ve gereksinimleri her gün farklılaşıyor. Süreçlere uyum sağlamak her zamanınkinden zor ve maliyetli olmaktadır. Günümüz şartlarında şirketlerin ekonomik, kaliteli ve sürdürülebilir altyapılar sahip olmasının en kolay yolu Cloud Computing den geçmektedir. Bu yazılı ile Cloud Computing altyapısı olan Windows Azure Platform üzerine Windows Azure
Cloud Services
konsepti ile geliştirilmiş “WindowsAzure.FunnyApp” uygulaması adım adım yayınlama süreçlerini incelemiş olduk.

Windows Azure ile Cloud Computing Uygulamaları – 8

Zaman sürekli ilerliyor. Geçmişte büyük prodüksiyonlar ile yapılacağı inanılan çalışmalar, kişisel cihazlar ile gerçekleştirilebilir hale geldi. Yaşanılan anları kayıt etme isteği, herkesi fotoğrafçısı ve rejisörü olabilme yollu açmıştır.

Yaşam hızlı değişiyor. Yaşanan değişimin en büyük mimarı ise teknoloji olarak görünmektedir. Teknoloji kullanıcılarına birçok olanak sağladığı gibi kendisi içerisinde farklı olanaksızlar da bulunmaktadır.

Şirketler, iş süreçlerini standartlar ile devamlılığını sağlayabilmek amacı ile çeşitli teknolojiler kullanılmaktadır. Kullanılan teknolojiler, gerçekleştirilmesi istenen sürecin başarılı ve en az problem ile tamamlaması beklenmektedir. Beklenen sonuçların alınması, müşteri memnuniyetinin sağlanması için önemlidir.

İş süreçleri devamlı ve istenilen kalite de yürütülmesi, müşteri ve sağlayıcı(üretici) arasında olumlu ilişkilerin kurulabilmesi için önemli bir bağ olarak görülmektedir. Şirketler sundukları hizmet ya da ürünlerin, müşterilerine tanıtabilmek amacı ile reklam filmleri ve kataloglar kullanmaktadır. Kullanılan materyaller, teknoloji sistemlerin kullanılması ile oluşturularak, müşterilere ulaştırılmaktadır.

Günümüzde şirketler tanıtımlarını sağlayabilmek amacı ile birçok yöntem kullanmaktadır. Kullanılan yöntemlerin büyük kısmı, teknoloji sistemlerin kullanımın ön planda sistemlerdir. Örneğin; Atın ve mücevher satışı yapan şirketler, hazırladığı ürünleri Web sitesi üzerinden çeşitli fotoğraflar kullanarak tanıtımını yapmaktadır. Ayrıca her zaman müşterilerinin yanında olabilme olanağı, ürün destek ve satış sürecini için aktif süreçler gerçekleştirebilmektedir. Gerçekleşen süreçler ile şirket, genişleyen müşteri portföyüne sahip olmaktadır.

İş dünyasının hızlı manevrana cevap verebilmek, şirketlerin yaşamının devam ettirebilmesi için önemlidir. Genişleyen iş süreçleri ile yeni teknoloji inovasyonların önü açılmaktadır. İnovasyon hareketleri, geçmişte yapılan hatalarda ders alınarak oluşturulmaktadır. Günümüzün inovasyon çözümleri incelendiğinde en belirgin özellikleri sürdürülebilir, ekonomik, esnek ve güvenilir olarak sıralanmaktadır. Belirtilen özellikler Cloud Computing mimarisinin temel özellikleri arasında yer almaktadır.

Cloud Computing mimarisi çeşitli şirketler tarafından yorumlanmaktadır. Özellikle Microsoft, Windows Azure Platform ürünü ile kullanıcılarına ekonomik ve kolay yönetilebilir hizmetler sağlamaktadır.

Windows Azure Platform, esnek ve devamlılığı sağlanması istenen birçok iş çözümün yaşayabilmesi için çeşitli çözümleri sunmaktadır. Sunulan iş çözümleri, yeni birçok konsept kullanarak, iş süreçleri esnek olabilmesine olanak sağlamaktadır.

Şirketler gerçekleştirdiği iş süreçlerindeki problemler teknik olarak incelendiğin de problemlerin temelin de depolama sorunları olduğu görülmektedir. Sürecin güvenli ve en az problem ile sağlanabilmesi amacı ile Microsoft, Windows Azure Platform ile yeni depolama konseptti olan Windows Azure Storage altyapısını sunmuştur.

Windows Azure Storage, yüksek optimizasyonu değerine sahip ve güvenliği seviyeli yüksek depolama
altyapısıdır. Söz konusu altyapı, klasik uygulama geliştirme yaklaşımın ötesin de nesnel ve veri kayıp problemlerin en aza indirilmiş bir sistemdir. Windows Azure Storage altyapısı
, iş gereksinimlerine
cevap üretecek üç parça dan oluşmaktadır. Aşağıda Windows Azure Storage altyapısı parçaları şema ile gösterilmektedir.

Windows Azure Storage, kullanıcı iş gereksinimlerine göre TableQueue ve Blob isimli üç parçadan oluşmaktadır. Windows Azure Storage, Table ve Queue parçaları ile ilgili “Windows
Azure ile Cloud Computing Uygulamaları
” makale serisinin diğer bölümlerin de bilgi verilmiştir. Bu çalışma ile Windows Azure Blob Storage ile ilgili bilgiler verilmesi amaçlanmaktadır.

İş uygulamaları çoğunlukla kullanıcıların dan çeşitli Binary(fotoğraf ya da Word dosyası) içerikler alınmaktadır. Klasik uygulama geliştirme yaklaşımı incelendiğin de kullanıcıların dan alınan dosya içeriklerinin uygulama makinesi üzerine konumlandırılmaktadır. Kullanıcı dosyaların ve iş uygulaması ile aynı makine üzerine konumlandırılması, zaman içerisinde depolama çeşitli
problemlerin ortaya çıkmasına neden olmaktadır.

İş uygulamalarının, Windows Azure Blob Storage altyapısı kullanarak geliştirilmesi ile uygulama verilerin depolama yaklaşımı farklı bir konseptte taşınmaktadır. Uygulama verileri, Windows Azure Storage ile uygulama alanından bağımsız, esnek ve yüksek güvenlikli altyapıya taşımaktadır. Aşağıda Windows Azure Blob Storage ile ilgili iletişim şeması bulunmaktadır.

Windows Azure Blob Storage,  iş gereksinimlerine göre çeşitli olanaklar sunmaktadır. Yukarıda bulunan şema da görüldüğü gibi Windows Azure Storage, REST mimari ile iletişimini sağlayan, iki ayrı parçadan oluşmaktadır. Aşağıda Windows Azure Blob Storage altyapısı ile ilgili bazı özellikler ve açıklamaları bulunmaktadır.

Özellik

Açıklama

Snapshot

Depolanan verinin belirlenen tarihe kadar sadece okunabilir halde
dondurulması şeklinde hizmet verme durumudur.

Erişim Seviyesi

Depolanması istenen verinin özel(private), sadece genel(public) okuma
ya da genel(public) erişim ile tüm yetkiler sağlanabilmesi şeklinde erişim
yetkileri sınırlandırılabilmektedir.

Disaster Recovery

Geo-repolaction özelliği sayesinde depolanan veri bir den fazla
lokasyon üzerine kopyalanmaktadır. Gerçekleşen kopyalama ile herhangi noktada yaşanan sistem problemlerin de farklı bir nokta üzerinde veri erişim süreçleri devam ettirilebilmektedir. Sağlanan olanaklar ile Disaster Recovery sürecine destek verilebilmektedir.

Backup

Windows Azure Blob Storage içerisinde depolanan veriler, çeşitli Windows Azure hizmetleri ile yedekle olanakları sağlanabilmektedir.

Geo-Replication

Depolanan verinin farklı coğrafik nokta da kopyaların
oluşturulabilmektedir.

Erişim Protokolleri

Windows Azure Blob Storage,
üzerinde taşıdığı verileri Http ya da Https olarak erişilebilmesinin olanak
sağlayabilmektedir. Depolama sözümü 2616 RPC standart da bağlı olarak Http ya da Https üzerinde REST iletişimine de olanak sağlamaktadır.

Logging

Windows Azure Blob Storage üzerinde yapılan işlemlerin geçmiş dönük incelebilmesi amacı ile yapılan veri hareketleri depolanabilmektedir.

En Fazla Depolama Miktarı

Windows Azure Blob StorageBlock Blob olarak en fazla 200GB
ve Page Blob olarak ise, 1TB veri depolayabilmektedir.

Geliştirilen iş uygulamaları, gerçekleştireceği iş sürecine bağlı olarak, depolama planlamaları yapılmaktadır. Yapılan depolama planları, iş verisinin okuma / yazma yoğunlukları ya da veri boyutları ile ilgili şekillenmektedir. Windows Azure Blob Storage konsepti ile iş gereksinimlerine göre Page Blob ve Block Blob isimli iki farklı nesne ile hizmet vermektedir.
Aşağıda söz konusu nesneler ile ilgili temel bilgi karşılaştırmaları bulunmaktadır.

Özellik

Block Blob

Page Blob

En fazla Veri Depolama

4MB

512Byte

En Az Veri Depolama

200GB

1TB

Snapshot

Destekliyor

Destekliyor

Erişim Seviyesi

Private,Public blob, Public container

Private,Public blob, Public container

Erişim Protokolleri

Http/Https/Rest

Http/Https/Rest

Logging

Destekliyor

Destekliyor

Yapılan anlatımın anlaşılması amacı ile “WindowsAzure.FunnyApp” isimli uygulama örneği hazırlanmıştır. Hazırlanan uygulama örneği ile iş senaryoları incelenerek, Windows Azure
Platform
hakkında farklı deneyimler paylaşılmıştır.

Uygulama örneğin de Windows Azure Storage ile ilişkili nesnelerin kullanımı kolaylaştırıcı anahtar değişkenler tanımlanmıştır. Tanımlanan değişkenler Windows Azure Storage içerisinde kullanılan nesnelerin yönetimini kolaylaştırması amaçlanmıştır.

public class Utils

{

    public const string ConfigurationString = “DataConnectionString”;

    public const string CloudQueueKey = “imagequeue”;

    public const string CloudBlobKey = “imageblob”;

}

Uygulama Senaryosu – |

Kullanıcı tarafından yayınlanması istenen fotoğraf ile ilgili bilgileri girilerek, içeriğin uygulamaya yükleme süreci gerçekleşmektedir. Yükleme süreci kullanıcı tarafından fotoğrafın yüklenmesi
ile Windows Azure Table Storage üzerine ilgili bilgilere yazılarak ve fotoğraf içeriğinin Windows Azure Blob Storage üzerine yüklenmesi ile tamamlanmaktadır. Gerçekleşen süreçler ile ilgili kaynak kodlar ve yorumları aşağıda bulunmaktadır.

Uygulama Senaryosu – ||

Uygulama örneği olan “WindowsAzure.FunnyApp” çalışması, kullanıcısından aldığı fotoğraf içerikleri yeninde boyutlandırarak, yayınlamaktadır. Yapılan boyutlandırma işlem yoğunluğun dengelemek ve kullanıcı işlem sürecinin gerçekleştirebilmesi amacı ile Worker Role tasarlanmıştır. Tasarlanan Worker Role, Windows Azure Blob Storage üzerinde boyutlandırılması amaçlanan dosya okunarak, boyutlandırma işlemlerine tabi tutulmaktadır. Yapılan işlemler sonucunda içerik URL adresi oluşmaktadır. Gerçekleşen süreçler ile ilgili kaynak kodlar ve yorumları aşağıda bulunmaktadır.

Windows Azure Blob Storage altyapısı, kullanımı ile ilgili iş süreçleri incelenmiştir. Windows Azure Blob Storage altyapısı Page Blob ve Block Blob depolama konsepti ile hızlı şekillenmesi beklenen, iş süreçlerine cevap üretmektedir.  Depolama konseptleri, iş uygulamalarının, iş verisi üzerinde en performanslı şekilde çalışabilmesini olanak sağlamaktadır. Belirtilen konseptlerin tercihi ve uygulama şekilleri ile ilgili örnek senaryolar aşağıda bulunmaktadır.

Windows Azure Blob Storage, Page Blob

İş uygulamaları, içerisinde bulunduğu sürece bağlı olarak, yoğun veri okuma süreçlerin de bulunmaktadır. Örneğin; Yoğun video yayının yapan iş uygulamaları, istemcilerini besleyebilmek için talep edilen video içerikleri yoğun okuma işlemlerini gerçekleştirmesi gerekmektedir. Söz konusun süreç de yoğun okumalara en iyi performans yakalayabilmesi amacı ile Windows Azure Page Blob konseptinin tercih edilmesi daha sağlıklı sistem altyapısı oluşturmanıza olanak sağlayacaktır.

Windows Azure Blob Storage, Block Blob

İş gereksinimleri zaman içerisinde paralel olarak, yoğun dosya yükleme işlemleri gerektirebilmektedir. Örneğin; E-ticaret sistemleri ürün içeriklerini güncellemek amacı ile günlük içerik düzenleme süreçleri gerçekleştirmektedir. Gerçekleştirilen işlemler ile birçok ürün fotoğraf içerikleri yüklenmektedir.  İzlenen sürecin en performanslı olarak gerçekleştirmek amacı ile Windows Azure Block Blob konseptinin tercih edilmesi başarılı sonuçlar alınmasını sağlayacaktır.

Not: Yapılan anlatımlarda “WindowsAzure.FunnyApp” uygulama örneği kullanılmıştır. Uygulama ile ilgili kaynak kodları aşağıdaki bağlantıyı kullanarak edinebilirsiniz.

Github / https://github.com/ibrahimatay/WindowsAzure.FunnyApp

İş uygulamaların başarılı ve performanslı olarak çalışabilmesi için geliştiricilerin, iş tecrübelerine göre çeşitli yaklaşımlar uygulanmaktadır. Günümüzde depolama ve verinin kullanımı konusunda yeni konseptler oluşturulmaktadır. Microsoft Windows Azure Platform ile de sürece yeni bir bakış açsı oluşturulmuştur.

Understanding Block Blobs and Page Blobs

http://msdn.microsoft.com/en-us/library/ee691964.aspx

RPC 2616

http://www.ietf.org/rfc/rfc2616.txt

Windows Azure ile Cloud Computing Uygulamaları – 7 (Video)

Zaman sürekli değişmektedir. Değişen zaman içerisinde birçok iş çözümü geliştirilmiştir. Geliştirilen çözümler, iş gereksinimlerine uygun depolama çözümleri ile desteklenmektedir.

Uygulama yaşam süreci boyunca çeşitli girdi / çıktılar ile çalışmaktadır. Üretilen iş verileri, gereksinimlerine bağlı düzenlemeler sonucunda normalizasyon ya da yapısal bozulmalara neden olmaktadır. Meydanan gelenen bozulmalar, veri kaynakların kullanan iş uygulamalarınında performans problemlerine neden olmaktadır.

Windows Azure ile Cloud Computing uygulamaları yayın serisinin “Windows Azure ile Cloud Computing uygulamaları – 7” bölümü ile Windows Azure Platform ’un desteklemiş olduğu
NoSQL çözümleri incelenmeye
çalışılmıştır.

Gerçekleştirilen kullanılan uygulama örneği ve ilgili gelişmeleri takip etmek için aşağıdaki bağlantıyı incelemenizi tavsiye ederim.

Github / https://github.com/ibrahimatay/WindowsAzure.FunnyApp

Windows Azure ile Cloud Computing Uygulamaları – 7

Zaman içerisinde planlı ya da plansız olarak, birçok işlem yapılmaktadır. Günümüzde sosyal ağlar ile paylaşımlar ya da bankalar ile birçok harcamalar yapmaktayız. Yapılan işlemler kullanıcılar için önemli olmasa da şirketler için CRM bilgisi olarak depolanmaktadır.

Günümüzde müşteri isteklerini, talep etmeden hazırlayan şirketler kazanmaktadır.                

Yeni nesil CRM süreçleri, her yeni gün özellik kazanarak şekillenmektedir. Söz konusu CRM süreçleri, yasal yaptırımlara bağlı gerçekleştirilmektedir.

İş planlama ve senaryoları gereksinim ve yasal yaptırımlara uyumluluk sağlanmak amacı ile güncellemektedir. Uygulamaların kullanım sürecinde gereksinim duyulmayan, herhangi özellik dönemde gereksinim duyulabilmektedir. Gerçekleşen değişimler, kullanılan iş uygulamalarının şekillendirilmesi ya da yeniden geliştirilmesi gündeme gelebilmektedir.

Türkiye Cumhuriyeti’nde, 1999 yılın sonu itibari ile vatandaşlık numarası uygulaması başlatılmıştır. Uygulama ile isim benzerliklerinde kaynaklanan problemler ve tüm işlemlerin tek numara üzerinde gerçekleştirilmesi amaçlamıştır. Çalışma ile başta sağlık sektörü olmak üzere, insan ile ilişkili tüm sektörlerde kullanılan uygulamalarda, vatandaşlık numarasını temel alma özelliğinin kazandırılması gereksinimi ortaya çıkmıştır. Yapılan işlemler ile tamamlanmış
mevcut ya da süren işlem verilerinin düzenlenmesi gereksinimi ortaya çıkmıştır.

İş süreçleri, kural ya da yasal yaptırımların uygulanması sebebi ile işlem girdi ve çıktılarının değişiklik göstermesi gündeme gelebilmektedir. Yapılan işlemler, mevcutta verilerin düzenlenmesi, performans ve depolama süreçlerini de etkilemektedir.

İş uygulamaları, kullanıcılarından yazılı ya da Binary türünde çeşitli veriler ile çalışmaktadır. Çalışılan veriler, yığınların oluşmasına neden olmaktadır. Veri yığınları ise, zaman ile büyük veri(Big Data) olgusunu gündeme getirmektedir.

Her şirketin çalışmış olduğu ana iş dalı üzerinde çalışması, konu ile ilgili uzmanlaşmasını sağlayacaktır. Gereksinimleri duyduğu diğer yan ihtiyaçları, konunun uzmanlarında sağlaması, iş sürecini ve üretimin kalitesini artıracaktır.

Şirketler, mevcut veri yığınlarını, depolama, analiz ve yönetim için çeşitli iş uygulamaları kullanmaktadır.  Veri yığınları ile ilgili işlem yapılabilmek amacı ile çeşitli araçlar satın alınmaktadır. Yapılan satın alma hareketleri, her şirketin birer veri merkezinin oluşturmasına neden olmaktadır. Veri merkezlerinin kurulması, yönetilmesi, bakımı ya da nitelikli iş gücünün oluşturulması, şirketlerin iş kolları dışında yüklerin altına girmesine neden olmaktadır.

Günümüzde sektör ve iş kolların çeşitlenmesi, iş ihtiyaçlarının ile ilgili duyulan verinin artmasına neden olmaktadır. İş gereksinimleri sağlanması ve istenilen sonuçların üretilebilmesi için iş uygulamalarının, Cloud Computing saylayıcılara ve özellikle Microsoft Windows Azure Platform ’a taşınmaktadır.

İş uygulamaları, gerçekleştirilmesi istenen süreci en avantajlı sunması amacı ile çeşitli teknolojik bağımlıklara yüklenmektedir. Çeşitli nedenlerden dolayı, değişen iş süreçleri, kullanılan uygulamaların da güncelleme gereksinimini ortaya çıkartmaktadır. İş Uygulamaları, iş süreçleri
ile ilgili çeşitli avantajlar sunarken, değişim süreçlerinde handikapların oluşmasına neden olabilmektedir.

Uygulama mimarileri, iş süreç ve yasal bağımlıkları nedeni ile kullanıcı tarafından verilerin güncellenmesi gündeme gelebilmektedir. Uygulama veri yapılarının, zaman ve ihtiyaçların gereğince değişmesi, uygulama performansı ve veritabanı optimizasyonu gibi problem oluşturabilmektedir. Geçmiş dönemde gereksinim olduğu düşünülen veriler, farklı bir dönemde
gereksinim duyulmayabilir. Benzer yaklaşım olarak, bazı uygulama verileri gereksinim duyulabilmektedir. Yapılan işlemler, verinin depolanması ya da analiz sürecini etkileyebilmektedir.

Gelişen teknoloji ile iş süreçlere uygun, kolay ve hızlı iş çözümleri oluşturulabilmektedir. Günümüz iş uygulamalarının, hızlı veri sorgulama ve veri ile ilgili yapısal düzenleme gereksinimleri ortaya çıkarmıştır. Meydana gelen gereksinimler, verinin yapının esnek olması ihtiyacını doğurdu.

2009 yılın da “eğlenceyi seç, ilişkisel=yanlış; olan gerçek Dünyadan faydalan” sloganı ile  yapılan, “no:sql(east)” konferansı ile NoSQL konusunda çeşitli düşüncelerin oluşmasında büyük etki oluşturmuştur.

NoSQL, 1998’un sonlarına doğru ortaya çıkan bir kavramdır. Klasik ilişkisel veritabanı yapışanda bulunmayan ve sorgulama için SQL dili kullanmayan veritabanı türüdür. Genel
olarak xml ya da JSON formatında veri depolama yapmaktadır.

İş ihtiyaçları, iş verisinin esnek olma gereksinimi beraberin de ihtiyacın hizmet olarak sunulmasını da sağlamıştır. Microsoft ve diğer Cloud Computing sağlayıcıları çeşitli depolama hizmetleri ile kullanıcılarına Cloud Storage hizmetleri sunmaktadır. Microsoft da Windows Azure Platform ile kullanıcılarına ilişkisel(SQL Database) veritabanı hizmeti sunduğu gibi No-Relation(Windows Azure Storage) iş çözümü de sunmaktadır.

Windows Azure Platform No-Relation iş çözümü olarak, Windows Azure Storage hizmeti sağlamaktadır. Hizmet ile Binary ve diğer veri türleri farklı nesneler içerisinde güveli ve yüksek optimizasyonu değerlerinde, depolanması sağlanmaktadır.  Aşağıda Windows Azure Storage hizmeti katmanları belirtilmiştir.

Windows Azure Storage hizmeti, üç parçalı ve parçalara özgü özelliklerin olması sebebi ile anlatımın devamında Windows Azure Storage ‘ın parçalarından olan Windows Azure Table
Storage
ile ilgili bilgiler verilecektir.

Windows Azure Table Storage, SQL Database yaklaşımında bulunan Table nesnesine
benzemektedir. Ama yapısal bazı özgü özelliklerden dolayı, Windows Azure Table Storage yapısı SQL Database’de bazı farklıklar göstermektedir. Aşağıda Windows Azure Storage ve SQL Database ile ilgili bilgi ve karşılaştırmalar bulunmaktadır.

Özellik

Windows Azure Table Storage

SQL Database

İlişkisel veri

Desteklemiyor

Destekliyor

Server-side çalışama

Desteklemiyor

Destekliyor

Geo-replication

Destekliyor

Desteklemiyor

Scale-out

Otomatik

Manuel

LINQ desteği

Destekliyor

Destekliyor

Veri erişimi

OData Protokol

ODBC ya da JDBC

Yönetim protokollü

HTTP/HTTPS üzerinde REST

HTTP/HTTPS üzerinde REST ile ODBC/JDBC

En az veri depolama

1MB

2GB

En fazla veri depolama

100TB Tablo başına

150GB Tablo başına

Firewall Güvenliği

Desteklemiyor

Destekliyor

REST protokol ile erişim

Destekliyor

Destekliyor

Transaction

Destekliyor (Limitli)

Destekliyor

Transaction logs tutma

Desteklemiyor

Destekliyor

Windows Azure Table ile çalışmak, veritabanı işlemlerini Entity Framework ile yapmak kadar kolay, işlevsel ve hızlıdır. Windows Azure Table Storage, veri işlem süreçlerin de LINQ sorgularını kullanılabilmektedir. Entity Framework ile geliştirilen uygulamalarda DbContext nesnesi kullanıldığı gibi Windows Azure Table Storage yapısında ise, TableServiceContext nesnesi kullanılmaktadır.

public class FunnyAppContext : TableServiceContext

{

    public FunnyAppContext(string baseAddress, StorageCredentials credentials)

        : base(baseAddress, credentials)

    {

    }

    public IQueryable<Tag> Tag

    {

        get { return this.CreateQuery<Tag>(“Tag”); }

    }

    public IQueryable<Post> Post

    {

        get { return this.CreateQuery<Post>(“Post”); }

    }

    public IQueryable<Comment> Comment

    {

        get { return this.CreateQuery<Comment>(“Comment”); }

    }

}

Uygulama örneği olan, “WindowsAzure.FunnyApp” çalışması nesneye yönelimli olarak geliştirilerek, gerçek yaşamda karşılaşabilecek durumlar ele alınmaya çalışılmıştır. Aşağıda “WindowsAzure.FunnyApp” çalışması ile ilgili sınıf ilişkisel şeması bulunmaktadır.

Yukarıdaki şema da görüldüğü gibi EntityBase sınıfı TableServiceEntity sınıfında türetilmiştir. Yapılan türetme ile Windows Azure Table Storage Entity fonksiyonelliği kazandırılmış olacaktır.  Temel sınıf olan EntityBase sınıfından türeyen sınıflar,  “PartitionKey” , “RowKey” ve “Timestamp” özellikleri kazanmaktadır.  Söz konusu özellikler, Windows Azure Table Storage içerisinde verilerin, benzersiniz(“PartitionKey” , “RowKey”) ve işlem zamanı(“Timestamp”) ile ilgili bilgiler taşımaktadır.

public class EntityBase : TableServiceEntity
{
    public EntityBase()
    {
        this.PartitionKey = DateTime.UtcNow.ToString("MMddyyyy");
        this.RowKey = string.Format("{0:10}_{1}", 
            DateTime.MaxValue.Ticks - DateTime.Now.Ticks, Guid.NewGuid());
    }
}

Klasik uygulama veritabanı uygulama geliştirme sürecinde gerçekleştirildiği gibi Windows Azure Table Storage ile de GRUD işlemleri yapılabilmektedir. Yapılan işlemlerin bir kalıp üzerinde gidebilmesi amacı ile Repository tasarım deseni kullanılmıştır.

public interface IRepository<TEntity>
{
    TEntity Find(string partitionKey, string rowKey);
    TEntity Find(string rowKey);
    void Create(TEntity entity);
    void Delete(TEntity entity);
    void Update(TEntity entityToUpdate);
    void SubmitChange();
    IQueryable<TEntity> Get();
}

Windows Azure Table Storage nesnesi ile veri işlemlerinin yönetebilmesi amacı için Repository nesnesinin yönetilebildiği FunnyAppRepository sınıfı hazırlanmıştır. Sınıf EntityBase türüne ait nesnelere hizmet vermek amacı ile sınırlandırılmıştır.

public class FunnyAppRepository<TEntity> : IRepository<TEntity>, 
    IDisposable where TEntity : EntityBase
{
    // veri işlemleri ile ilgili kullanıcı 
    // hesap bilgilerinin alınması
    private static CloudStorageAccount _storageAccount;
    
    // iş nesnesi ile ilgili tanımlamanın yapılması
    private readonly FunnyAppContext _context;
    
    // nesne türüne ayit isim alınması
    private readonly string _entitySetName;

    public FunnyAppRepository()
    {
        // veri işlemleri ile ilgili gerekli bilgilerin alınması
        _storageAccount = 
            CloudStorageAccount
            .FromConfigurationSetting(Utils.ConfigurationString);
        // Veri hesap bilgilerinin bilgilerin ve iş
        // nesnesinin Table model atanması
        CloudTableClient.CreateTablesFromModel(
            typeof (FunnyAppContext),
            _storageAccount.TableEndpoint.AbsoluteUri,
            _storageAccount.Credentials);

        // seçili olan nesne türünün isminin alınması
        _entitySetName = typeof (TEntity).Name;

        // Nesnenin Windows Azure Storage içerisinde
        // Tanımlı olup / olmadığı kontrol edilir.
        // Tanımlı değil ise, oluşturulur.
        _storageAccount.CreateCloudTableClient()
            .CreateTableIfNotExist(_entitySetName);

        // GRUD işlemleri ile ilgili iş nesnesi oluşturulması
        this._context = new FunnyAppContext(
            _storageAccount.TableEndpoint.AbsoluteUri, 
            _storageAccount.Credentials);
        this._context.RetryPolicy = RetryPolicies.Retry(3, 
            TimeSpan.FromSeconds(1));
    }
    
    // nesne türüne bağlı olarak
    // rowkey ve partitionkey ile kayıt getirme
    public TEntity Find(string partitionKey, string rowKey)
    {
        return (from g in _context.CreateQuery<TEntity>(_entitySetName)
                where g.PartitionKey == partitionKey && g.RowKey == rowKey
                select g).FirstOrDefault();
    }

    // nesne türüne bağlı olarak
    // rowkey ile kayıt getirme
    public TEntity Find(string rowKey)
    {
        return (from g in _context.CreateQuery<TEntity>(_entitySetName)
                where g.RowKey == rowKey
                select g).FirstOrDefault();
    }

    // nesne türüne ayit yeni üye oluşturma
    public void Create(TEntity entity)
    {
        this._context.AddObject(_entitySetName, entity);
    }

    // nesne silmek için
    public void Delete(TEntity entity)
    {
        this._context.DeleteObject(entity);
    }

    // nesne güncellemek için
    public void Update(TEntity entityToUpdate)
    {
        this._context.UpdateObject(entityToUpdate);
    }

    // yapılan değişikleri depolama alanına yansıtmak için
    public void SubmitChange()
    {
        this._context.SaveChanges();
    }

    // nesne türüne ayit tüm içerikleri çekebilmek için
    public IQueryable<TEntity> Get()
    {
        return this._context.CreateQuery<TEntity>(_entitySetName);
    }

    public void Dispose()
    {
        GC.SuppressFinalize(this);
    }
}

Tanımlaması yapılan iş nesnelerinin, kullanımı ile uygulama senaryosu olan, Kullanıcın tarafında yüklenen fotoğrafların görüntülenme süreci gerçekleştirilmektedir. Yapılan işlem ile LINQ
sorgusu kullanarak gerçekleşmektedir.

public partial class MyUploads : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack) return;
        
        // Post nesne türüne ayıt, repository iş nesnesinin tanımlanması
        FunnyAppRepository<Post> _postRepository = 
            new FunnyAppRepository<Post>();

        List<PostViewData> viewDatas = new List<PostViewData>();

        // istenilen öncüllerin oluşturulduğu Linq sorgusu
        // tanımlanması
        _postRepository.Get().Where(post => 
            post.UserId == Membership.GetUser(Page.User.Identity.Name)
            .ProviderUserKey.ToString()).ToList()
                       .Where(post=> post.State)
                       .OrderByDescending(post => post.Timestamp)
                       .Take(20).ToList().ForEach(
                       post => viewDatas.Add(new PostViewData()
                       {
                           PostContent = post.PostContent,
                           PostImage = post.PostImage,
                           RowKey = post.RowKey,
                           UserId = post.UserId
                       }));
        
        this.RepeaterImages.DataSource = viewDatas;
        this.RepeaterImages.DataBind();
    }
}

Her yeni gün, yeni çalışmalar ve işlemler yapmaktayız. Gerçekleştirilen süreçler, veri yığınları oluşmasına neden olmaktadır. Meydana gelen veri yığınları, güncelleme, analiz ve depolama gibi gereksinimleri ortaya çıkarmaktadır. Yaşanan problemler, ortaya çıkan NoSQL yaklaşımları ile amaçlanmaktadır.

Veri yapılarının hatalı analiz ve planlanması nedeni ile veri ile ilgili tüm alanlarda problemlerin ortaya çıkması mümkün olacaktır.

Not: Yapılan anlatımın örneklenmesi amacı ile “WindowsAzure.FunnyApp” uygulaması hazırlanmıştır. Aşağıdaki bağlantı kullanılarak, uygulama kaynak kodlarına erişebilirsiniz.

Github / https://github.com/ibrahimatay/WindowsAzure.FunnyApp

Windows Azure Storage yaklaşımı, geliştiricilerine kullandıkları verilerin sınıflandırma ve planlamaya yöneltmektedir. Veri yığınlarının, Windows Azure Storage uyumluluğunun sağlanması ile esnek ve kolay yönetilebilir yapılara sahip olunmaktadır.

TC Kimlik Numarası

http://www.nvi.gov.tr/Hakkimizda/Projeler,Mernis_Hedef.html

http://tr.wikipedia.org/wiki/T%C3%BCrkiye_Cumhuriyeti_Kimlik_Numaras%C4%B1

no:sql(east)

https://nosqleast.com/2009/

Repository Pattern

http://martinfowler.com/eaaCatalog/repository.html

Windows Azure Table Storage and SQL Database – Compared and Contrasted

http://msdn.microsoft.com/en-us/library/windowsazure/jj553018.aspx

Windows Azure Table Storage

http://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/