Maliyetlerin düşürülmesine, değişen iş gereksinimlerine hızlı cevap verebilmeye ve karmaşıklığın azaltılmasına yönelik bir takım çözüm yolları geliştirilmiştir. Bunlar dış kaynak kullanımı, Hosting (Bulundurma) Servisleri, ASP (Application Service Providers - Uygulama Sağlayıcı Servisler), Utility Computing (Yardımcı Hesaplama) ve Grid Computing (Izgara Hesaplama)'dir. Bu çözüm yolları belirli oranda ihtiyaçları karşılamakta fakat self-servis, gereksinim halinde kapasite eklenmesi ve kullandıkça öde tarzı bir tüketim modelini hiçbir zaman sağlayamamaktadırlar. Bunun sonucunda belirtilen teknoloji ve yaklaşımların değişime uğramasıyla, Bulut Hesaplama denilen yeni ve daha gelişmiş bir tür ortaya çıkmaktadır.
Ağ erişiminin hızlanması, yönetim ve süreç otomasyonunun hızla gelişimi, işlemcilerin giderek ucuzlayıp güçlenmesi, sanallaştırma teknolojilerinin ucuzlayıp yaygınlaşması ve bunun sonucunda veri merkezlerinin endüstriyel ölçekte bilişim servisleri fabrikaları haline gelmesi Bulut Hesaplama doğumuna yol açmıştır.
Bulut Hesaplama, çok basit olarak bilişim teknolojileri kaynak ve kabiliyetlerinin servis olarak sunulmasıdır.
- Paylaşılan Altyapı: Her türlü altyapı planlaması ve yatırımı, servis sağlayıcı tarafından yapılıp tüketiciler arasında paylaştırmaktadır.
- Self-Servis: Gerek duyulduğunda, ihtiyaç duyulan kaynak ve servisler satın alınabilmektedir. Birçok servis sağlayıcı aynı zamanda API (Application Programmıin Interface – Uygulama Geliştirme Arayüzü) sağlamaktadır. Bu sayede tüketici, isterse herhangi bir insan etkileşimi olmadan, uygulama içerisinden ihtiyaç duyulan kaynakları satın alıp kullanabilmekte ya da ihtiyaç duyulan kaynağı uygulama içinden temin edebilmektedir.
- Elastik ve Ölçeklenebilirlik: Servis sağlayıcılar tüketicinin talep ettiği kaynakları hızla sunabilme kapasitesine sahiptir. Tüketici bu kaynakları kullandıkça, kullandığı kadar ücret öder. İhtiyaç duyulmayan kaynaklar istenildiği zaman geri bırakılabilmektedir.
- Kullandıkça Öde: Tüketici kullandığı kadar ücret ödemektedir.
- Dinamik ve Sanallaştırma: Servis sağlayıcı ihtiyacı olan esneklik ve ölçeklenebilirliği her aşamada yoğun bir sanallaştırmadan faydalanarak elde etmektedir.
Servis modellerinin sınıflandırılması şöyledir:
- Servis olarak yazılım (SaaS - Software as a Service): Sunulan servisler çok geniş bir yelpazeye sahiptir. Servis sağlayıcı tarafından İnternet gezgini ya da erişilebilen cihaza yüklenen istemci uygulaması ile erişebilmesi için uygulama tasarlanmakta ve bulundurulmaktadır. Örnek olarak e-posta ("Google" - "Cisco" - "Yahoo" ), satış otomasyonu ve müşteri yönetimi ("Salesforce.com" - "Oracle" ) ve doküman paylaşımı ("Microsoft" – "Google" - "Adobe") verilebilmektedir.
- Platform olarak servis (Paas - Platform as a Service): Uygulamanın çalışacağı ortam, uygulama geliştirme, tamamlayıcı servisleri ve altyapıları, servis sağlayıcı tarafından tasarlanıp kurulmaktadır. Kullanıcı tarafından uygulama bu platforma göre geliştirilir. Örnek olarak "Microsoft", "Google Apps" verilebilmektedir.
- Servis olarak altyapı (Iass - Infrastructure as a Service): Veri saklama, işlemci gücü ve ağ kaynakları servis olarak kullanılmaktadır. Örnek olarak "Amazon" verilebilmektedir.
Bir diğer sınıflandırma Bulut Servisleri'nin oluşturulma biçimine göre şöyledir:
- Umumi (Public) Bulut : İnternet üzerinden herkese açık servislerdir. Örnek olarak "GoGrid", "Amazon", "Google" verilebilmektedir.
- Özel (Private) Bulut : Bulut mimarisinin avantajlarından yararlanılmak üzere organizasyona özel kurulmuş yapılardır. Servisler güvenlik duvarının arkasında bulunmaktadır.
- Topluluk (Community) Bulutu: Belirli bir kullanıcı grubu tarafından uygulama ve verilere erişilebilen servislerdir.
- Melez (Hybrid) Bulut: Yukarıda bahsedilen türlerin birleşiminden oluşmaktadır. Örneğin; bir kurumun oluşturduğu hususi servislere ek olarak bazı servisler dışarıdan alınabilmektedir.
Sanallaştırma (Virtualization)
Bütün Bulut mimarileri için sanallaştırma bir çeşit köşe taşıdır. Bulut Hesaplama öncelikle platform(düzlem) sanallaştırmayı ya da insan kaynaklı soyut bilişim teknolojilerini ve bunu kullanan uygulamaları işaret etmektedir. Sanalllaştırma; sunucuları, depolama aygıtlarını ve diğer kaynak havuzlarını tercih etmektedir. Bulut Hesaplama'da yarı-sanallaştırma (paravirtualization), tek bir sunucunun birden çok sunucu gibi ya da birden çok sunucunun tek bir sunucu gibi davranabilmesini sağlayan bir tekniktir.
Sanallaştırma, veri merkezi yönetiminde meydana gelen bir çok zorluğu çözmekte ve çeşitli avantajlar sağlamaktadır.
- Yüksek kullanım oranları
- Kaynak takviyesi
- Düşük güç kullanımı
- Düşük maliyet
- Boş alan korunumu
- Sorun giderme, iş devamlılığı
Bulut Hesaplama'da kullanılan sanallaştırma türleri şöyledir:
- İşletim Sistemi Sanallaştırma (Operating System Virtualization)
- Düzlem Sanallaştırma (Platform Virtualization)
- Ağ Sanallaştırma (Network Virtualization)
- Uygulama Sanallaştırma (Application Virtualization)
Bulut Hesaplama Servisleri:
- "Windows Azure" : Geliştirilen uygulamaların Windows sunucularında tutulmasını sağlamaktadır. Genel olarak ".Net" platformunu desteklemektedir.
- "Sun Open Cloud" : İlk açık kaynaklı bulut hesaplama sistemidir. "Java" , "Mysql" ve "OpenSolaris"'i desteklemektedir.
- "Google App Engine" : "Pyhton" üzerinde "Django" ile desteklenmektedir. Bu platformun esnekliği diğerlerine göre oldukça düşüktür.
Windows Azure
Windows Azure, bir Bulut Hesaplama servisi, bir servis platformudur. ".Net Framework", "Sql Server" ve "SharePoint" servislerini, uygulama geliştiricilere bir bulut altında toplamaktadır. Ayrıca melez (hibrid) uygulamalar geliştirilmesine ortam hazırlamaktadır.
Windows Azure mimarisi, Live Servisleri, .Net Servisleri, Sql Servisleri, Microsoft SharePoint Servisleri ve Microsoft Dynamics CRM Servisleri'ni sunmaktadır.