Servis olarak Altyapı Servis olarak Altyapı (Infrastructure as a Servis, IaaS) fiziksel makineler, sanal makineler ve sanal depolama gibi temel kaynaklara erişebilmeyi sağlar. Bu kaynaklardan başka IaaS aşağıdaki hizmetleri sunar: Sanal makine disk depolama Sanal yerel ağ (VLANs) Yük dengeleyiciler IP adresleri Yazılım yamaları Yukarıdaki kaynakların tümü son kullanıcılara server sanallaştırma yoluyla bulunur hale getirir. Bundan başka, kullanıcılar bu kaynaklara kendi kaynaklarıymış gibi erişebilirler. Faydaları IaaS, bulut hizmet sağlayıcısına altyapıyı uygun maliyetle internet üzerine serbestçe yerleştirebilir. IaaS ın bazı faydaları aşağıda verilmiştir. 1
Yönetici Sanal Makineye erişerek kaynakları tam kontrol edebilir. Bilgisayar donanımının esnek ve etkin kiralanması Taşınabilirlik ve Legacy uygulamalar ile birlikte çalışabilme Yönetici Sanal Makineye erişerek kaynakları tam kontrol edebilir. IaaS, sanal makineye yönetimsel erişimi sayesinde kullanıcının/tüketicinin bilgisayar kaynaklarına erişmesine aşağıdaki amaçlar için mümkün kılar. Tüketici sanal makineyi çalıştırmak ya da bulut sunucunsunda veriyi saklamak için yönetimle ilgili komutları bulut hizmet sağlayıcısına bildirir. Tüketici yeni uygulamalar kurmak ya da sahip olduğu web sunucularını başlatmak için yönetimle ilgili (yönetsel) komutları bulut hizmet sağlayıcısına bildirir. Bilgisayar donanımının esnek ve etkin kiralanması Sanal makineler, depolama aygıtları, bant genişliği, IP adresleri, izleme servisleri, güvenlik duvarları gibi IaaS kaynakların müşterinin kiralaması için mevcut bulundurulur. Tüketici, bir kaynağı kullandığı sürenin uzunluğuna göre ödeme yapmak zorundadır/ödeme yapar. Ayrıca sanal makinelere yönetimsel erişim ile, tüketici herhangi bir yazılımı hatta özel bir işletim sistemini çalıştırabilir. Taşınabilirlik ve Legacy uygulamalar ile birlikte çalışabilme IaaS bulutlar arasındaki iş yükleri ve uygulamalar arasındaki legacy muhafaza etmek/sürdürmek mümkündür. Örneğin, normal olarak kullanıcı sunucuları üzerinde çalışan e-mail sunucu, web sunucu gibi ağ uygulamaları, IaaS bulutu üzerinde Sanal makinelerden de çalıştırılabilir. Sorunlar 2
IaaS, ağ bağımlılığı ve tarayıcı temelli riskler gibi sorunları PaaS, ve SaaS ile paylaşır. IaaS ayrıca kendisi ile ilgili/alakalı bazı özel sorunları vardır. Bu sorunlar aşağıdaki diyagramda bahsedilmiştir. Legacy Güvenliğin zayıf noktaları ile uyumluluk Çünkü IaaS kullanıcıya legacy yazılımı bulut sağlayıcının altyapısında çalıştırmayı sağlar, bundan dolayı, IaaS tüketiciyi legacy yazılımın güvenlik açısından zayıf noktalarının tümüne maruz bırakır. Sanal Makine yayılımı Sanal makine güvenlik güncellemelerine göre eski olabilir çünkü IaaS, müşterilerin aktif sanal makinelerin çalışmasına, askıya almasına ve devre dışı bırakmasına izin verir/mümkün kılar. Bununla birlikte, bulut tedarikçisi böyle Sanal Makineleri otomatik olarak güncelleyebilir fakat bu işlem oldukça zor ve karmaşıktır. Sanal makine-seviye izolasyonunun sağlamlığı 3
IaaS, hypervisor sayesinde bireysel kullanıcılara izole edilmiş bir ortam/çevre sunar. Hypervisor, fiziksel bir bilgisayarı birçok sanal makineye bölen donanım desteği de olan bir yazılım katmanıdır. Veri Silme Uygulamaları Tüketiciler bulut hizmet sağlayıcısı tarafından sağlanan ortak disk kaynaklarını sırayla sanal makine olarak kullanırlar. Tüketici kullanmış olduğu kaynağı bıraktığı zaman, bulut hizmet sağlayıcısı aynı kaynağı kiralayan bir sonraki tüketicinin bir önceki tüketicinin veri kalıntısını gözlemediğini garanti etmek zorundadır. Karakteristikler IaaS modelinin karakteristikleri: Önceden kurulmuş yazılım ile sanal makineler (oluşturma) Windows, Linux ve Solaris gibi önceden kurulmuş işletim sistemleri ile sanal makineler (oluşturma) Talep olduğunda kaynakların mevcut olması durumu Belirli bir verinin kopyasını farklı lokasyonlara depolamaya izin verme Bulut bilişim kaynaklarının yukarı ve aşağı kolayca ölçeklenebilmesi 4
Servis olarak Platform (Platform as a Servis, PaaS) PaaS uygulamalar için çalışma ortamları sunar. PaaS uygulamaları geliştirmek için gereken geliştirme ve uygulama araçlarını da sağlar. PaaS, geliştirici olmayanlar için web uygulamaları geliştirmeye imkan veren point-to click özellikli araçlara sahiptir. Google s App Engine, Force.com PaaS ın satıcılarına sunduğu örneklerdir. Geliştirici bu web sitelerine bağlanabilir ve web tabanlı uygulamalar geliştirmek için built-in-api kullanabilir. Fakat, geliştiricinin sadece belirli bir satıcıya kilitlenmesi (bağlı kalması) PaaS ı kullanmanın dezavantajıdır. Örneğin, Google s App Engine kullanarak Google s API sine karşı Python ile yazılan bir uygulama muhtemelen sadece o ortamda çalışır. İzleyen diyagram (şekil) PaaS nın geliştiricilere nasıl geliştirme araçları ve API sunduğunu ve de son kullanıcının iş uygulamalarına erişmek için nasıl yardım ettiğini gösterir. Faydaları Aşağıda PaaS modelinin faydaları gösterilmiştir. 5
Daha düşük yönetimsel masraflar Tüketici yönetim hakkında çok sıkıntı çekmesine gerek yok, çünkü yönetim bulut hizmet sağlayıcısının sorumluluğundadır. Daha düşük toplam mülkiyet maliyetleri Tüketici pahalı donanım, sunucu, güç kaynağı ve depolama aygıtları satın almasına gerek yok. Ölçeklenebilir Çözümler Uygulamanın kaynak taleplerine bağlı olarak otomatik olarak yukarı ve aşağı ölçeklmek çok kolaydır. Daha güncel sistem yazılımı Yama kurulumları ve yazılım versiyonlarının güncellenmesi bulut hizmet sağlayıcısının sorumluluğundadır. Sorunlar 6
SaaS gibi, PaaS, bulut hizmeti sağlayan sistemlere güvenli bağlantıyı sağlamak için tüketicinin tarayıcısı üzerine önemli kısıtlama/yasaklamalar da yerleştirir. Bundan dolayı PaaS, SaaS nın birçok sorununu paylaşır. Bununla birlikte, izleyen diyagramda gösterildiği gibi PaaS ile ilgili bazı özel sorunlar vardır. PAAS bulutlar arasında Yetersiz Taşınabilirlik Standart diller diller kullanılmasına rağmen, platform servislerinin uygulaması değişebilir. Örneğin, dosya, sıra (kuyruk), bir platformun komut tablosu arayüzü bir diğerinden farklı olabilir. Bu durum iş yükünü bir platformdan diğer platforma taşımayı güçleştirir. Olay Temelli İşlemci Çizelgeleme PaaS uygulamaları, uygulamalar üzerinde kaynak kısıtlı olay yönelimli uygulamalardır. Yani, bir isteğe verilen bir zaman aralığında cevap vermelidir. PAAS uygulamalarının Güvenli Mühendisliği PaaS uygulamalrı ağa bağlı olduklarından dolayı, PaaS uygulamaları açıkça kriptografi ve güvenlik yönetimleri kullanmalıdır. 7
Karakteristikler PaaS tarayıcı tabanlı geliştirme ortamı sunar. Geliştiriciye veri tabanı oluşturmaya ve ya uygulama programı arayüzü ya da point-and- click araçları ile uygulama kodunu edit etmeyi mümkün kılar. PaaS, built-in güvenlik, ölçeklenebilme ve web servis ara yüzleri sağlar. PaaS, iş akışını ve onaylı işlemleri ve iş kurallarını tanımlama için built-in araçlar sağlar. Aynı platformda diğer uygulamalar ile entegre etmek kolaydır. PaaS ayrıca platform dışı uygulamalara bağlanmak için bize web servis ara yüzleri sağlar. PaaS Tipleri Fonksiyonlarına göre PaaS, aşağıdaki şekilde görüldüğü gibi dört tip biçiminde sınıflanabilir. Bağamsız geliştirme ortamı Bağımsız PaaS, belirli bir foknsiyon için bağımsız bir girdi gibi çalışır. Spesifik SaaS uygulamları üzerinde teknik bağımlılıklar, lisanslama dahil değildir. Yalnızca çevresine uygulama dağıtımı Uygulama Dağıtımı PaaS ta isteğe bağlı ölçekleme ve uygulama güvenliği mevcuttur. Servis olarak Açık Platform 8
Open PaaS, PaaS sağlayıcısına uygulamaları çalıştırmada yardım eden açık kaynak kodlu bir yazılım sunar. Eklenti (Ek yazılım) geliştirme Kolaylıkları Add-on PaaS, mevcut SaaS platformunu kendine özgü hale getirmeye izin verir/mümkün kılar. 9
Servis olarak Yazılım Software as a servis, SaaS modeli, son kullanıcılara servis olarak uygulama yazılımı sağlamayı mümkün kılar. SaaS bir barındırma servisi üzerinde uygulanan ve internet ile erişilebilen bir yazılımı işaret eder (kast eder). Bir çok SaaS uygulaması vardır. Aşağıda bunlardan bazıları sıralanmıştır: Faturalama sistemi Müşteri ilişkileri uygulamaları (CRM) Yardım masası uygulamaları İnsan kaynakları çözümleri (HR) Office Suite gibi bazı SaaS uygulamaları özelleştirilemez. Fakat, SaaS, özelleştirilebilir uygulamalar geliştirmek için geliştiricilere uygulama programı arayüzü (API) sağlar. Karakteristikler SaaS internet üzerinden yazılımı mevcut kılar (bulunur kılar) Yazılım çalıştırıcı tarafından ziyade satıcı tarafından sağlanır Yazılım lisansı abone tabanlı ya da kullanım tabanlı olabilir ve yenileme esaslı faturalandırılır. SaaS uygulamaları uygun maliyetlidirler çünkü son kullanıcı tarafında herhangi bir bakıma ihtiyaç yoktur. Talep halinde bulunması mümkündür. Talebe göre yukarı aşağı ölçeklenebilir. Yazılımlar otomatik olarak yükseltilebilir ya da güncellenir. SaaS paylaşımlı veri modeli sunar. Bundan dolayı, çok sayıda kullanıcı altyapının tek bir örneğini paylaşabilir. Bireysel kullanıcılar için fonksiyonellik için zor kod gerekmez Tüm kullanıcılar yazılımın aynı versiyonunda çalışır. 10
Faydaları SaaS, ölçeklenebilirlik, verimlilik, performans ve daha bir çok açıdan faydalı olduğunu ispatladı. Bunlardan bazıları aşağıda listelenmiştir: Uygun yazılım versiyonları Yazılımların etken kullanımı, Merkezi yönetim ve Veri Bulut sağlayıcı tarafından idare edilen platform sorumlulukları Çok kiracılı çözümler. Uygun yazılım versiyonları SaaS uygulama geliştirmede çok az yazılım kurulumu gerekir, istemci tarafında ise neredeyse hiç yazılım kurulumuna ihtiyaç duyulmaz. Bu durum aşağıdaki faydalara neden olur/doğurur: İstemci tarafında karmaşık yazılım paketlerine gereksinim olmaz. İstemci tarafında çok az ya da hiç denecek kadar konfigürasyon riski vardır. Düşük dağıtım maliyetleri Yazılımların etken kullanımı, İstemci tarafında farklı lokasyonlarda birçok bilgisayarda çalışan tek bir lisansa sahip olabilir. Bu durumda yazılım lisanslama maliyetlerini ciddi oranda düşer. Ayrıca lisans sunucularına gereksinim yoktur çünkü yazılım bulut hizmet sağlayıcının altyapısında çalışır. Merkezi yönetim ve Veri Bulut hizmet sağlayıcısı tarafından saklanan veri merkezileştirilir (merkezde yer alır). Bununla birlikte, Bulut hizmet sağlayıcısı fazla veriolduğunda ve güvenlik yararına veriyi merkezi olmayan lokasyonlarda da saklayabilir. Bulut sağlayıcı tarafından idare edilen platform sorumlulukları Yedek alma, sistem bakımı, güvenlik, donanım güncelleme, güç yönetimi ve benzeri, tüm platform sorumlulukları bulut hizmet sağlayıcısı tarafından yapılır. Tüketicinin bu konuda sıkıntıya girmesine gerek yoktur. 11
Çok kiracılı çözümler Çoklu kullanım, sanal izolasyon içerisinde kaynakların tek bir örneğini birçok kullanıcın paylaşmasına imkan verir/mümkün kılar. Tüketiciler, ana işlevselliği etkilemeksizin kendi uygulamalarını özelleştirebilirler. Sorunlar SaaS ile ilgili birkaç sorun vardır, onlardan bazıları aşağıda listelenmiştir: Tarayıcı tabanlı risk Ağ bağımlılığı SaaS bulutları arasında taşınamama sorunu Tarayıcı tabanlı risk Eğer tüketici kötü niyetli siteleri ziyaret ederse ve tarayıcı bu kötü yerlerden zarar görürse, daha sonraki SaaS uygulamalarına erişimlerde tüketicinin verisi risk altında olabilir. Böyle bir riskten sakınmak için, tüketici bir çok tarayıcı kullanabilir ve SaaS uygulamalarına erişmek için sadece belirli bir tarayıcıyı tahsis edebilir. Ya da SaaS uygulamalarına erişirken sanal masaüstü kullanabilir. Ağ bağımlılığı SaaS uygulaması sadece sürekli bir ağ bağlantısı olduğu zaman dağıtılabilir. Ayrıca, ağ güvenli olıdır fakat ağ güvenliği bulut hizmet sağlayıcı ya da tüketici tarafından garanti edilemez. SaaS bulutları arasında taşınamama sorunu İş yükünü bir SaaS bulutundan tan başka bir buluta transfer etmek çok kolay değil. Çünkü iş akışı, iş mantıkları, kullanıcı arabirimleri, destek komutları sağlayıcıya özel olabilir. Açık kaynak kodlu SaaS Açık kaynak kodlu SaaS, açık kaynak kodlu programlar vasıtasıyla geliştirilmiş olan SaaS uygulamalarını kullanır. Bu SaaS uygulamaları herhangi bir açık kaynak kodlu işletim sistemi 12
ve veritabanı üzerinde çalışabilir. Açık kaynak kodlu SaaS birkaç faydası vardır ve bunlar aşağıda listelenmiştir: Lisans gerektirmez Düşük uygulama maliyeti Daha az satıcı bağımlılığı Daha fazla taşınabilir uygulamalar Daha güçlü/sağlam uygulamalar Aşağıdaki şeme açık kaynak kodlu SaaS uygulamasını göstermektedir. 13