Bulutun yapı taşları
- 25 dakika
Bulut bilişim, bilgi işlem kaynaklarının ağ üzerinden hizmet olarak kullanılmasını sağlar. Bulutta sunulan hizmet modellerini incelemeden önce bulut hizmetlerini oluşturmak için gerekli olan farklı donanım ve yazılım katmanlarına göz atmamız gerekir. Her hizmet farklı gereksinimlere sahip olabilir ve bu nedenle bazı bulut kullanıcıları yalnızca üzerinde uygulama geliştirecekleri ham altyapıya erişmek isteyebilir. Diğer kullanıcılar altyapıyla uğraşmak istemeyebilir ve istekleri yalnızca kullanımı kolay bir platform kullanarak uygulama geliştirip dağıtmak olabilir. Bulut hizmeti sağlayıcıları, bu farklı gereksinimleri karşılamak için tekliflerini soyut katmanlara ayırmıştır.
Bulutun yapı taşları
Burada tipik yapı taşlarını anlatarak buluttaki soyut yığını inceleyecek ve bunların bulut bilişimdeki üç hizmet modeliyle olan bağlantılarını ele alacağız. Bulut bilişimde dört temel yapı taşı vardır. Bunlar uygulama yazılımı, geliştirme platformları, kaynak paylaşımı ve altyapıdır (Şekil 7). Altyapı, bir veri merkezindeki fiziksel kaynakları kapsar. Kaynak paylaşma katmanı genellikle fiziksel kaynakların belirli bir yalıtım düzeyinde paylaşılmasını sağlayan yazılım ve donanım tekniklerini kapsar. Geliştirme platformları, bulut uygulaması geliştirmek için kullanılır.
Şekil 7: Bulut bilişim yapı taşları
Uygulama yazılımı: Yığındaki en üst katman, normalde son kullanıcının kullandığı sistem bileşeni olan uygulama yazılımıdır.
Geliştirme platformları: Sonraki katman olan geliştirme platformları, uygulama geliştiricilerinin bir bulutun uygulama programlama arabirimi (API) açısından uygulama yazılımı yazmasına olanak tanır. Geliştirme platformları genellikle geliştiricilerin yordamlar, veri yapıları, nesne sınıfları, kitaplıklar ve değişkenler için kullanabileceği belirtimleri sağlar.
Kaynak paylaşımı: Üçüncü katman olan kaynak paylaşım mekanizmaları bazı önemli bulut fikirlerini kapsar:
- Yazılım, hesaplama, ağ ve depolama hizmetleri sunma.
- Birden çok donanım görüntüsünün (sanal makineler gibi) ve sistem görüntülerinin (genel amaçlı işletim sistemleri gibi) güvenlik, kaynak ve hata yalıtımı özellikleriyle tek bir altyapı üzerinde yan yana çalıştırabildiği paylaşılan bir ortam sağlama. Bu yalıtım özellikleri, ilerleyen bölümlerde anlatılacak olan donanım ve yazılım tekniklerinin birleşimiyle sağlanır.
- Fiziksel sunucuları, daha az sayıda fiziksel sunucuda çalışan sanal sunucular halinde birleştirme.
- Kullanıcıların kaynak ve hizmet taleplerine hızla yanıt vermek için çeviklik ve esneklik sunma.
Bu fikirler genellikle sonraki modüllerde anlatılacak olan sanallaştırma teknolojisiyle gerçekleştirilir.
Altyapı: Fiziksel kaynaklar alt katmanı oluşturur ve bulut bilişimde öncelikli olarak bulut sağlayıcısının tarafında dağıtılır. Geniş kaynak sınıfları şunları içerir:
- Genellikle kurumsal bilgi işlem için tasarlanmış bilgisayarlar (kullanıcı iş istasyonları değil) olan sunucular gibi işlem kaynakları. Bunlar genellikle alanı verimli bir şekilde kullanmak için rafa monte edilir.
- Bulut verilerinin tutulduğu depolama kaynakları. Uygulama depolama alanları genellikle kapasite kullanımı üzerinden (örneğin, gigabayt veya terabayt başına) ücretlendirilir.
- Ağ kaynakları hem sunucuların kendi arasındaki hem de sunucular ve istemciler arasındaki iletişimi sağlar.
- İşlem, ağ ve depolama altyapısını yöneten yazılım.
Bir sonraki bölümde bu soyutlamalardan hangilerinin ağ üzerinden kiralanan hizmet olarak sağlanabileceğini inceleyeceğiz. Örneğin bir yazılım geliştiricinin ihtiyaç duyacağı hizmetler ve kaynaklar, bulutta çalışan bir web postası uygulamasına erişmek isteyen kullanıcının ihtiyaç duyacağı kaynaklardan farklı olacaktır.
Bulut bilişim hizmetleri
Bulut hizmetleri genellikle kullanıcıların gereksinimlerine göre farklılık gösterir. Bu bölümde, üç popüler bulut hizmeti türünü inceleyeceğiz:
- Hizmet Olarak Yazılım (SaaS)
- Hizmet Olarak Platform (PaaS)
- Hizmet olarak altyapı (IaaS)
SaaS, son kullanıcının ağ üzerinden bir yazılım uygulamasına erişim sağladığı ve farklı iş modellerine göre ödeme yaptığı (bazen ücretsiz kullandığı) uygulamalardır. PaaS, SaaS uygulamalarını geliştirmek için kullanılan, hizmet olarak yazılım geliştirme platformlarıdır. Son olarak IaaS, sanallaştırılmış altyapının ağ üzerinden kiralanmasıdır. Bu son modelde son kullanıcı, kiraladığı altyapıya sahip olduğu herhangi bir yazılımı yükleyip kullanma esnekliğine sahiptir.
Aşağıdaki videoda bu hizmetler incelenmektedir:
SaaS modeli
Hizmet Olarak Yazılım (SaaS)
(tanım) Hizmet olarak yazılım (SaaS), yazılım ve ilişkili verilerin bulutta barındırıldığı bir yazılım teslim modelidir. Kullanıcılar, SaaS uygulamalarına genellikle bir web tarayıcısı aracılığıyla ve ince bir istemci kullanarak erişim sağlar.
Bulut sağlayıcısının yazılımı internet olarak sunduğu SaaS, en yaygın bulut hizmeti modellerinden biridir. Bu senaryo aşağıdaki videoda açıklanmıştır. SaaS kullanıcıları yazılıma sadece tarayıcılarını kullanarak erişebilir. Bu sayede uygulamayı bilgisayarlarına yükleme, çalıştırma ve bakımını yapma (güncelleştirme, düzeltme eki uygulama, yeniden yapılandırma gibi) gereksinimi ortadan kalkmış olur. Web tarayıcısı, SaaS uygulama hizmetini dinamik ve şeffaf bir şekilde yükler.
SaaS muhasebe, iş birliği, müşteri ilişkileri yönetimi (CRM), yönetim bilgi sistemleri (MIS), kurumsal kaynak planlama (ERP), faturalandırma, insan kaynakları yönetimi (HRM), içerik yönetimi (CM) ve hizmet masası yönetimi gibi birçok iş uygulaması için yaygın kullanılan yazılım teslim modeli haline gelmiştir.
SaaS modelinde yazılımın ve çalışması için gerekli olan altyapının bakımı sağlayıcı tarafından yapılır. Sağlayıcı yazılımı düzenli olarak geliştirir ve yenilikler, kullanıcı hizmete giriş yaptığında otomatik olarak sunulur. Ayrıca hizmetin kullanılması sonucunda elde edilen uygulama verileri bulutta kalır ve kullanıcı bu verilere her yerden erişebilir.
SaaS modelinin özellikleri
Çoğu SaaS çözümü, çok kiracılı mimari olarak adlandırılan bir sistem üzerine kurulur. Bu mimaride her müşteri (kiracı olarak adlandırılır) için uygulamanın tek bir sürümü, tek bir yapılandırmayla birlikte kullanılır. İyi bir şekilde ölçeklendirilmesini sağlamak için hizmet, sağlayıcı tarafında birden fazla sunucuya yüklenmiş olabilir. Hizmet daha popüler hale geldikçe daha fazla kullanıcıya ulaşmak için dinamik ölçeklendirme kullanılır.
SaaS modelinin tipik özellikleri şunlardır:
- Yazılım hizmetlerine web üzerinden erişim sağlanır.
- Yazılım, bulut sağlayıcısı tarafından ve tek bir merkezden yönetilir.
- Yazılım bire çok modeli kullanılarak teslim edilir ve burada "bir" bulut sağlayıcısı, "çok" ise bulut kullanıcılarıdır.
- Yazılımı yükseltme ve düzeltme eki uygulama işlemleri bulut sağlayıcısı tarafından gerçekleştirilir.
SaaS fiyatlandırma modelleri
Yazılım lisanslama modeliyle (peşin lisans maliyeti ve isteğe bağlı sürekli yazılım ücreti) satılan geleneksel yazılımlardan farklı olarak SaaS sağlayıcıları uygulamaları genellikle aylık veya yıllık abonelik ücreti karşılığında sunar. Bu model, SaaS'ların bulut bilişimin temel avantajlarından birini gerçekleştirmesini sağlar: Sermaye harcamasını veya peşin yazılım maliyetini azaltma. SaaS sağlayıcıları genellikle uygulamayı kullanan kullanıcı sayısı gibi kullanım parametrelerine göre ücretlendirme yapar.
SaaS kullanım örnekleri
SaaS, belirli uygulama türleri için iyi bir modeldir, örneğin:
- Oldukça standartlaştırılmış ve özel çözüm gerektirmeyen uygulamalar. E-posta, oldukça standartlaştırılmış uygulamalara iyi bir örnektir.
- Mobil satış yönetimi yazılımı gibi uzaktan/web üzerinden/mobil erişim gereksinimi yüksek olan uygulamalar.
- Belirli bir proje için iş birliği yazılımı gibi kısa süreli ihtiyaç duyulan uygulamalar.
- Ayda bir kez kullanılan vergi veya faturalandırma yazılımları gibi ani talep artışları yaşanan uygulamalar.
Ancak SaaS modelinin doğru seçim olmayabileceği durumlar da vardır, örneğin:
- Verilere çevrimdışı erişim sağlanmasını gerektiren uygulamalar.
- Önemli ölçüde özelleştirme yapılmasını gerektiren uygulamalar.
- İlkeler veya yönetmelikler çerçevesinde verilerin şirket dışında barındırılmasının yasak olduğu uygulamalar.
- Mevcut şirket içi çözümlerin tüm kuruluş ihtiyaçlarını karşıladığı uygulamalar.
SaaS örnekleri
Web postası SaaS modelinin en eski örneklerinden biridir. Web postası sayesinde kullanıcılar bir tarayıcı ve internet bağlantısı ile e-postalarına diledikleri yerden ve diledikleri zaman erişebilir. Outlook, Yahoo Mail ve Gmail gibi hizmetler oldukça popülerdir. Bu hizmetlerden bazıları "freemium" modelini kullanır ve bu bağlamda temel hizmetler ücretsiz olarak sunulurken abonelik karşılığında daha gelişmiş özellikler elde edilebilir. Ayrıca sağlayıcılar, hizmeti kullanan kullanıcılara gösterilen reklamlar sayesinde gelir elde eder.
Bir diğer popüler SaaS örneği de Microsoft 365 gibi kullanıcıların belgeleri çevrimiçi olarak oluşturmalarına, düzenlemelerine ve paylaşmalarına imkan tanıyan ofis paketleridir.
PaaS modeli
Hizmet Olarak Platform (PaaS)
(tanım) Hizmet olarak platform (PaaS), temel alınan yazılım ve altyapılardan herhangi birini satın alma ve bakımını yapma karmaşıklığı olmadan web uygulamalarının basitleştirilmiş bir şekilde oluşturulmasını sağlayan bir bilgi işlem platformudur.
PaaS tabanlı teklifler, kullanıcıların bulut sağlayıcıları tarafından sunulan platformlarda uygulama geliştirmesine, dağıtmasına ve ölçeklendirmesine olanak tanır. PaaS, SaaS modeline benzer ancak web üzerinden sunulan yazılımlar yerine, web üzerinden teslim edilen yazılımın oluşturulmasına yönelik bir platformdur.
PaaS modelinin özellikleri
PaaS teklifleri sağlayıcılara göre değişiklik gösterir ancak aşağıdakiler gibi bazı temel işlevler genellikle aynıdır:
- Uygulama geliştirme, test etme, dağıtma, barındırma ve bakımını yapma hizmetleri aynı tümleşik geliştirme ortamı (IDE) içinde bulunur.
- Farklı kullanıcı arabirimi senaryoları oluşturmaya, değiştirmeye ve test etmeye yönelik web tabanlı kullanıcı arabirimi oluşturma araçları.
- Birden fazla eşzamanlı kullanıcının aynı geliştirme araçlarını kullandığı çok kiracılı mimari.
- Yük dengeleme ve yük devretme mekanizmaları dahil olmak üzere bulut sağlayıcısı tarafından otomatik olarak işlenen dağıtılan yazılımlara yönelik yerleşik ölçeklendirme mekanizmaları.
PaaS fiyatlandırma modelleri
SaaS fiyatlandırma modelinden (abonelik veya reklam tabanlı model) farklı olarak PaaS genellikle platform kullanım miktarı üzerinden fiyatlandırılır. Örneğin, Azure İşlevleri'nin fiyatlandırma modeli toplam yürütme sayısı ve yürütme süresi için ücretlendirilir. Sonuç olarak PaaS kullanılarak geliştirilmiş bir uygulama ne kadar fazla kullanılırsa PaaS geliştiricisinden o kadar çok ücret alınır.
PaaS kullanım örnekleri
PaaS, belirli uygulama türleri için iyi bir modeldir, örneğin:
- Hızlı uygulama geliştirme senaryoları.
- Kullanıcılardan gelen farklı yükleri işleyecek web tabanlı altyapı gerektiren uygulamalar.
- İleride başka bir platforma yeniden dağıtılması veya geçirilmesi söz konusu olmayacak olan uygulamalar.
PaaS modelinin ideal olmayabileceği bazı senaryolar da vardır, örneğin:
- PaaS sağlayıcıları tarafından sunulan PaaS API'leri değişebileceğinden uygulamanın barındırıldığı yer açısından son derece taşınabilir olması gerektiği durumlarda.
- Bir satıcıya bağlı kalma nedeniyle özel dillerin veya API'lerin ileride geliştirme sürecini etkileyebilecek veya sorun çıkarabilecek olması durumunda.
- Uygulama performansı, temel alınan donanımın ve yazılımın özelleştirilmesini gerektirdiğinde.
PaaS örnekleri
Azure İşlevleri, PaaS modeline bir örnektir. Geliştiriciler, Azure İşlevleri'ni kullanarak Azure altyapısı üzerinde küçük kod parçacıkları çalıştırabilir. Bu sayede altyapı konusunda endişelenmelerine gerek kalmaz.
IaaS modeli
Hizmet olarak altyapı (IaaS)
(tanım) Hizmet olarak altyapı (IaaS), bulut sağlayıcılarının genellikle örnekler veya sanal makineler biçiminde bilgi işlem kaynaklarını istemcilerin kullanımına sunacağı bir bulut bilişim modelidir.
IaaS modelinde sağlayıcılar, işlem kaynaklarını yapılandırılabilir CPU, bellek, disk ve ağ bant genişliğine sahip örnekler veya sanal makineler olarak kiralar. Sağlama işleminin ardından IaaS kullanıcıları bu örneklere uzaktan bağlanabilir ve istedikleri platformları ve uygulamaları yapılandırabilir. Bu model, yazılım geliştirme dağıtım açısından IaaS kullanıcılarına en fazla esneklik sunan modeldir. Kullanıcılar sunucu, yazılım, veri merkezi alanı veya ağ ekipmanı satın almak yerine bu kaynakları kiralayarak istedikleri zaman tamamen dış kaynaklardan oluşan bu hizmeti kullanabilirler.
IaaS modelinin özellikleri
IaaS aşağıdaki özelliklere sahiptir:
- İşlem kaynakları IaaS kullanıcılarına hizmet olarak sağlanır.
- IaaS sağlayıcıları, IaaS kullanıcılarının kaynakları dinamik olarak ölçeklendirmesine imkan tanıyan araçlar sunar.
- IaaS sağlayıcıları genellikle farklı maliyetlerde sunulan farklı kaynak tekliflerine sahiptir ve hizmet fiyatlandırma modeli kullanır (genellikle saatlik olarak hesaplanır).
- Aynı fiziksel kaynaklar birden çok kullanıcı arasında paylaşılır.
IaaS fiyatlandırma modelleri
SaaS fiyatlandırma modelinden (abonelik veya reklam tabanlı model) veya PaaS modelinden (genellikle işlem sayısı veya kullanılan bant genişliği ya da depolama alanı cinsinden fiyatlandırılır) farklı olarak IaaS genellikle örnek başına ve saatlik olarak fiyatlandırılır. Örneğin Azure Sanal Makineler farklı işlem, bellek, depolama alanı ve bant genişliği değerlerine sahip sanallaştırılmış işletim sistemi örnekleri halinde çok farklı işlem kaynakları sunar.
Bulut sağlayıcıları ayrıca eşit dağıtılmış veya eşit dağıtılmamış düzene göre ödeme yapabilirler. Eşit dağıtılmış düzende bir saatin altındaki süreler kısmi olarak faturalandırılırken eşit dağıtılmamış düzende bir saatin altındaki süreler bir saat olarak faturalandırılır. Bu fark, IaaS kullanıcılarının hızlı işleme için kısa bir süre boyunca çok sayıda örneğe ihtiyaç duyduğu durumlarda önemli hale gelir.
IaaS kullanım örnekleri
IaaS kullanımı birkaç durumda mantıklıdır:
- Bilgi işlem kaynaklarına yönelik talepler geçici olduğunda. Örneğin e-ticaret siteleri en yüksek taleple indirim dönemlerinde karşılaşır.
- Şirket içinde altyapı kurmak için yatırım sermayesine sahip olmayan yeni kuruluşlar için.
- Kuruluşların BT kaynaklarını hızla büyütmeye ihtiyaçları olduğunda (internet startup'ları gibi).
- Geçici projeler veya geçici altyapı ihtiyaçları için (kuruluşlar sınırlı bir süre için yüksek miktarda işlem gücüne ihtiyaç duyduğunda).
IaaS şu durumlarda en iyi seçenek olmayabilir:
- Mevzuat uyumluluğu nedeniyle verilerin ülke dışında barındırılmasına izin verilmediğinde.
- Uygulamalar katı hizmet kalitesi (QoS) gereksinimlerine sahip olduğunda.
- Kuruluşlar BT ihtiyaçlarını karşılamak için şirket içinde özelleştirilmiş altyapıya sahip olduğunda.
IaaS örnekleri
Büyük bulut sağlayıcılarının hepsi IaaS ürünleri sunmaktadır. Azure Sanal Makineler, dünyanın dört bir yanına dağılmış çeşitli veri merkezlerindeki örnekleri kiralar. Kullanıcılar düşük bellekli, tek CPU ile donatılmış sanal makinelerden (saatlik ücreti birkaç senttir) çok çekirdekli, yüksek performanslı, GPU hızlandırmalı örneklere (saatlik ücreti birkaç ABD dolarıdır) kadar farklı örnek türleri arasından seçim yapabilir.