Microsoft Genel Bulutu ve SQL Server

advertisement
Hibrit Bulut Platformu
Teknik Makale
Yayınlanma Tarihi: Haziran 2013
İlgili Konu: Microsoft SQL Server ve Windows Azure
Özet: Bulut bilişim, bilişimde bir paradigma değişimine yol açıyor ve şirketler veritabanı uygulamalarını bulut
üzerinde daha büyük bir ölçek ve esneklik ile çalıştırarak elde edebilecekleri potansiyel tasarrufları
anlamaya devam ediyor. Microsoft SQL Server bulut ortamında çok iyi bir performans gösterir. Şirketiniz
SQL Server'ı özel bulut, hibrit bulut ve genel bulut üzerinde kolayca kurabilir geliştirebilir ve yönetimi için
alışkın olduğunuz araçları kullanabilirsiniz. Genel bulutta SQL Server'ı Windows Azure Virtual Machine
veya Windows Azure SQL Database içerisinde çalıştırma seçeneklerine sahip olursunuz. Microsoft SQL
Server, Windows Azure Virtual Machine içerisinde de kurum içi SQL Server özellikleri ile tam uyumludur.
Windows Azure SQL Database, milyonlarca kullanıcıya ölçeklenebilecek bulut tabanlı ilişkisel veritabanı
uygulamaları için güçlü bir altyapı sunar.
Telif Hakları
Bu teknik makalede sunulan bilgiler Microsoft Corporation'ın yayın tarihi itibariyle konu hakkındaki
görüşlerini yansıtmaktadır. Microsoft, değişen pazar koşullarına cevap vermek zorunda olduğundan,
burada yer alanlar Microsoft’un bir taahhüdü olarak kabul edilmemelidir ve Microsoft iş bu yayın
tarihinden sonra yayında sunulan bilgilerin doğruluğunu garanti edemez.
Bu teknik inceleme sadece bilgilendirme amaçlıdır. MICROSOFT, BU BELGEDE YER ALAN BİLGİLER
İÇİN AÇIK, DOLAYLI VEYA RESMİ OLARAK HERHANGİ BİR GARANTİ VERMEMEKTEDİR.
Uygulanabilir tüm telif hakları kanunlarına uymak kullanıcının sorumluluğundadır. Telif hakları altında
sunulan haklara herhangi bir kısıtlama getirmeksizin, Microsoft Corporation'ın yazılı ve açık bir izni
olmaksızın bu belgenin hiçbir parçası çoğaltılamaz, tekrar elde edilebilir sistemler içerisinde saklanamaz
veya bu gibi sistemler içerisine yüklenemez veya herhangi bir şekilde veya herhangi bir yöntemle
(elektronik, mekanik, fotokopi, kayıt veya diğer) ve herhangi bir amaçla gönderilemez.
Microsoft'un bu belgedeki ana konuyu kapsayan patentleri, patent başvuruları, ticari markaları, telif hakları
ve başka fikri mülkiyet hakları bulunabilir. Microsoft tarafından verilen herhangi bir yazılı lisans
anlaşmasında açık bir şekilde ifade edilmiş olması durumu hariç bu belge size Microsoft'un ilgili patentleri,
ticari markaları, telif hakları ve diğer fikri mülkiyet hakları üzerinde herhangi bir lisans hakkı sunmaz.
© 2013 Microsoft Corporation. Tüm hakları saklıdır.
Microsoft, Access, Azure, Office 365, SQL Server, Visual Studio, Windows ve Windows Server Microsoft
grubu şirketlerinin ticari markalarıdır.
Tüm diğer ticari markalar kendi sahiplerinin mülkiyetindedir.
Sayfa 2
İçindekiler
TOC
Sayfa 3
Hibrit Bulut: Veritabanınız her yerde
En büyük websitelerden, küçük kurum içi uygulamalara kadar herhangi bir uygulama senaryosunu
düşünün; Bu uygulamalrın büyük çoğunluğunun belli bir ölçekte bir veritabanına üzerinde çalıştığını
göreceksiniz. Kurumlar bulut bilişimden yararlanmak istemeye başladıkça, buluta uygun veritabanı
sistemleri kullanmaları başarılarında kritik öneme sahip olacaktır.
Bu makalede Microsoft'un bulut bilişim kapsamında ilişkisel veritabanı yönetim sistemleri ile ilgili vizyonu
anlatılmaktadır. Bu vizyon, sektörde standart hale gelmiş Microsoft SQL Server teknolojisinden yararlanan
hibrit bir BT vizyonudur ve günümüzde şirketlerin dağıtım yaklaşımlarında kullanılabilmektedir (Şekil 1).
Şekil 1: Modern BT departmanları ticari ihtiyaçlarını kurum içi ve bulut üzerindeki sistemlerin bir kombinasyonuyla
karşılayabilmektedir.
Veritabanı uygulamaları portföyü
Hibrit bulut kurumların iş ihtiyaçları için kullandıkları farklı tip uygulamalardan oluşan bir portföye ve özgün
ihtiyaçları olan çok çeşitli ortamlara sahip olduklarını kabul etmektedir. Bazı uygulamalar bulut bilişim
tarafından sunulan ticarileşmiş, her ortamda kurulamayacak kadar detaylı ve karmaşık donanım
konfigürasyonları gerektirmektedir. Benzer şekilde birçok şirket çok büyük genel bulut ortamları için son
derece uygun iş yüklerine de sahiptir. Çok büyük talep dalgalanmaları yaşayan uygulamalar için gerekli
donanım seviyesini oluşturmak ekonomik olarak mümkün olamayabilir. Microsoft'un hibrit bulut hedefi
şirketlere uygulamalarını nerede ve nasıl çalıştıracakları konusunda geniş seçenekler sunmak ve aynı
zamanda da geniş çaplı çözümlerle ortak sunucu ürün ve araçlarından ve uzmanlıktan yararlanmalarını
sağlamaktır (Şekil 2).
Sayfa 4
Şekil 2: Veritabanı dağıtımı ile ilişkili her bir yaklaşım özgün yarar ve zorluklara sahiptir. Şirketler gittikçe artan bir
şekilde iş yüklerini buluta taşımaktadır
Geleneksel donanım üzerine kurulum
Son on senede sanallaştırma teknolojisinde gerçekleşen büyük iyileştirmelere rağmen bazı iş yüklerinin
sanallaştırılmasında önemli bir performans kaybı olduğu gerçeği değişmemiştir. Büyük, karmaşık ve iş için
kritik öneme sahip çevrimiçi işlem yürütme sistemleri (OLTP), işletim sistemi ve veri tabanı platformunun
direkt olarak donanımın üzerine kurulduğu çok büyük ve adanmış sunucuların alanında kalmaktadır.
Sanallaştırılmamış, adanmış donanım
Çoğu iş yükü için sanallaştırma ideal bir yaklaşımdır çünkü toplam sahip olma maliyetine önemli avantajlar
sağlamaktadır. Fakat şirketlerin bazen satın alabileceklerien gelişmiş sunucularda en yüksek performansı
elde etmeye ihtiyaç duyduğu, yüksek ölçeklendirme yeteneğinin ve en ufak performans artışının bile önemli
olduğu durumlarda şirketlerin iş yüklerinin donanım üzerinde çalıştırılması gerekmektedir.
Sanallaştırılmamış bir ortamda çalıştırma gereksiniminin doğal bir sonucu uygulamaların üzerinde
çalıştıkları spesifik adanmış sunucu donanımlarına sahip olmasıdır.
Fiziksel yapılandırma
Önemli ölçüde adanmış donanım kaynaklarını çalıştırmanın temel bir faydası ileri düzey fiziksel
yapılandırma için çok sayıda fırsat sunuyor olmasıdır. SQL Server gibi veritabanı dağıtımının en önemli
alanlarından birisi depolama alt sistemindeki fiziksel yapılandırmadır. Fiziksel yapılandırma imkânına sahip
olma şirketlerin bulut ortamına geçerken kaybettiği şeylerden birisidir.
Bulut dağıtımı: Genel bulut ve özel bulut
Özel bir bulut, genel bir bulutun tüm karakteristik özelliklerine sahip olabilse de bu durum tüm bu
karakteristik özelliklere sahip olmak zorunda olduğu anlamına gelmemektedir. Örneğin pek çok özel bulut
eksiksiz bir geriye dönük ödeme muhasebe sistemi kullanmamaktadır. Buna karşın şirketler özel bulut
stratejilerini olgunlaştırdıkça, özel bulutlar tarafından sağlanan hizmet ve hizmet seviyeleri genel bulut
hizmeti sağlayıcıları tarafından sunulanlara daha da yaklaşmaya başlamıştır.
Sayfa 5
Havuzda biriken sanallaştırılmış kaynaklar
Sunucu sanallaştırma hem özel hem de genel bulut ortamları ile ilişkilidir. Buna karşın bilişimde bulut tabanlı
yaklaşım sadece iş yüklerinin sanallaştırılmasından daha fazlasını gerektirmektedir. Kurum içi
sanallaştırma ortamlarının pek çoğu spesifik uygulama hedeflerine sahiptir. Ortam sanallaştırılmış olsa bile
uygulamalar belirli, adanmış sunucu konakları üzerinde çalışmak zorundadır. Bazı durumlarda bu teknik bir
zorunluluktan kaynaklanmaktadır; bazı durumlarda ise bunun sebebi belli bir departmanın ilgili düğüme
"sahip" olmasıdır. Bulut ortamı donanım kaynaklarının havuzda toplanmasına dayanmaktayken,
sanallaştırma ise havuzda biriktirme kapasitesi için anahtar konumdayken kendi başına yeterli değildir.
Havuzda biriktirme mekanizması, kaynakların bir araya getirildiği ve ardından herhangi bir iş yükünü
çalıştırma imkânına sahip homojen bir kapasite havuzu olarak sunulmasını ifade etmektedir. Havuzda
biriktirme yoluyla oluşturulmuş bir bulut ortamında çalışan iş yüklerinin gerçekte hangi fiziksel donanım
üzerinde yer aldığı bilinmemektedir.
Yukarıda bahsedilen birinci katman iş yükleri ileri seviye fiziksel yapılandırma gereksinimi yüzünden havuza
ilişkin şablonlardan farklıdır. Örneğin fiziksel yapılandırma için özel bir yaklaşım ve belirli sabit disk iğne
düzenleri gerektiren bir SQL Server iş yükü sanallaştırılabilse de başka uygulamalar tarafından ihtiyaç
duyulmayacak türde özgün kaynak gereksinimleri sebebiyle havuzda toplanmış kaynakları
kullanamamaktadır. Bahsi geçen iğne yapılandırmaları bir havuza uygulandığında muhtemelen başka hiç
kimse tarafından kullanılmak istenmeyecektir.
Esneklik
Esneklik bulutun talepteki artış ve azalmalara cevap verebilme imkânıdır. Pek çok iş süreci mevsimsel
karakteristiklere sahiptir. Tarımda yıllık olarak hazırlanan saman balyaları buna bir örnektir. Çoğu çiftçi
saman balyalarını hazırlamak için dışarıdan yüklenicileri ve iş makinelerini kullanmaktadır çünkü gerekli
olan traktör ve saman balyası teçhizatını yılın büyük bir bölümünde çalışmadan tutmak ekonomik değildir.
Bilgi teknolojisi iş yükleri de büyük ölçüde mevsimseldir fakat bu iş yüklerini desteklemek için kurulan
makineler genellikle iş yükünün arttığı zamanlardaki ihtiyacı karşılamak için yeterli kapasitede satın
alınmakta ve kalan zamanlarda da "ambarda bekletilmektedir".
Mevsimsel iş yüklerine dair tipik bir örnek spor ve kültürel etkinlik biletlerinin satışı ile ilişkilidir. Büyük bir
etkinliğe ilişkin bilet satışları başladığında bilet almak isteyen müşteri sayısı genellikle tedarik edilebilecek
mevcuttan daha fazla olmaktadır. Geçmişte müşteriler biletlerini almak için tüm gece bilet gişesinin
önlerinde kamp kurarlardı. Çevrimiçi dünyada ise bu doğal sıra mekanizması ortadan kalkmakta ve etkinliğe
katılmak isteyen müşteriler sanal bilet ofisine yığılarak kapasitenin üzerine çıkmaktadır.
Bulut kaynakları hem genel olduğundan hem de havuzda toplandığından ilave kapasitenin "boşta duruyor
olmasını" gerekçelendirmek kolaydır. Özel veya genel olsun bulut sağlayıcıları tipik olarak her zaman
kapasitelerinin bir kısmının talep artışlarına karşın hazır olmasını sağlamaya çalışmaktadır. Genel bulutlar
ise bu konuda önemli bir avantaja sahiptir. Genel bulutlar çok büyük bir ölçekte çalıştığından ve havuzda
toplanan kaynaklarına binlerce müşteri eriştiğinden daha küçük özel bulutlardan çok daha büyük bir boş
alanı tutabilmektedirler. 100 sunuculu bir bulutun % 1'i hızla artan talep karşısında çok fazla bir kapasite
sunmasa da 10.000 sunuculu bir bulutun % 1'i önemli bir kapasite sunmaktadır. Esneklik özel bir veri
merkezinde elde edilebilecek en zorlu bulut karakteristiğidir çünkü şirketin elindeki kapasitesini boşta
bırakmasını gerektirir fakat boş kapasite aslında bulut tabanlı bir yapıya geçmenin temel gerekçelerinden
birisidir.
Biletlerle ilgili örnekteki gibi bazı iş yükleri özel bulut ortamı için uygun değildir. Bulutun ölçeğini anlamak
için iyi bir test "bulut tarafından oluşturulan kapasite esneklik konusundaki beklentilerimizden kaç kat daha
Sayfa 6
fazla?" sorusunu sormaktır. Kapasite çarpanlar yerine üslü sayılarla ölçülmelidir. Anlık talep artışlarına karşı
onlarca sunucuya ihtiyaç duyuyorsanız en az binlerce düğüme sahip bir buluta sahip olmanız gerekir.
Kendi kendine hizmet
Bulut bilişimde kendi kendine hizmet özelliği birbirini tamamlayan iki hedefe cevap vermektedir. Bunlardan
birincisi kaynakların hazırlanması için gereken işgücünü azaltarak veya tamamen kaldırarak masrafları
daha da azaltmaktır. İkincisi ise iyi bir şekilde kurgulandığında kullanıcılara kendi kendine hizmet imkânını
vermesidir. Bulut kullanıcıları, kaynaklara direkt erişme sayesinde daha güçlüdür. Zorlayıcı onay süreçleri
ve taleplerinin BT yöneticileri için öncelik olmasını bekleme süreciortadan kalkmaktadır.
Bir bulut ortamı kullanıcılara talep temelli olarak havuzdan kaynak elde etme imkanı vermektedir.
Kullanıcıların iş yüklerinin diğer iş yükleri ile karışmamasını sağlamaktadır ve kullanıcılar kapasiteden
sadece kendilerine izin verilen (veya genel bir bulut durumunda kredi limitlerinin izin verdiği) ölçüde
yararlanabilmektedir. Kendi kendine hizmet, şirketlerin yeni şeyler denemesine ve yeni pazarlara hızla
erişmesine imkân sağlayarak işlerinde çeviklik yaratmaktadır. İster kurum içerisindeki ister Windows Azure
üzerindeki özel bir bulut olsun, uygulamalar diğer dağıtım yaklaşımlarıyla kıyaslandığında geliştirme
aşamasından üretime çok daha hızlı bir şekilde taşınabilmektedir.
Kullanıcı tabanlı modeller
Paylaşılan BT ortamlarının birçoğu “ortak varlık trajedisinden1” zarar görmektedir—BT kapasitesinde sınır
bulunmuyorsa, tüm tüketicilerin çıkarının korunması için tek bir tüketicinin kapasiteyi korumasına teşvik
edici bir durum bulunmamaktadır. Tüketiciler su, gaz ve elektrik gibi diğer kaynaklara birim başına ödemeye
alışkındırlar. Bulut bilişim ile sunulan kullanım başına ödeme modeli kullanılmayan kapasitenin kapatılması
konusunda teşvik edicidir.
Bulut bilişim satıcıları sundukları hizmetlerden para talep etmek durumundadır ve bu yüzden bu ortamlar
her zaman ölçülecek ve faturalandırılacaktır. Özel bulutlarda ise bu durum değişkenlik göstermektedir.
Geriye dönük ödeme modeli, özellikle de şirket bunu destekleyecek muhasebe sistemlerine sahip değilse
karmaşıktır fakat yine de önemli avantajları bulunmaktadır. Özel bulutlarda kullanım başına ödeme
modelinin hedefi kullanıcı davranışlarını yönlendirmek ve bulut kaynaklarının kısıtlı kaynaklar olarak
algılanmasını ve mümkün olduğunda tasarruf edilmesini sağlamaktır. Kotalar ve diğer kaynak dağıtım
mekanizmaları bazı özel bulut ortamları için uygun olabilir.
Özel ve genel bulut operatörlerinin karşılaştığı zorluklardan birisi "hangi ölçüm yönteminin kullanılacağıdır."
Ücretleri belirlemek için ölçülecek şey ne olmalıdır? Ölçüm sunulan hizmetin gerçek maliyeti ile yakından
ilişkili olmalıdır fakat bulut hizmetinin kullanıcılarının anlayabileceği kadar da basit olmalıdır. Bulut
kullanıcları kullandıkları uygulama ile ilişkili beklenen sorgu zamanının ne olduğunu biliyorlarsa "sorgu
saatlerini" ölçmek çok anlamlı değildir.
Ücretlendirme modeli bir bulut hizmeti sağlayıcısının verimliliği belirlediği bir mekanizmadır. Şirketler tüm
gerçek kaynakların sanallaştırma katmanlarının altında gizlendiği bir bulut ortamında uygulama mimarilerini
öncelikle maliyet etkinliğini sağlayacak şekilde oluşturmalıdır.
Uygunluk
Bazı senaryolarda uygulamaların spesifik kurumsal veya sektörel standart ilkelere uygun olması
gerekmektedir. Bu ilkeler genellikle güvenlik, sistem yönetimi ve hukuki konularla ilişkilidir. İlkeler, sunucular
1
"Ortak Mal Trajedisi." Science 162 (3859): 1243–1248. 1968. http://www.sciencemag.org/cgi/reprint/162/3859/1243.pdf
Sayfa 7
üzerine kurulacak antivirüs programları gibi basit şeylerden, ISO/IEC 27001 gibi Bilgi Güvenliği Yönetim
Sistemi standartları gibi karmaşık uygulamalara kadar uzamaktadır.
Şirket tüm sistem üzerinde ne kadar çok kontrole sahipse sistem akla gelebilecek tüm ilke ve şartlara o
kadar uygun olacaktır. Normalde fazlakapasitenin oluşturulmasını gerektiren bir kurumsal ilke genel bulut
için uygun değildir ve aynı şekilde izole bir özel bulut da havuzda toplanmış donanımı kullanan internete
bağlı bir özel bulut ile birlikte var olamaz. Uygunluk şartları ne kadar zorluysa, sistemi kuran şirketin tam
kontrolü içerisinde çalışan adanmış bir ortama olan ihtiyaç da o kadar fazla olacaktır.
Genel bulut hizmeti sağlayıcılarının büyük çoğunluğu sistemlerinin sektördeki standart çerçevelere uygun
olduğunu göstermek için hızla denetimler gerçekleştirmiş ve sistemlerini sertifikalandırmıştır. Pek çok küçük
ve orta ölçekli şirket için uygunluğun sağlanması aşırı maliyetli olabilir. Bu durum küçük şirketler için ilgili
standartları kendi veri merkezlerine kurmak zorunda kalmadan uygulamalarını sertifikalandırılmış genel
bulut bilişim ortamlarına dağıtmak gibi yeni fırsatlar sunmaktadır.
Bazı uygunluk konuları sadece genel bulut bilişim ile ilişkilidir. Sistemleri üzerinde tam hakimiyete ihtiyaç
duyan şirketler genellikle verilerinin sadece belli bir ülkede kalmasını ve bu sistemlere sadece kendi
çalışanları tarafından erişilebilmesini sağlamak zorundadır. Bu tür şirketler için adanmış sistemler veya özel
bulut ortamları tek uygulanabilir çözüm olarak kalmaktadır.
Windows Azure'un çeşitli sektörel standartlara uygunluğu hakkında daha fazla bilgi için bakınız
http://www.windowsazure.com/en-us/support/trust-center/compliance/.
Örneğin SQL Server, Ortak Ölçüt sertifikasını alabilmek için SQL Server 2005'ten bu yana çok önemli
uygunluk çalışmalarında bulunmuştur. Bu sertifika, Ortak Ölçütlerin Karşılıklı Tanınması Düzenlemesini
(CCRA) imzalayan 26 ülkenin devletleri tarafından ve ayrıca 40 ülke tarafından da ürü bazında resmi olarak
kabul edilmektedir. Ortak Ölçüt güvenlik işlevlerinin ve güvence gereksinimlerinin kısa tanımlarından çok
daha fazlasıdır. Ayrıca Ortak Değerlendirme Metodolojisi belgesinde tanımlanan dikkatli bir değerlendirme
sürecidir. Ayrıca Ortak Ölçüt değerlendirmelerini yapan her bir ülke için resmi ve onaylanmış bir
değerlendirme şablonudur ve ayrıca ilgili ülkede sertifikalandırılmış özel bir değerlendirme laboratuvarına
dayanan ülkeler tarafından sunulan bir sertifikadır. SQL Server ve uygunluk hakkında daha fazla bilgi için
bakınız http://www.microsoft.com/en-us/sqlserver/common-criteria.aspx#tab1.
Microsoft Genel Bulutu ve SQL Server
Windows Azure, SQL Server veritabanlarının kullanımını mümkün kılmak için iki genel seçenek
sağlamaktadır:


Bir Windows Azure Virtual Machine içerisinde Microsoft SQL Server: Bu yaklaşım kurum için
dağıtıma benzemektedir. Şirketler hem işletim sistemi hem de kurulu uygulamalar üzerinde tam
denetime sahiptir ve kurum içi SQL Server ile neredeyse tam uyumluluğu elde edebilmektedir. Şirketler
Windows Azure Virtual Machine kullanım saatini birkaç kuruş karşılığında satın alabilmektedir. Ayrıca
kendi SQL Server lisanslarını taşıma veya SQL Server lisansını saatlik olarak kiralama seçeneğini elde
etmektedir. Bir Windows Azure Virtual Machine içerisinde SQL Server mevcut uygulamalarını buluta
taşımak isteyen şirketler için idealdir.
Windows Azure SQL Database: SQL Database tam anlamıyla bulut içerisinde hizmet olarak
platformdur. Şirketler bu hizmeti veritabanları için ayrı ayrı satın almakta ve Microsoft bu hizmeti
veritabanı seviyesine kadar her aşamada yönetmektedir. Yani şirketlerin işletim sistemi için ve hatta
veritabanı sunucu yazılımının yamalarının yüklenmesi için sorumluluk almasına gerek yoktur. Bu
hizmet özellikle yeni uygulamalar geliştiren şirketler için uygundur ve ister sanal makine yöntemiyle
Sayfa 8
ister kurum içerisinde olsun başarılması zorlu olan yüksek kullanılabilirlik ve ölçeklendirme gibi ilave
avantajlar sağlamaktadır.
Şekil 3: Microsoft genel bulutu SQL Server için iki önemli avantaj sağlamaktadır
Bulut dağıtımı neden ve ne zaman anlamlıdır
Windows Azure Virtual Machine içerisinde SQL Server
Windows Azure Virtual Machine'i kullanan şirketler bulut üzerinde çalıştırabilecekleri ve yönetebilecekleri
bir sunucu oluşturabilmektedir. Bu sunucular Windows Server 2008 R2 veya sonraki sürümlerini ve çok
sayıda farklı Linux dağıtımlarını çalıştırabilmektedir. Şirketler sunucu üzerinde tam denetime sahip olmakta;
uygulamalar yükleyebilmekte ve Windows Azure bulutunda neredeyse her türlü iş yükünü
çalıştırabilmektedir. SQL Server'ı bir Windows Azure Virtual Machine üzerine kurmak Microsoft'un sağladığı
ve desteklediği ana senaryolardan birisidir.
Uyumluluk açısından ise SQL Server'ı bir Windows Azure Virtual Machine üzerinde çalıştırmak SQL
Server'ı kurum içerisindeki bir sanal makinede çalıştırmak ile aynı şeydir. Tipik olarak şirketler
uygulamalarını herhangi bir kod değişikliği yapmadan buluta taşıyabilmektedir.
Şirketler, Windows Azure Image Gallery (Microsoft, SQL Server Web, Standard veya Enterprise için
yapılandırılmış çeşitli imajlar sunmaktadır) içerisindeki önceden oluşturulmuş sanal makine imajlarını
kullanarak bulut sunucuları oluşturabilmektedir. Sunucuyu oluşturduktan ve başlattıktan sonra
veritabanlarını genel SQL Server veritabanı taşıma tekniklerinden (yedekleme ve kurtarma veya belge
kaldırma ve ekleme dahil olmak üzere) birisini kullanarak sunucuya taşıyabilmektedirler. Alternatif olarak
şirketler kurum içindeki sanal makinelerini bir bütün olarak alıp Windows Azure'a taşıyabilmektedir.
Şekil 4: Bir Windows Azure Virtual Machine içerisinde SQL Server uygulamalarını buluta taşımak için ideal bir yöntem
sunmaktadır
Sayfa 9
Windows Azure Virtual Machine içerisinde çalışan SQL Server düşük maliyetli ve az
çaba gerektiren bir geçiş yöntemi sunmaktadır. Uygulamalar için toplam sahip olma
maliyeti konusundaki önemli bir belirleyici uygulamanın geliştirilmesi ve bakımı
konusundaki maliyettir. Veritabanlarını Windows Azure Virtual Machines'e taşımak
genelde herhangi bir kod değişikliği gerektirmemektedir.
SQL Server Standard Edition'ı (lisanslar dahil) çalıştıran bir Windows Azure Virtual Machine saatte 64 cent
veya aylık olarak 476 dolar ücrete sahiptir. SQL Server Web Edition'a uygun iş yükleri için maliyet saatte
13,5 sentten başlamaktadır (veya aylık 100 dolar).
Şirketler daha yüksek veritabanı yoğunlukları ile daha da büyük maliyet etkinliğine de ulaşabilmektedir.
Kurum içi SQL Server'da az ve tek bir maliyet kalemi elde etmek için düşük yüke sahip onlarca veya
yüzlerce veritabanı tek bir sanal makine üzerinde çalıştırılabilmektedir.
Microsoft SQL Server ilişkisel bir veritabanı yönetim sistemi (RDBMS) olmasının yanı
sıra farklı yeteneklere de sahiptir. Bu yetenekler arasında zengin raporlama
teknolojileri; çıkarma, dönüştürme ve yükleme (ETL) araçları ve ayrıca iş yönetimi ve
programlama özellikleri bulunmaktadır.
SQL Server'ı bir Windows Azure Virtual Machine içerisine kurmak şirketlerin hangi SQL
Server sürümünü kurmuş olurlarsa olsunlar o sürümün tüm özelliklerinden yararlanabilecekleri anlamına
gelmektedir. Birkaç küçük istisna dışında kullanıcılar SQL Server kutulu ürününün tüm özelliklerine
erişebilmektedir. Spesifik olarak desteklenen özellikler arasında aşağıdakiler yer almaktadır:




SQL Server Integration Services
SQL Server Analysis Services
SQL Server Reporting Services
SQL Server Agent
SQL Server'ı bir Windows Azure Virtual Machine içerisinde kullanan şirketler dağıtım
süreci üzerinde tam denetime sahip olur. Bunun anlamı Windows ve SQL Server'ı
özgün olarak yapılandırabilecekleridir. Bir uygulama üçüncü taraflara ait araç veya
teknolojilerin kullanılmasını gerektiriyorsa bu öğeler kurulabilmektedir. Kurumsal
ölçekte şirketler ise SQL Server dağıtımları konusunda parola gücü veya virüs
tarayıcıları gibi spesifik ilkelere sahip olabilmektedir; bu gibi gereksinimler kolayca bir
Windows Azure Virtual Machine'e kurulabilmekte ve desteklenebilmektedir.
Windows Azure Virtual Network'ü kullanan BT yöneticileri bir Windows Azure Virtual Machine etki alanını
kurum içi etki alanlarıyla birleştirebilmektedir. Bu yetenek, tek bir kurumsal güven sınırı ile kurum içi ve
kurum dışında kurulu hibrit uygulamaların geliştirilmesine imkân sunmaktadır.
Windows Azure, Windows Azure Virtual Machine kapsamındaki tüm altyapının
yönetilmesine imkân sağlamaktadır. BT yöneticilerinin herhangi bir fiziksel donanımı
veya fiziksel ağ yapılandırmasını yönetmesi gerekmemektedir.
Buna rağmen denetim daha büyük sorumluluğu da beraberinde getirmektedir. BT
departmanları işletim sistemlerine yamaların yüklenmesinden ve SQL Server'ın
Sayfa 10
güncellenmesinden sorumludur. Buna karşın bu kurulum sadece Windows Server'dır ve bu yüzden
Microsoft System Center 2012 ve önceki sürümleri dahil olmak üzere standart yönetim teknolojilerini
kullanarak yardım alabilmektedirler.
Sanal sabit diskler (VHD), Windows Azure Storage içerisinde tutulmaktadır ve bu hizmet tarafından sunulan
yüksek kullanılabilirlik özelliğine sahip depolamadan faydalanmaktadır. Gerçek anlamda yüksek
kullanılabilirlik özelliğine sahip bir veritabanı çözümü elde etmek isteyen BT yöneticilerinin SQL Server 2012
ve sonraki sürümlerinde bulunan AlwaysOn özelliğini yapılandırması gerekir.
Tipik olarak şirketler sanal makineleri için %99,9 çalışma süresi hizmet düzeyi anlaşmalarına (SLA) sahiptir.
Şirketler, SQL Server veritabanı hizmetinin kendisi de dahil olmak üzere ilgili sanal makine üzerinde çalışan
uygulamalarının çalışır kalma sürelerinden sorumludur.
Windows Azure SQL Database
Windows Azure SQL Database, Windows Azure bulutu üzerinde çalışan yüksek kullanılabilirlik sunan,
ölçeklendirilebilir, çok müşterili ilişkisel bir veritabanı sağlamaktadır. SQL Database bulut için tasarlanmış
yeni uygulamalar için harikadır. Bu tür uygulamalar özgün ölçeklendirilebilirlik özelliklerinden yararlanabilir.
SQL Database, SQL Server ile son derece uyumlu olduğundan mevcut çok sayıda uygulamayı çok az
veritabanı ve kod değişimi ile SQL Database'e taşımak mümkündür. SQL Database taşınabilecek basit
veritabanlarına sahip şirketler için çok düşük bir toplam sahip olma maliyeti ve yüksek kullanılabilirlik ve
ölçeklendirme gibi kurum içerisinde elde etmesi zor avantajlar sunmaktadır. Bu seçenek, yalnızca bulut
üzerinde çalışan uygulamalar veya kurum içi uygulamalar için veri depolarının buluta uzaktan
bağlanmasından doğan bir miktar gecikmenin tolere edilebileceği durumlarda harika bir seçenek olabilir.
SQL Database diğer çözüm sağlayıcılar tarafından sunulan bulut çözümlerinin sahip olmadığı çok sayıda
özgün avantaja sahiptir. Bu özellikler günümüzde tercih edilen her zaman çalışan büyük ölçekli uygulamalar
ile birlikte iyi çalışsa da, eski uygulamaları taşımak yerine yeni uygulamalar geliştirme seçeneğini kullanmak
isteyen şirketlere daha uygun olması nedeniyle uygulama geliştiricilerinin spesifik destek sunmasını da
gerektirmektedir.
Bu özelliklerden birincisi SQL Federation adlı bir özelliktir. Federation, veritabanı sharding modeline (satır
tabanlı bölüm) yönelik gerekli araçları ve T-SQL desteğini sunarak, şirketlerin veritabanını
ölçeklendirmesine imkân verir. Mimarisi uygun bir uygulamada SQL Database hem veri büyüklüğü hem de
işlem yükü anlamında neredeyse sınırsız ölçeklendirme imkânı sunar. Bu özellikten yararlanmak için hem
veritabanı hem de uygulama tasarımında spesifik bir yaklaşım gerekir. Federation asgari olarak mevcut
uygulama üzerinde önemli bir çalışma gerektirir. İdeal olanı uygulama geliştiricilerinin uygulamayı en
başından sharding modeline göre geliştirmesidir.
SQL Database'in bir başka özgün özelliği veritabanının yapılan işlemler açısından birbiriyle tutarlı üç
kopyasını Windows Azure farklı bölgelere dağıtılmış hataya karşı dayanıklı veri merkezlerinde tutarak
yüksek kullanılabilirlik sağlamasıdır. Yinelenen örneklerden birisinde hata oluştursa SQL Database trafiği
çalışan diğer kopyalara yönlendirmekte, yeni bir örnek oluşturmakta ve eski örneği tekrar diğerleriyle tutarlı
hale getirmektedir. Şirketler kurum içerisinde ve IaaS'te gelişmiş yüksek kullanılabilirlik özellikleri
kullanabilse de bu özelliklerin kurulumundaki karmaşıklık şirketlerce erişilmesini zorlaştırmaktadır. SQL
Database içerisindeki ayda birkaç dolar ücrete sahip en küçük veritabanları bile yüksek kullanılabilirlik için
yapılandırılmaktadır. Yüksek kullanılabilirlikten tam anlamıyla yararlanabilmek için geliştiricilerin
hazırladıkları kodların güvenilir bir şekilde veritabanındaki bağlantı kopmalarıyla başa çıkabilmesini
Sayfa 11
sağlaması gerekir. İş yükünün bir başka yedeğe taşınması halinde SQL Database uygulamanın bağlantısını
kesmektedir. Geliştiriciler bağlantı kopmalarını yeniden deneme mantığı ile ele alabilirler. 2
Şekil 5: Windows Azure SQL Database çok büyük ölçekli uygulamalar geliştirmek için özgün yetenekler sağlamakta ve
bulut için tasarlanmış yeni uygulamalara yönelik en düşük toplam sahip olma maliyetini sunmaktadır
SQL Database'i kullanan şirketler veritabanı uygulamalarını daha hızlı bir şekilde
dağıtabilir. Oluşturulması gereken bir veri merkezi olmadığından veya kurulması
gereken bir yazılım bulunmadığından yeni bir veritabanı dakikalar içerisinde
hazırlanabilir. Bu çeviklik şirketlerin yeni şeyler denemesine ve yeni pazarlara hızla
erişmesine imkân sağlamaktadır. Uygun bir uygulama mimarisinin bulunması halinde
bir uygulamanın yüzlerce veya binlerce kullanıcıya dağıtılması aynı şeydir ve sadece
birkaç dakika sürer.
SQL Database, bir sunucu yerine iki etkin bekleyen sunucuyla çalışan SQL Server'ın kurum içi örneğine
denktir. Bu tür bir kurum içi çözüm donanım ve kurulum süresi hesaba katılırsa tipik olarak binlerce dolar
yatırım gerektirecektir fakat SQL Database fiyatları sadece aylık birkaç dolardan başlamaktadır. Bunun
tekrar söylenmesi uygun olacaktır: SQL Database, aylık 5 dolardan başlayan fiyatlarla gerçek yüksek
kullanılabilirlik ve kurumsal ölçeğe uygun bir ilişkisel veritabanı sunmaktadır.
İnternet ile birbirine tam anlamıyla bağlanmış olan dünyada büyük başarılar elde etmek
son derece büyük zorluklarla mücadeleyi gerektirebilir. Yeni lanse edilen bir ticari
uygulama belki de yüksek trafiğe sahip bir blog sitesinde iyi bir şekilde tanıtıldıktan
sonra hızla ölçeklendirmeye ihtiyaç duyacaktır. Burada "hızlı" kelimesi dakikalar veya
saatler içerisinde anlamına gelmektedir; daha fazla kapasite yaratmak için
ölçeklendirme işi günler veya haftalar alırsa en önemli zaman kaçırılmış olur.
Hızla ölçeklendirme için platformun iki temel özelliğe sahip olması gerekir:


İşletim sistemini etkilemeden kapasite ekleme imkânı
Talep ne kadar hızlı artarsa artsın yeterli kaynağın bulunacağına dair güçlü bir taahhüt
2
“Windows Azure SQL Database'te Geçici Hatalarda Yeniden Deneme Mantığı.” Microsoft TechNet.
http://social.technet.microsoft.com/wiki/contents/articles/4235.retry-logic-for-transient-failures-in-windows-azure-sqldatabase.aspx
Sayfa 12
SQL Federation kullanan ve uygulamalarını SQL Database ile hazırlayan yazılım geliştiricileri verilerini çok
sayıda veri tabanı arasında bölebilir. Bu tür ölçeklendirme hızla olur, kullanıcılar tarafından hissedilmez ve
BT profesyonellerinin yoğun destek sunmasını gerektirmez. Veritabanları yük altında ölçeklendirilebilir veya
bölünebilir. Bölme işlemleri (re-sharding) uygulamalarda aksama süresi olmadan çevrimiçi olarak yapılır.
SQL Database çok büyük bir ölçekte sunulduğu için gerçek zamanlı olarak her zaman "yedek kapasite"
mevcuttur (Şekil 6). Bu tür kullanılabilirlik kurum içi dağıtım yaklaşımlarından farklıdır. Özel bulutlarda bile
önemli ölçüde yeni bir kapasite talebi oluştuğunda, yeni donanımın önce veri merkezine kurulması gerekir.
Çok başarılı yeni bir uygulama şirketin tedarik zinciri üzerinden yeni sunucu donanımını satın alma hızını
yetersiz bırakabilir. Kurum içi sunucuları sipariş etmek ve hazırlamak günler veya haftalar almaktadır.
Şekil 6: Federation şirketler tarafından T-SQL, SQL Server Management Studio veya Management Portal üzerinden
yönetilebilir
SQL Federation sayesinde şirketler ilişkisel veritabanlarını ölçeklendirebilir; bu kapasite güçlü işlem
tutarlılığına ve tipik olarak "NoSQL" türü bulut veri depoları ile feda edilen diğer özelliklere önem veren
şirketler için önemlidir.
Çok az sayıda şirket farklılıklarını BT altyapılarını ne kadar iyi yönettikleri ile
göstermektedir. Şirketler harika bir iş çıkarmak istemektedir; rakipleri kadar veya
rakiplerinden daha iyi olmak istemektedir fakat iyi yönetim genellikle stratejik
avantajlarının bir parçası haline gelmemektedir. SQL Database ile şirketler sadece
ölçek ekonomisinin avantajını elde etmeyecek aynı zamanda niteliklerini de elde
edecektir.
SQL Database veritabanı seviyesinde %99,9 kullanılabilirlik sunmaktadır ve bunu hizmet düzeyi
anlaşmasıyla desteklemektedir. Bunun anlamı Microsoft'un sadece SQL Server'ı çalıştıran sunucuların
değil aynı zamanda veritabanının da çalışma süresini garanti ediyor oluşudur.
Sayfa 13
Hem altyapı hem de platform bileşenlerini yönettiği için SQL Database güncellemeleri (donanım terfileri,
yazılım yamaları ve diğerleri) BT yöneticilerinin müdahalesine gerek kalmadan aksama süresi olmadan
sağlamaktadır. SQL Database'i kullanmaya başlayan şirketler kurumsal sınıfta masraflarla karşılaşmadan
kurumsal sınıfa uygun kullanılabilirliğe sahip uygulamalar sunabilmektedir.
Mevcut sistemleri işletmek için daha az zaman harcanacağından BT çalışanları sistemlerde yenilikler
yapmak ve uygulamaları iyileştirmek için daha fazla zamana sahip olabilecektir. BT'nin odağı işletmeden,
işe stratejik değer katmaya kaymaktadır.
SQL Database protokolü SQL Server ile uyumludur yani geliştiriciler ve BT
profesyonelleri Microsoft Visual Studio entegre geliştirme ortamı (IDE) ve SQL Server
Management Studio gibi bildikleri araçları kullanabilmektedir. Geliştiriciler ve BT
profesyonelleri SQL Server'ı kullanan kurum içi uygulamalarla çalıştıklarında tablo
verisi akışı (TDS) protokolünü kullanan istemci kütüphanelerinden yararlanarak istemci
ve sunucu arasında iletişim kurabilmektedir. Windows Azure SQL Database, SQL
Server ile aynı TDS arabirimini sunmaktadır, yani verilerle çalışan uygulamalar Windows Azure SQL
Database içerisinde saklanan kütüphanelerin aynılarını kullanabilmektedir. İlişkisel veritabanı
programlamasındaki genel yaklaşımlar içerisinde ADO.NET, Entity Framework ve ODBC yer almaktadır.
SQL Database, JDBC ve hatta PHP ve Node.JS için sürücülerle diğer platformları da desteklemektedir.
Kurum içi SQL Server uygulamaları için geliştirilen kodlar kolayca Windows Azure SQL Database'e
taşınabilmektedir.
SQL Database tam bir ilişkise veritabanıdır. İlişkisel veritabanı modeli ve işlem özellikleri kurumsal
uygulama veri depolaması için en önemli standart olmaya devam etmektedir. Diğer çok sayıda bulut
tarafından barındırılan veri depolarından farklı olarak SQL Database ile çalışan geliştiricilerin veri
modellemesi konusunda yeni yaklaşımlar öğrenmeye veya işlem tutarlılığı gibi fonksiyonlar üzerinde ödün
vermeye ihtiyacı yoktur. SQL Database depolanan prosedürleri, depolanan fonksiyonları ve denenmiş ve
doğrulanmış SQL Server özelliklerinin büyük çoğunluğunu desteklemektedir.
Genel bulut senaryolarında fonksiyonların sunulması
Windows Azure Virtual Machine içerisinde SQL Server senaryoları
Bu bölümde Windows Azure Virtual Machine üzerinde SQL Server'ı kullanan şirketler için dört ana senaryo
ele alınmaktadır. Şekil 7 bu senaryoları özetlemektedir.
Sayfa 14
Şekil 7: Windows Azure Virtual Machine içerisinde SQL Server dört ana senaryoyu hedeflemektedir
Windows Server'a dayanan neredeyse tüm imajları çalıştırabildiğinden Windows Azure
Virtual Machine mevcut bir uygulamayı buluta taşımayı kolaylaştırmaktadır. Hem
veritabanı hem de uygulama katmanı Windows Azure Virtual Machines'e
taşınabilmektedir. ASP.NET gibi bazı iş yüklerinde ise Windows Azure Cloud Services'a
ve hatta Windows Azure Web Sites'a daha dönüştürmek uygun olabilir. Bu hizmet olarak
platform (PaaS) uygulama katmanı ise ardından daha kolay bir şekilde Windows Azure
Virtual Machine içerisinde çalışan SQL Server hizmet olarak altyapı (IaaS) katmanına bağlanabilir.
Bir veritabanını kurum içi SQL Server'dan bir Windows Azure Virtual Machine içerisinde çalışan SQL
Server'a taşımak genellikle Şekil 8'de gösterilen yöntemlerden birisini gerektirmektedir.
Şekil 8: Bir veritabanını Windows Azure Virtual Machine içerisindeki SQL Server'a taşıma yöntemleri
Tüm sanal makineyi taşımak
Şekil 8'de birinci seçenek tüm sanal makinenin kurum içi bir Hyper-V sunucusundan Windows Azure'a
taşınmasını göstermektedir. Tüm sanal makineyi taşımak, geliştirme ve test senaryoları için ve özellikle de
kurum içi makinenin ilave ve karmaşık bir yapılandırmaya sahip olduğu durumlar için uygundur. Tüm sanal
makine taşındığında diğer makinede aynı yapılandırmayı tekrar oluşturmaya gerek yoktur. BT
Sayfa 15
profesyonelleri tüm sanal makineyi taşımak için sunucu işletim sisteminin Windows Server 2008 R2 SP1
x64 veya sonraki bir sürümü olduğundan ve SQL Server'ın ise 64-bit SQL Server 2008 SP3 veya sonraki
bir sürümü olduğundan emin olmak durumundadır. Bu spesifik gereksinimlere uygun olmayan sanal
makinelere sahip şirketlerin ya terfi etmesi ya da seçenek 2'de sunulan "yedekleme ve geri yükleme"
yaklaşımını kullanması gerekmektedir.
VMWare gibi üçüncü taraflara ait hipervizörler ve hatta fiziksel sunucular üzerinde çalışan sanal makineleri
de taşımak mümkündür; bunun için öncelikle bu sunucu kurulumlarını Hyper-V'ye taşımak gerekir. Bu
taşıma işlemi için şirketler öncelikle bir sanal-sanal (V2V) veya fiziksel-sanal (P2V) geçiş yapmalıdır.
Microsoft bu konuda System Center Virtual Machine Manager ve Virtual Machine Converter Solution
Accelerator içerisinde araçlar sağlamaktadır.
Şirketler sanal makineleri Windows Azure tarafından desteklenen araçları kullanarak yükleyebilir. System
Center App Controller 2012 SP1 ayrıca tüm SQL Server sanal makinesini Windows Azure'a taşımak için
bir mekanizma da sağlamaktadır.
Sadece veritabanının taşınması
Şekil 8'de sunulan ikinci seçenek sadece veritabanının buluta taşınmasını kapsamaktadır. Bu taşıma
işleminde tam bir veritabanı yedeği veya veri dosyası taşınabilir; fakat veritabanı şablonunu ve veriyi ayrı
ayrı taşımak daha uygun da olabilir. Bu yaklaşımın temel faydalarından birisi şirketlerin sadece veritabanını
kablo üzerinden göndermesinin gerekmesidir. Tüm sanal makineyi yavaş bir internet bağlantısı üzerinden
göndermek zaman alıcı olabilir.
Şirketler Image Gallery (Şekil 9) içerisindeki imajları kullanarak bir Windows Azure Virtual Machine
oluşturma ile başlamalıdır.
Şekil 9: Image Gallery ile sanal bir makine oluşturmak
Şekil 10'de gösterildiği gibi Microsoft SQL Server 2012 imajlarından birisinin seçilmesini öneriyoruz.
Şekil 10: Microsoft SQL Server 2012 Evaluation makine imajının seçimi
Sayfa 16
Kurulum sırasında bir makine ismi belirtmeniz Windows Administrator hesabı için güçlü bir parola sunmanız
ve makine boyutunu seçmeniz gerekir. Makine boyutu sonradan değiştirilebilir. Test amaçlarıyla genellikle
Small (Küçük) örnek boyutunun seçilmesi yeterlidir (Şekil 11).
Şekil 11: Sanal makine özelliklerinin yapılandırılması
Kalan ayarlar sanal makinenin nerede bulunacağını, DNS amaçlarıyla nasıl çözümleneceğini ve
kullanılacak aboneliği belirtir (Şekil 12).
Şekil 12: Ağ iletişimi, DNS, depolama, veri merkezi ve abonelik özelliklerinin yapılandırılması
düğmesine tıklamak sanal makinenin oluşturulma işlemini başlatır ve bu işlem birkaç dakika sürebilir.
Portalın sağ alt kısmındaki gösterge yeşil çubuklarla ilerlemeyi gösterir (Şekil 13).
Şekil 13: Sanal makine oluşturma işleminde ilerleme göstergesi
Portal içerisinde sanal makine listesinde Durum sütununda da gösterildiği gibi hazırlama işleminin bitmesini
beklemeniz gerekir. Durum Running olarak değiştiğinde bir bağlantı oluşturabilirsiniz.
Sayfa 17
Şekil 14: Connect üzerine tıklamak sanal makineye bir RDP bağlantısı oluşturur
Bu aşamada yapılabilecekler aşağıdaki gibir:


Kurum içi veritabanının bir kopyasını çıkarmak
Bu kopyayı bulut üzerinde çalışan sanal makineye taşımak
Daha fazla bilgi için “Windows Azure Virtual Machines içerisinde SQL Server ile Geçiş Yapmak” sayfasına
bakınız: http://msdn.microsoft.com/en-us/library/windowsazure/jj156165.aspx.
Aşağıdaki aşamalarda da gösterildiği gibi kurum içi veritabanını yedekleyebilir (Şekil 15), yedek belgeyi
direkt olarak RDP bağlantısı üzerinden sunucuya kopyalayabilir ve ardından veritabanı dosyasını Windows
Azure Virtual Machine içerisinde çalışan SQL Server örneği üzerinde geri yükleyebilirsiniz. Bu özellikle
yaklaşım küçük veritabanları için çok uygundur.
Şekil 15: Kurum içi veritabanının yedeklenmesi
Uzak Masaüstü protokolü küçük belgelerin Windows Explorer içerisinde kesip yapıştırarak taşınmasını
kolaylaştırır (Şekil 16).
Sayfa 18
Şekil 16: Bir belgenin kurum içerisindeki makine üzerinde kopyalanması ve Windows Azure Virtual Machine'e
yapıştırılması (Uzak Masaüstü Protokolü)
Belgeyi kopyaladıktan sonra Windows Azure Virtual Machine içerisinde çalışan SQL Server örneği üzerinde
geri yükleyebilirsiniz (Şekil 17). Veritabanı, kullanıcı veritabanında saklanmayan metaverileri kullanıyorsa
ilave aşamaların da kullanılması gerekebilir. Daha fazla bilgi için bakınız “Bir Veritabanını Başka Bir Sunucu
Örneği
Üzerinde
Kullanılabilir
Hale
Getirirken
Metaverileri
Yönetmek”:
http://msdn.microsoft.com/library/ms187580(v=sql.110).aspx .
Şekil 17: Bir belgenin kurum içerisindeki makine üzerinden kopyalanması ve Windows Azure Virtual Machine'e
yapıştırılması (SQL Server Management Studio)
Son olarak SQL Server veritabanını Windows Azure Virtual Machine içerisinde çalışan bir başka SQL
Server örneğine kurmak için bir sihirbaz sağlıyor. Karmaşık işlem tam otomatik olarak gerçekleştiriliyor ve
derinlemesine Windows Azure bilgisine gerek duyulmuyor. Ayrıca kurulum süresini belirleyen ana faktör
veritabanı büyüklüğü olduğundan bu işlem için ekstra performansa ihtiyaç duyulmuyor.
Pek çok şirket uygulama geliştirirken uygulama yaşam döngülerinin bir parçası olarak
dağıtım, test ve hazırlama sunucuları kullanmaktadır. Bu tür düzenler geliştiricinin
masaüstünde barındırılan bir sanal makineden adanmış sanal sunucularda barındırılan
bir ortama kadar farklı türlerde olabilmektedir. Büyük şirketlerde, özellikle de büyük
kurumsal şirketler ve sistem entegratörlerinde, geliştirme sunucuları daha çok özel
buluta benzeyen ortamlar gerektirebilmektedir.
Windows Azure Virtual Machine bu tür iş yüklerini desteklemek için genel bulut seçeneğine sahiptir. Bir
uygulama en sonunda kurum içerisinde barındırılacak olsa bile geliştirme ve hazırlama sunucularını
çalıştırmak için Windows Azure'u kullanmak maliyet açısından etkin bir seçenek olabilir. Kendi kendine
makine hazırlama esnekliği ve kullandıkça öde esaslı faturalandırma özelliği ile maliyetleri azaltma imkânı
sunmaktadır.
Sayfa 19
Windows Azure Storage yüksek kullanılabilirlik özelliğine sahip bulut üzerinde
barındırılan GB başına aylık birkaç cent ücret ile bir depolama mekanizması
sunmaktadır. Bu çözüm, Windows Azure Virtual Machine hizmeti ile birlikte yedekleme
ve felaket kurtarma yeteneklerine ihtiyaç duyan şirketlere yeni seçenekler sunmaktadır.
Şirketler kendi veritabanlarının veya sanal makinelerinin tamamının yedeklerini
saklamak için Storage'dan yararlanabilmektedir. Windows Azure Storage bu tür dosyalar için yüksek
kullanılabilirlik, dayanıklılık ve güvenlik özelliklerine sahip ve dışarıda bulunan bir depolama imkânı
sunmaktadır. Birbiriyle tutarlı üç kopya ana veri merkezinde saklanmaktadır ve dördüncü kopya ise
eşzamanlı olmadan ikincil bir veri merkezine kopyalanmaktadır.
Bir felaket yaşanması durumunda şirketler dosyalarını Storage'dan alabilmekte veya Windows Azure Virtual
Machine'i kullanarak yedek makine imajlarını geri yükleyip belli bir dönem için bulut üzerinde
çalıştırabilmektedir.
SQL Server 2012 SP1 CU2 içerisinde Storage'ı veritabanı yedeklerinin alınması ve geri yüklenmesi için
kullanma fonksiyonu yer almaktadır (Şekil 18).
Şekil 18: Portalı kullanarak bir Windows Azure Storage hesabının oluşturulması
Yedekleme verilerini direkt olarak Windows Azure Storage'a yüklemek için depolama hesaplarıyla ilgili
güvenlik anahtarlarından birisini almanız gerekmektedir (Şekil 19).
Şekil 19: Portal üzerinden depolama anahtarlarının alınması
Sayfa 20
“BACKUP DATABASE …. TO URL” T-SQL komutunu kullanarak SQL Server Management Studio 2012
içerisinden Windows Azure Storage yedekleme desteğine ulaşabilirsiniz. Doğrulama bilgilerini Windows
Azure Storage'a yükleyebilmek için öncelikle SQL Server kimlik bilgilerine ihtiyacınız olacaktır. Kimlik
bilgileri Storage hesabının adını ve erişim anahtarı değerlerini kaydetmektedir.
Şekil 20: Windows Azure Storage doğrulama bilgilerini saklamak için SQL Server kimlik bilgilerinin oluşturulması
Kimlik bilgilerini oluşturduktan sonra BACKUP/RESTORE ve WITH CREDENTIAL ile veritabanınızı direkt
olarak yedekleyip Windows Azure Storage'a geri yükleyin (Şekil 21).
Sayfa 21
Şekil 21: SQL Server Management Studio'da verileri Windows Azure Storage'a yedeklemek
Daha fazla bilgi için bakınız “Windows Azure Blob Storage Service ile SQL Server'ın Yedeklenmesi ve Geri
Yüklenmesi” http://msdn.microsoft.com/en-us/library/jj919148.aspx.
Şirketler bu özelliği kurum içerisindeki bir SQL Server örneğindeki veya Windows Azure Virtual Machine
gibi barındırılan bir ortamda çalışan SQL Server'ın bir örneğindeki veritabanlarını yedeklemek için
kullanabilir. Bulut üzerinde yedekleme kullanılabilirlik, neredeyse sınırsız coğrafi olarak çoğaltılmış harici
depolama ve verileri buluta veya buluttan kolayca taşıma avantajları sunmaktadır. Bu avantajlara ayrıca
yedek arşiv mekanizması sunan ve donanım yönetimi ihtiyacı olmadan esnek, güvenilir ve neredeyse
sınırsız harici depolama da dahildir.
SQL Server 2014, Windows Azure Storage'a içeriğe duyarlı olan (iş yükü ve azaltmaya karşı) otomatik
yedekleme ilkesi sağlamakta, tutma dönemini belirtmek için asgari yapılandırma kullanmakta ve tüm
veritabanı örneğini veya belli veritabanlarını yönetebilmektedir.
Son olarak verileri SQL Server içerisinden yedeklemenin yanı sıra Windows Server 2012 ve System Center
2012 Data Protection Manager kullanıcıları tam sanal makine imajları dahil olmak üzere diğer verileri de
direkt olarak Windows Azure'a yedeklemek için Windows Azure Online Backup'ı kullanabilir.
Bazı durumlarda şirketler, bir uygulamanın sadece belli bir kısmını buluta taşımak ve
uygulamanın ilave ölçeklendirme ihtiyacı yaratan kısımlarını genel buluta taşırken
hassas verileri kurum içerisinde tutmak isteyebilir.
Buna örnek olarak bir e-ticaret sitesi verilebilir. Müşteri bilgileri ve kredi kartı bilgileri gibi
hassas bilgilerin kurum içerisinde kalması gerekebilir; fakat artan yükü karşılamak için
ürün kataloğu ve alışveriş sepeti verileri Windows Azure'a taşınabilir.
Bu tür hibrit uygulamaları daha sonraki senaryolarda daha detaylı olarak ele alacağız.
Sayfa 22
Windows Azure SQL Database senaryoları
Bu bölümde Windows Azure SQL Database ile çalışmak isteyen şirketler için iki ana senaryo ele alınacaktır.
Şekil 22: SQL Database bulut için tasarlanmış uygulamalar geliştiren yazılım geliştiriciler için idealdir
SQL Database'in çok sayıdaki özgün avantajından yararlanmak için bir uygulamanın
mimarisinin o özelliklere göre özel olarak yapılandırılmış olması gerekmektedir. Örneğin
SQL Federation uygulamalarını kullanmak için geliştiricilerin sharding ölçeklendirme
modeli ile gelen kısıtlamaları anlaması ve shard üyelerini FEDERATION T-SQL
ifadeleriyle nasıl erişebileceğini bilmesi gerekmektedir.
Yazlım Geliştiriciler genellikle bulut için yeni bir uygulamaya yönelik geliştirme işini Windows Azure SQL
Database'te çalışan uzak bir veritabanına bağlı olarak SQL Database içerisinde oluşturabilmektedir.
Şirketler genellikle sunucu ve veritabanlarını Windows Azure veya SQL Database yönetim portalları
üzerinden oluşturmaktadır. Ardından mevcut araçlarını uzaktaki bu veritabanlarına bağlayabilmektedir.
Daha önce de belirtildiği gibi SQL Database, SQL Server ile son derece uyumludur ve bu yüzden de Visual
Studio ve SQL Server Management Studio 2012 dahil olmak üzere SQL Server ile ilişkili araçların çoğunu
desteklemektedir. Geliştiriciler veritabanı şemalarını oluşturmak için bu araçları kullanmakta, uzak
sunucular ile çalışmaktadır.
Geliştiriciler genellikle uygulama katmanını Azure Cloud Services veya Windows Azure Web Sites
özelliklerini kullanarak hazırlamaktadır. Bu araçlar ile uygulama geliştiricileri Windows Azure yük
dengeleyicilerinin ardında daha kolay bir şekilde ölçeklendirilebilecek uygulamalar geliştirebilmektedir.
Uygulama katmanının ölçeklendirilmesi, veri katmanının ölçeklendirilmesi için kullanılan yaklaşıma çok
benzemektedir.Bunun anlamı geliştiricilerin çok büyük iş yüklerini karşılayabilecek uygulamaları bulut
üzerinde oluşturabiliyor olmasıdır. Geliştiriciler sadece Microsoft .NET Framework ile sınırlı kalmamaktadır.
Cloud Services, Java ile ve SQL Database SQL Server 2012 için JDBC sürücüleri ile iyi çalışmaktadır.
Microsoft ayrıca Windows Azure'a yönelik olarak popüler bir Java IDE'si olan Eclipse eklentisi için açık
kaynaklı projeyi de desteklemektedir. Ruby, PHP ve Node.js gibi diğer çerçeveler de aynı şekilde SQL
Database ve Windows Azure tarafından desteklenmektedir.
BT profesyonelleri veritabanını yönetmek için Windows Azure ve SQL Database portlarının ve mevcut SQL
Server yönetim araçlarının bir kombinasyonunu kullanmaktadır (Şekil 23).
Sayfa 23
Şekil 23: Yazılım Geliştiriciler SQL Database içerisinde uygulamaları uygulama ve veri katmanlarında
ölçeklendirebilmektedir
Bir SQL Database oluşturmak için Windows Azure Management Portal'ı kullanabilirsiniz. Bir SQL
Database sunucusu oluşturmak için Custom Create seçeneğini kullanın (Şekil 24).
Şekil 24: Yeni bir SQL Database için Custom Create seçeneğinin kullanımı
SQL Database içerisindeki bir sunucunun sadece mantıksal olduğunu unutmayın; herhangi bir SQL
Database örneğinin gerçek veritabanı çoğaltmaları bir veri merkezi içerisindeki bir dizi farklı fiziksel
düğümlerde yer almaktadır (Şekil 25).
Sayfa 24
Şekil 25: Bir veritabanı oluşturulurken yeni bir sunucunun belirtilmesi
Şekil 26: Giriş detayları dahil olmak üzere yeni bir sunucunun oluşturulması
SQL Database içerisinde bilinmeyen IP adreslerinden gelen bağlantı denemelerine karşı koruma sunan bir
güvenlik duvarı mevcuttur. Veritabanı sunucusuna bağlanması beklenen her bir adres veya adres aralığı
için açık bir şekilde erişim sunan güvenlik duvarı kurallarını (Şekil 27) oluşturmanız gerekmektedir (Şekil
28). Windows Azure içerisindeki Windows Azure Compute ve Windows Azure Virtual Machines gibi diğer
hizmetlerin veritabanı sunucusuna erişimine izin vermek üzere güvenlik duvarı kurallarını yapılandırmak
için Windows Azure Services seçeneğini seçin. Management Studio veya kurum içi makinelerdeki başka
araçlarla bağlantı kurmak için ilave kurallar oluşturmanız gerekmektedir.
Şekil 27: Güvenlik duvarı kurallarının eklenmesi (sunucu özelliklerini açmak için server bağlantısına tıklayın)
Sayfa 25
Şekil 28: Güvenlik duvarı kurallarının eklenmesi (izin verilen adres aralığının belirtilmesi)
Sunucu yapılandırıldıktan sonra Management Portal içerisinden veritabanı özellikleri üzerinden bağlantı
dizelerini alabilirsiniz (Şekil 29).
Şekil 29: Management Studio'ya bağlanmak için bağlantı dizesinin kullanımı (bilgilerin alınması)
SQL Server Management Studio'yu uzak veritabanına bağlamak için bağlantı dizesi içerisindeki bilgileri
kullanın.
Sayfa 26
Şekil 30: Management Studio'ya bağlanmak için bağlantı dizesinin kullanımı (ayarların girilmesi)
Buradan da veritabanı şemasını oluşturmak için Management Studio içerisindeki bilinen araçları kullanın.
SQL Server Management Studio 2012 ayrıca Federation'ların oluşturulmasını ve yönetilmesini
desteklemektedir.
Hibrit senaryolar
Hibrit BT, şirketlere uygulamalarını nerede çalıştırabilecekleri hakkında seçenekler vermesinin yanı sıra
uygulamalarını genel bulut ve özel veri merkezi içerisinde dağıtma arasında seçim yapma imkânını da
sunmaktadır.
Code-far uygulamaları: Kurumsal sınıfa uygun veri katmanı için basit bir yöntem
SQL Database yüksek kullanılabilirlik dahil olmak üzere çok sayıda kurumsal sınıfa uygun veritabanı özelliği
sunmaktadır. Pek çok departman bu yeteneklerden fayda sağlayabiliyor olsa da bu özellikleri kurum
içerisinde sunmak genellikle çok masraflı olmaktadır. Bir code-far hibrit yaklaşımı kurum içerisindeki bir
uygulamayı internet üzerinden bir SQL Database örneğine bağlamayı kapsamaktadır (Şekil 31).
Şekil 31: Hafif uygulamalara uzaktan erişilen SQL Database üzerinden kurumsal sınıfa uygun bir veritabanının
sunulması
Sayfa 27
Microsoft Access 2013 bu dağıtım mimarisi için mükemmel bir örnek sunmaktadır. Access 2013
geliştiricileri, Microsoft Office 365 veya kurum içi sunucularda çalışan fakat verilerini bir Windows Azure
SQL Database içerisinde saklayan Access 2013 uygulamalarının hazırlanması konusunda
desteklemektedir.
Düzensiz olarak SQL Data Sync ile bağlanan uygulamalar
SQL Data Sync, Microsoft Sync Framework üzerinde oluşturulmuş olan bir hizmettir. Şirketler bunu verileri
SQL Server ve SQL Database örnekleri arasında iki yönlü senkronize etmek için kullanabilmektedir. SQL
Data Sync, Windows Azure içerisindeki bir hizmet olarak sunulduğundan geliştiricilerin özel kodlar
yazmasına gerek yoktur; SQL Data Sync'i Azure portalı içerisinde yapılandırabilmekte ve ardından SQL
Data Sync Agent'i kurum içi sunuculara kurabilmektedir (Şekil 32).
Şekil 32: SQL Database ve SQL Data Sync'i kullanan hibrit mimari ile çeşitli zamanlarda bağlanan işlerin desteklenmesi
Bu hibrit mimari, şirketlerin çeşitli zamanlarda bağlanan işleri destekleyen uygulamalar geliştirmesine imkân
vermektedir. Kullanıcılar bağlanmadığında veriler yerel SQL Server veritabanında depolanmakta ve
ardından tekrar bağlantı oluştuğunda SQL Database merkezi üzerinden eşitlenmektedir.
Tek bir uygulama içerisinde Windows Azure Virtual Machines'te SQL Database ve SQL
Server
Daha önceden de anlatıldığı gibi bir Windows Azure Virtual Machine içerisinde SQL Database ve SQL
Server ayrı ayrı güçlere sahiptir. Bir başka hibrit yaklaşım da ikisini tek bir uygulama içerisinde
birleştirmektir. Örnek olarak bir şirket bir OLTP web uygulaması için SQL Database'in ölçeklendirme
avantajından yararlanmak isteyebilir. Ayrıca çok boyutlu analiz ve raporlama ihtiyaçlarına sahiptir ve bu
yetenek sanal bir makine üzerine kurulmuş SQL Server fonksiyonlarını gerektirmektedir (Şekil 33).
Sayfa 28
Şekil 33: Uygulamaların farklı dağıtım seçenekleriyle sunulan imkânları kullanmasını sağlamak (SQL Server ile birlikte
SQL Database)
SQL Data Sync'i sayesinde şirketler SQL Database'i uygulamalarının işlem ihtiyaçlarını karşılamak için
kullanırken analitik işlem ihtiyaçlarını karşılamak için ise SQL Server Reporting and Analysis Services'i
kurum içerisinde kullanabilmektedir.
Sonuç
Bulut bilişim şirketlere uygulamaları daha önceden mümkün olmayan büyüklüklerdeki ölçeklerde daha ucuz
bir şekilde dağıtmak için yeni fırsatlar sunmaktadır. Aynı zamanda Microsoft'un hibrit BT stratejisi çoğu
şirketin genelde birbirinden farklı türlerde uygulamalara sahip olduğunu, bunlardan bazılarının bulut üzerine
kurulduğunu ve diğerlerinin de kurum içerisinde kaldığını kabul etmektedir. Detaylı donanım yapılandırması
ve optimizasyon gerektiren karmaşık uygulamalar veya şirketler tarafından hassas kabul edilen veriler bulut
bilişim tarafından sunulan ticari hizmet türüne tam olarak uygun değildir. Bu tür uygulamaların bir süre daha
kurum içerisinde kalacağı muhtemeldir. Diğer yandan, bazı iş yükleri genel bulut ortamı için çok uygundur.
Buna örnek olarak talep seviyesi büyük değişkenlikler gösteren uygulamalar verilebilir. Microsoft'un hibrit
BT stratejisi şirketlere sektördeki aynı lider teknolojiyi, teknikleri ve uzmanlığı kurum içi sunucularda, özel
bulutlarda ve genel bulut platformlarında kullanma konusunda seçenekler sunmaktır.
Hibrit BT, SQL Server'ın gücünü, sektörün lider veritabanı yönetim sistemini tüm dağıtım topolojilerinde
sunmaktadır. Şirketlerin dağıtım tercihleri ister kurum içi, ister genel veya özel bulut üzerinde olsun, aynı
SQL Server deneyimi ve araçları sağlanmaktadır.
Bir Windows Azure Virtual Machine içerisinde yer alan Microsoft SQL Server ile şirketler bir yandan bulut
bilişimin veriminden yararlanabilirken diğer yandan da kurum içi SQL Server dağıtımlarıyla neredeyse aynı
özellikleri kullanabilmektedir. Yeni uygulamalarını çok geniş kesimlere sunmak için bulutu kullanmak
isteyen şirketler, milyonlarca kullanıcı için ölçeklendirilebilecek yeni nesil ilişkisel veritabanı uygulamalarını
oluşturmak için Windows Azure SQL Database'i kullanabilirler.
Uygulama senaryonuzun spesifik ihtiyaçları ne olursa olsun ve nereye kurulacak olursa olsun,Microsoft'un
ihtiyaç duyduğunuz kapasite, esneklik ve bilinirliği sunacağından emin olabilirsiniz.
Daha fazla bilgi için SQL Server internet sitesini inceleyiniz: http://www.microsoft.com/sqlserver/.
Sayfa 29
Geri Bildirim
Bu makale size yardımcı oldu mu? Lütfen 1 (zayıf) ila 5 (mükemmel) arasında bir not vererek ve verdiğiniz
notun sebebini açıklayarak bize geri bildirimde bulunun. Daha spesifik olarak:


Yüksek notu ilgili örnekler, yararlı ekran görüntüleri, açık yazım veya bir başka sebepten mi verdiniz?
Kötü notu örneklerin ilgilendiğiniz alanla alakalı olmaması, kötü ekran görüntüleri veya net olmayan bir
yazım dilinden dolayı mı verdiniz?
Bu geri bildiriminiz yayınlayacağımız diğer teknik makalelerin kalitesini artıracaktır.
Lütfen geri bildiriminizi şu adrese gönderin: mailto:[email protected]
Sayfa 30
Download