Cloud Computing – Bulut Bilişim
Bulut bilişim, bilgi işlem kaynaklarının (sunucu, depolama, veritabanı, ağ, yazılım) internet üzerinden hizmet olarak sunulması anlamına geliyor. NIST'in Nisan 2010'da yayımladığı tanım ile birlikte kavram artık daha net bir çerçeveye oturdu. Bu yazıda IaaS, PaaS ve SaaS modellerini ele alıyorum.
Son bir-iki yıldır sektörde en çok konuşulan kavramların başında bulut bilişim (cloud computing) geliyor. Amazon’un EC2 ve S3 servislerini başlatmasının üzerinden dört yıl geçti, Google App Engine üç yaşında ve Microsoft Azure bu yılın Şubat ayında ticari olarak erişime açıldı. Türkiye’de hosting ve sistem yöneticisi camiasında kavram hâlâ yeni; ancak kurumların satın alma davranışlarını, yazılım geliştirme süreçlerini ve veri merkezi mimarilerini önümüzdeki on yıl boyunca derinden etkileyeceğini düşünüyorum. Bu yazıda bulut bilişimi 2010 yılı ortası itibarıyla nasıl anlamamız gerektiğini, hizmet ve dağıtım modellerini, altta yatan teknolojiyi ve Türkiye için ne anlama geldiğini elimden geldiğince derli toplu anlatmaya çalışacağım.
Tanım: NIST ne diyor?
Kavramın anlamı üzerinde uzun süre fikir birliği sağlanamadı. Her sağlayıcı kendi pazarlamasına uygun bir tanım türetti. Bu kafa karışıklığı, ABD Ulusal Standartlar ve Teknoloji Enstitüsü’nün (NIST) Nisan 2010’da yayımladığı “The NIST Definition of Cloud Computing” taslağı (Special Publication 800-145 üzerinde çalışılıyor) ile büyük ölçüde aşılmaya başladı. Peter Mell ve Tim Grance’in imzasını taşıyan bu tanıma göre bulut bilişimin beş temel özelliği var:
- Talep üzerine self-servis (on-demand self-service): Kullanıcı, sağlayıcıdan insan müdahalesi olmadan kaynak (sunucu, depolama) ayırabilir.
- Geniş ağ erişimi (broad network access): Hizmetlere standart mekanizmalarla internet üzerinden ulaşılır.
- Kaynak havuzlama (resource pooling): Çok kiracılı (multi-tenant) bir modelde fiziksel ve sanal kaynaklar müşteriler arasında dinamik olarak dağıtılır.
- Hızlı elastiklik (rapid elasticity): Kapasite, talep doğrultusunda hızlıca artırılıp azaltılabilir.
- Ölçülen hizmet (measured service): Tüketim ölçülür ve faturalanır; “kullandığın kadar öde” mantığı.
Bu beş özelliğin hepsini birden taşımayan bir hizmete bulut demek, bence de doğru olmaz. Yıllardır var olan “barındırma” ya da “VPS” hizmetlerini “cloud” diye sunan birçok firma bu kriterlerin en az birinde takılıyor.
Hizmet modelleri: IaaS, PaaS, SaaS
Bulut hizmetleri genellikle üç katmanda inceleniyor. Bunları, alttan üste bir piramit gibi düşünebilirsiniz.
IaaS, Infrastructure as a Service
En alt katman. Sağlayıcı, sanal sunucu, depolama, ağ gibi temel altyapı bileşenlerini hizmet olarak sunar. Müşteri işletim sistemini, çalıştıracağı yazılımları ve uygulama mimarisini kendisi yönetir.
Bu modelin bayrak taşıyıcısı tartışmasız Amazon Web Services. EC2 (Elastic Compute Cloud) ile sanal sunucu, S3 (Simple Storage Service) ile nesne depolama, EBS ile blok depolama sunuyor. Yanına 2009’da çıkan VPC ve CloudFront gibi servisler de eklenince oldukça olgun bir altyapı haline geldi. Rackspace Cloud Servers (Slicehost’un satın alınmasının ardından), GoGrid ve Joyent da bu alanda öne çıkan diğer isimler. Türkiye’den baktığımızda henüz yerel bir IaaS sağlayıcısı yok denecek kadar az; mevcut hosting firmalarının önemli kısmı klasik VPS modelinde kalıyor.
PaaS, Platform as a Service
Bir katman yukarısı. Geliştirici işletim sistemiyle, yamayla, ölçeklemeyle uğraşmaz; doğrudan kodunu yazar ve platforma yükler. Çalışma zamanı, veri tabanı, yük dengeleyici ve ölçekleme platformun sorumluluğundadır.
En bilinen örnek Google App Engine. Python ile başlayıp 2009 sonunda Java desteği gelen platform, web uygulamalarını birkaç dakikada Google’ın altyapısına dağıtmaya olanak tanıyor. Microsoft Azure da Şubat 2010’daki ticari lansmanıyla bu kategoriye güçlü bir oyuncu olarak girdi; .NET geliştiricileri için doğal bir hedef. Salesforce Force.com ve Heroku (Ruby tarafında) sayılması gereken diğer örnekler.
SaaS, Software as a Service
En üst katman. Son kullanıcıya doğrudan tarayıcıdan kullanılan bir yazılım sunulur. Altta sunucu, veritabanı, lisanslama gibi hiçbir şeyi kullanıcı görmez.
Klasik örnek Salesforce CRM, aslında SaaS’ı kitlelere tanıtan firma. Google Apps (Gmail, Docs, Calendar), Microsoft Online Services (BPOS) ve son dönemde popülerleşen Zoho bu kategorinin tanıdık isimleri. Türkiye’de SaaS, özellikle KOBİ muhasebe yazılımları tarafında yavaş yavaş yerleşiyor.
Dağıtım modelleri
NIST tanımı hizmet modellerinin yanında dört dağıtım modeli daha tanımlıyor:
- Public Cloud (Genel Bulut): Altyapı bir sağlayıcı tarafından sunulur ve internet üzerinden herkese açıktır. AWS, Azure, Rackspace Cloud bu modeldedir.
- Private Cloud (Özel Bulut): Tek bir kuruluşa adanmış bulut altyapısı. Genellikle şirketin kendi veri merkezinde, VMware vSphere veya benzeri bir platform üzerinde kurulur. Güvenlik ve mevzuat hassasiyeti yüksek olan finans ve kamu sektörü için öne çıkıyor.
- Community Cloud (Topluluk Bulutu): Ortak gereksinimleri olan birden fazla kuruluşun paylaştığı bulut (örneğin aynı sektördeki firmalar veya bir kamu kurumları birliği).
- Hybrid Cloud (Hibrit Bulut): Public ve private bulutların belli iş yüklerinde birlikte kullanıldığı, taşınabilirlik ve “cloud bursting” sağlayan model. Pratikte 2010 itibarıyla en çok konuşulan ama en az hayata geçirilen yaklaşım.
Bulutu mümkün kılan: Sanallaştırma
Bulut bilişim aslında tek bir teknoloji değil, var olan birkaç teknolojinin olgunlaşmasının yarattığı bir model. Bunların en önemlisi tartışmasız sanallaştırma. Bir fiziksel sunucu üzerinde, hipervizör (hypervisor) adı verilen bir yazılım katmanı sayesinde onlarca sanal makine çalıştırabiliyoruz. Bu sanal makineler, sağlayıcının kaynak havuzunda dakikalar içinde oluşturulup yok edilebildiği için yukarıda bahsettiğim “elastiklik” mümkün hale geliyor.
Kurumsal dünyada VMware ESX/ESXi ve vSphere 4 açık ara lider. Onun ardından açık kaynaklı Xen (Amazon EC2’nin altyapısında çalışan hipervizör), KVM (RedHat’in son birkaç yıldır yatırım yaptığı, Linux çekirdeğine entegre çözüm) ve Microsoft Hyper-V geliyor. Citrix XenServer ise telekom ve servis sağlayıcı tarafında güçlü. Intel’in VT-x ve AMD’nin AMD-V donanım eklentileri olmasaydı, bu hipervizörlerin bugünkü performansa ulaşması mümkün olmazdı.
Sanallaştırmanın yanına eklenen geniş bant ağ altyapısı, ucuzlayan x86 sunucular ve Google ile Amazon’un ölçeklenebilir veri merkezi mimarisinde geliştirdiği yazılımsal birikim, bulutun bugün geldiği noktayı mümkün kıldı.
Türkiye perspektifi
Türkiye’de bulut bilişim için 2010, “tartışmaya başladığımız” yıl olarak hatırlanacak gibi duruyor. CIO’lar, sistem yöneticileri ve yazılım firmaları bulutun ne olduğunu, kendi süreçlerine nasıl entegre olacağını yeni yeni öğreniyor. Sıkça karşılaştığım sorular şunlar:
- Yerel mevzuat, verilerin yurt dışında bir bulutta tutulmasına ne diyor? (5651, BDDK, KVKK öncesi tartışmalar.)
- Türkçe destek, fatura ve TL’li ödeme imkanı eksikliği KOBİ’leri AWS gibi sağlayıcılardan uzak tutuyor.
- Mevcut hosting firmalarının bir kısmı “biz de cloud yapıyoruz” diyor, ama yukarıdaki beş NIST özelliğine bakınca tablo çoğunlukla “VPS+” düzeyinde kalıyor.
Bana göre önümüzdeki iki-üç yılda Türkiye’de iki tip oyuncu öne çıkacak: bir yandan AWS/Azure/Google’ın Türkçeleşmiş hizmetlerini buradan satan ortakları, öte yandan kendi private cloud altyapısını VMware veya açık kaynak (Eucalyptus, OpenNebula gibi) çözümlerle kuran kurumsal müşterilere odaklanmış sistem entegratörleri.
Kapanış
Bulut bilişim, “internetten sunucu kiralamak” gibi yüzeysel bir tarifin çok ötesinde, BT’nin tüketim biçimini yeniden tasarlayan bir model. NIST tanımıyla birlikte sektörde ortak bir dil oturmaya başladı; bu sayede pazarlama gürültüsünü ayıklayıp asıl meseleye bakmak kolaylaştı. Önümüzdeki yazılarda sanallaştırma teknolojilerinin tekniğine, açık kaynak bulut platformlarına ve mümkün olduğunca Türkiye’deki vakalara odaklanmaya devam edeceğim. Soru ve yorumlarınızı bekliyorum.