Etiketler

26 Mayıs 2017 Cuma

Sanal Makina ile Konteyner Arasındaki Fark


Merhabalar

Bu yazımda sizlere sanallaştırma teknolojilerinde sıkça kullanılan hipervizör tabanlı sanallaştırma ile konteyner tabalı sanallaştırma arasındaki farktan bahsetmek istiyorum.


Yukarıdaki şekide görüldüğü gibi;

Sanal makinalarda fiziksel olarak mevcut sunucu üzerinde bir işletim sistemi bulunur, bu işletim sisteminin üzerinde bir hipervizör katmanı ve bu katmanın üzerinde ise oluşturulan sanal makinalar bulunur. (Sanallaştırma ile ilgili ayrıntılı bilgi için tıklayınız.)  Her bir sanal makinanın kendisine ait bir işletim sistemi vardır, her işletim sisteminde kendine ait kütüphaneleri bulunmaktadır. Fiziksel makina üzerinde tamamen birbirinden bağımsız sanal makinalar kurulabilmekte, işletim sistemleri birbirinden farklı şekilde düzenlenebilmektedir. Ancak fiziksel makina ile sanal makina arasında bir hipervizör katmanı bulunduğu için fiziksel makina performansından kayıp yaşanmaktadır ve her sanal makinanın ayrı bir işletim sistemine sahip olması, CPU, RAM ve Disk de ayrıca sürekli kullanılan alan oluşturma, çalıştırılan servis veya iş için performans düşüklüğüne sebep olmakta, ağda gecikmeler meydana gelmektedir.

Konteyner tabanlı sanallaştırma da fiziksel sunucu üzerinde bulunan işletim sistemi üzerinde bir konteyner engine katmanı yer almakta ve bu katman üzerinde konteynerler yer almaktadır. Her konteyner üzerinde bulunduğu fiziksel makinanın kernelini kullanılır. İhtiyaçlara hangi katmana kadar fiziksel sunucunun özellikleri kullanılacağına karar verilebilir yani sanallaştırma katmanı düzenlenebilirdir. İhtiyaca göre direk işletim sistemi üzerine konteyner kurulabileceği gibi, kütüphanelerin ortak kullanılabileceği şekilde de kurulum sağlanabilir. Konteynerların içinde ayrıca bir işletim sistemi yüklü olmadığı için, mevcut CPU, RAM ve Disk çalıştırılan servis yada işe tahsis edilebilir. Fiziksel makinaya yakın performanslı sonuçlar elde edilir, ağda hipervizör tabanlı sanallaştırmaya göre daha az gecikme görülür. Ancak konteynerlar üzerinde bulunduğu fiziksel makinanın işletim sistemini kullandığı için, bütün konteynerlar aynı kernele sahip olmak zorundadır. Yani Linux kurulu bir fiziksel makina üzerine KVM hipervizörü ile Windows sanal makina kurulumu yaparken, windows yada farklı kernel sürümüne sahip linux kurulumu yapamazsınız. Aynı zamanda konteyner tabanlı sanallaştırma da konteynerlar arası ortak kullanım alanlarının fazla olmasından dolayı güvenlik açıklıkları bir miktar daha fazladır. 

I/O işlemlerinin fazla olduğu, latency-sensitive olarak tanımlanan video konferansı gibi uygulamalarda daha performanslı sonuçlar elde edilmesi için konteyner teknolojilerinin kullanılması önerilmektedir.  Microservis mimarisine sahip tasarımlarda servislerin konteynerlar üzerinde çalışması da performans yaklaşımı açısından literatürde tavsiye edilmektedir. 

Kullanılacak senaryoda bir host makinanın üzerine farklı çekirdek sürümüne sahip sanal makina kurulumu ve tamamen izole bir yapı planlanıyorsa hipervizör tabanlı sanallaştırma kullanılması önerilmektedir.

Bu yazımda sanal makinaların ve konteynerların özelliklerinden bahsederek aralarındaki farklara değindim.

Daha sonraki yazımlarımda görüşmek dileğiyle... 



Apache Cordova

Merhabalar


Bu yazımda sizlere, Apache Cordova'dan bahsetmek istiyorum. Apache Cordova; HTML, CSS, JS gibi teknolojileri kullanarak mobil platformlarda yani Android yada iOS da uygulama geliştirmeye olanak veren bir framework'tür.


Apache Cordova'nın mimarisi ile ilgili daha fazla bilgi almak için
yazılarından yararlanabilirsiniz.

Cordova ile Android mobil uygulama denemesine http://devnot.com/2017/cordova-ile-ilk-mobil-uygulamamizi-olusturalim/ adresinden ulaşabilirsiniz.

macOS Sierra üzerinde iOS Mobil Uygulaması

Öncelikle bilgisayarda Node.js ' in yüklü olması gerekmektedir. Bunun için https://nodejs.org/en/ adresinden çoğu kullancını için tavsiye edilen kararlı sürüm yüklenir.

Ardından terminal ekranı açılır ve aşağıdaki komut satırı ile cordova yüklenir.

npm install -g cordova



Yüklenen Cordova ile bir proje oluşturmak için yine komut satırından;

cordova create hello com.example.hello HelloWorld




 komutu ile HelloWorld projesi oluşturulur.

Dahaa sonrasında oluşturulan projeye mobil platformların eklenmesi gerekmektedir.
IOS platformu için;
cordova platform add ios



Android içinde benzer şekilde;
cordova platform add android
komutu kullanılır.

Yüklenen platformların listelenmesi için;
cordova platform ls
komutu kullanılabilir.

Daha sonrasında ise bu platformun ihtiyacı olan bileşenler yüklenir. Bunun için ise;

cordova requirements



macOS de cordova gereklilikleri XCode ve ios-deploy. Bunun için öncelikle AppStore'dan XCode u yüklemelisiniz.
Sonrasında ios-deploy için;

sudo npm install --unsafe-perm=true -g ios-deploy
komutu kullanılır. --unsafe-perm=true komutu ile appStore dışındaki yüklemelere terminal ekranından izin vermek için kullanılmakta, aynı zamanda root yetkisi ile kurulum sağlanmaktadır.




Build işlemi tamamlandıktan sonra; ** BUILD SUCCEEDED ** yazısı görülür.

Buraya kadar yapılan işlemler sırasıyla;

  1. Node.js kurulumu
  2. Cordova kurulumu
  3. Cordova'da proje oluşturma
  4. Cordova projesine mobil platform yükleme
  5. Bu mobil mobil platformun gerekliliklerini yükleme
    1. XCode yükleme
    2. ios-deploy yükleme
olarak sıralanabilir.

Artık geliştirme yapacağımız ortam hazır durumdadır. XCode'da projeyi açmak için terminal ekranından;

open ./platforms/ios/HelloWorld.xcworkspace/
komutu kullanılır.


Buradan mobil uygulamız için emülatörü çalıştırmak için ise, sol üst tarafta bulunan play butonuna tıklanır ve uygulamanın build edilerek emulatör üzerinde çalıştırılması sağlanır. 1 dakikadan az bir sürede emülatör başlamaktadır.



Bu yazımda sizlere Apache Cordova kullanarak macOS makine üzerinde bir iOS uygulaması denemesinden bahsettim. Konu ile ilgili ayrıntılara Zafer Ayan'ın devnot'da bulunan yazı serisinden erişebilirsiniz.
Daha sonraki yazımlarımda görüşmek dileğiyle...

Kaynaklar : 

https://cordova.apache.org/docs/en/latest/guide/platforms/ios/index.html#requirements-and-support
https://cordova.apache.org/docs/en/latest/guide/platforms/ios/
https://github.com/driftyco/ionic-cli/issues/1910
http://devnot.com/2017/cordova-ile-ilk-mobil-uygulamamizi-olusturalim/
http://devnot.com/2017/cordova-ile-hibrit-mobil-uygulamalara-giris/
https://melahatmindivanli.wordpress.com/2016/08/01/apache-cordova-cordova-nedir/

21 Mayıs 2017 Pazar

OpenStack Temel Bileşenleri


Merhabalar

Bundan önceki yazımda sizlere Openstack'ın ne olduğundan bahsetmiştim. Bu yazımda ise Openstack'ın  temel bileşenlerinden bahsedeceğim.



Openstack'de temel olarak 7 tane temel bileşen olduğunu söylemek mümkündür. Bunlar

  • Nova
  • Glance
  • Swift
  • Neutron
  • Cinder
  • Horizon ve 
  • Keystone olarak sıralamak mümkündür. 

Heat, Ceilometer, Trove ve Sahara gibi yardımcı bileşenlerde bulunmaktadır.

Nova (Compute Service)


  • Nova, OpenStack'ın hesaplama servisidir.
  • En temel işlevi yapan bileşendir.
  • OpenStack servislerinde yapılan işlemlerin yaşam döngülerinin hesaplanması, planlanması ve sonlandırılması işlemlerini düzenler.
  • Sanal makinelerin oluşturulmasını ve yönetilmesini sağlar.
  • KVM, XenServer, VMware ESXi ve Microsoft Hyper-V gibi birden fazla hipervizörü destekler.
  • Hipervizör ile doğrudan konuşur, kullanıcıdan gelen sanal makina isteklerini hipervizöre iletir.
  • Sanal makina için gerekli CPU, Memory, Disk ve Ağ tanımlamalarını gerçekleştirir.
  • Aynı zamanda LXC gibi konteynerları da destekler.


Glance (Image Service)


  • Glance, disk ve sunucu imajlarının kaydedilmesi ve yönetilmesinden sorumlu servistir.
  • Glance, imajları OpenStack Swift de dahil olmak üzere çeşitli backend'lere depolayabilir.
  • Depo ve sanal makinaların disk görüntülerini alır ve Nova servisinin bu bilgiyi yapılandırma sırasıdan kullanmasına olanak verir.
  • Sanal makina üzerinde disk (raw, vmdk, qcow2, vdi, vhd) ve sunucu imaj (iso, tar) yönetimini gerçekleştirir.
  • Canlı olarak sanal makina kopyası (snapshot) alınabilir, geriye yüklenebilir, klonlanabilir.
  • Arka planda OpenStack Cinder servisi kullanılarak ilgili disk ve imajlar yetkilendirilebilir.
  • Yönetici ve kullanıcılara yönelik disk şablonu oluşturulabilir, yeniden kullanılabilir.
  • İstenilen sayıda (sistemin yeterli olması koşulu ile) yedek alınabilir, programlanabilir.


Swift (Object Storage)


  • Swift dağıtık yapılandırılmamış verileri işlemektedir.
  • Görüntü, video, sanal makina imajları ve arşivleri saklamak için mükemmel bir platform sunar.
  • Yüksek erişimli, merkezi bir beyin ve kontrol yapısı olmayan, ölçeklebebilir dağıtık ve kısmnen kararlı bir nesne deposudur. Sanal makina içerisindedir ve sanal makina silindiği zaman bu depolama alanı da silinir.
  • Büyük ölçeklidir, yedeklenebilir ve ölçeklenebilirdir.
  • Geleneksel dosya sistemi yapılarına sahip değildir.
  • Obje ve dosyalar buluta dahil olan sunucuların farklı disk veya disk gruplarına yazılabilir.
  • Replikasyon ve bütünlüğü sağlar. Varsayılan da 3 replika özelliği bulunur. İstenilen ölçülerde yeniden yapılandırılabilir.
  • Depolama kümeleri kolaylıkla yatayda büyüyebilir. Erişilemeyen küme elemanlarının yerine farklı elemanlara trafik gönderilir.
  • Swift, yedekleme, arşivleme ve veri saklama için ideal olan, ekonomik, API erişimli, dağıtılmış, yedekli, ölçeklenebilir bir depolama alanı sunar.


Neutron (Networking)


  • Ağ bağlantıları ile diğer OpenStack servislerin bağlantı kurmasına olanak sağlar.
  • Kullanıcı ağlarını ve eklerini tanımlamak için gerekli API'leri sağlar.
  • Birçok popüler ağ sunucularını ve servislerini destekleyen eklenebilir mimariye sahiptir.
  • Sanal makinaya kendisinin yönettiği DCHP servisinden IP ataması yapar.
  • Open vSwitch veya LinuxBridge yönetimini yapar.
  • Public IP (Floating IP) ataması yapar.
  • Farklı VLAN'lar arası trafik geçişini routing işlemlerini yapar. Layer-2 ve Layer-3 de subnet tanımlamalarını gerçekleştirir.
  • Kullanıcıdan gelen IP ve filtreleme isteklerini gerçekleştirir.
  • Yazılımlı tanımlı ağlar ile entegrasyonu destekler.


Cinder (Block Storage)


  • Sistemde varolan veya açılmak üzere olan sanal makinalara sanal depolama alanı (disk) sağlar.
  • Openstack'ın Nova hesaplama servisi ile tamamen entegredir.
  • Bu depolama alanı sanal makina içerisinde yer almayan, ayrı bir alanda oluşturulup sanal makinaya bağlanan bir depolama alanıdır ve aynı zamanda çalışır durumdaki sanal makinalar için blok depolama alanı sağlar. Harici hard disk gibi düşünülebilir. Bu sayede sanal makina silindiği zaman bu depolama alanları silinmez ve veriler korunmuş olur.
  • Sistemde varolan veya yeni açılmak üzere olan sanal makinalara ekstra disk sağlar.
  • Kullanıcıların arayüz üzerinden disk oluşturma, kaldırma gibi işlemlerini gerçekleştirir.
  • Bilinen birçok depolama marka ve modeli destekler.
  • Blok depolama performansına ihtiyaç duyan servisler (veritabanı vb) için ideal disk alanı sağlar.
  • Kullanıcı sanal makina üzerinden istediği dosya formatında diski kullanabilir.
  • Veritabanı gibi anlık verileri tutan blok depolama birimlerini güvenli bir şekilde yedekleyebilir, canlı olarak geri yükleme yapabilir.


Heat (Orchestration)


  • Uygulama geliştiricilerin veya sistem uzmanlarının kullanabileceği şablon odaklı çalışan bir servistir.
  • API'leri kullanarak Openstack için birden fazla ve birbirinden farklı bulut uygulamalarını yönetir.
  • Otomatik büyüme, ölçeklendirme için çalışır.


Ceilometer (Telemetry)


  • Openstack bulut hesabının kullanım ve performans verilerini görüntülemek ve ölçmek için kıyaslama, ölçekleme ve  istatistiksel hesaplama işlemlerini sağlar.


KeyStone (Identity)


  • Diğer Openstack hizmetleri için kimlik doğrulama ve yetkilendirme hizmeti sunar.
  • Tüm Openstack hizmetleri için uç noktaların (endpoint) bir katalogunu sunar. 
  • Yetkilendirme çerçevesinin çizilmesini sağlar ve kullanıcı haklarını ve projelerdeki kimlik kontrolünü sağlar.


Horizon (Dashboard)


  • Web arayüzünü aktif ederek yönetici ve kullanıcılar için Openstack kaynak ve hizmetlerini yönetmeyi sağlar.
  • Kullanıcıdan gelen istekleri ilgili bileşen servisine çağrı yaparak, asekron bir şekilde gerçekleştirir.
  • Çoklu projelerin bulunduğu mimari yapılarda farklı arayüz seçenekleri ve kullanıcı yetkilendirmesi (hakların düzenlenmesi, kısıtlanması) işlemleri gerçekleştirilebilir.




Bu yazımda Openstack temel bileşenlerinden ve bileşenlerin temel özelliklerinden bahsettim.

Herkese kolay gelsin... 

OpenStack Nedir ?



Merhabalar

Bu yazımda sizlere OpenStack'den bahsedeceğim. Ancak OpenStack den önce sanallaştırma ve bulut bilişim kavramlarına hakim olmak gerekmektedir. Bu konularla ilgili bilgilere daha önceki yazılarımdan ulaşabilirsiniz.



Openstack, veri merkezlerinde yüksek hesaplama, depoma ve ağ kaynaklarının yönetimini ve kontrolünü sağlamak amacıyla tasarlanan; IaaS modelinde bulut bilişim hizmeti vermek üzere oluşturulmuş ücretsiz ve açık kaynak kodlu bir hizmettir.

Tarihçe


Temmuz 2010 - Rackspace başlangıçta tam dağıtık nesne depolama yazılımı olarak açık kaynak kodlu bir platform oluşturmuştur.
Ekim 2010 - Openstack projesi başlatıldı.
Ocak 2011 - NASA tarafından Nebula adı verilen bir hesaplama platformu oluşturulmuştur.
Eylül 2012 - Openstack Foundation kuruldu. 

Temel Özellikler

  • Açık kaynak kod ile geliştirilmiştir. Apache lisansı ile lisanslıdır.
  • Python ve Django programlama dilleri ile yazılmıştır.
  • Geliştirme süreçlerinde şeffaf ve açık bir yönetim biçimi bulunmaktadır ve geri bildirimlere önem verilmektedir.
  • Diğer bulut teknolojilerinde olduğu gibi otomatik ölçeklendirilme yapılabilir ve büyüme senaryoları rahatlıkla uygulanabilmektedir. 
  • Sistem yöneticileri bulut sistemi üzerinde tam yetki ile istenilen şekilde yönetim yapabilmektedirler. 
  • Açık, özel ve karma bulut modellerinde çalışabilmektedir.
  • Openstack bütün bulut türlerini desteklemektedir ve ölçeklenebilir, yönetim kapasitesi yüksek platformlar oluşturulmasına olanak sağlamaktadır.
  • Openstack birbirleriyle ilişkili servisler kullanarak alt yapı hizmeti için çözüm sunmaktadır.
  • Her servis birbiriyle entegrasyonu kolaylaştıran (API) uygulama arayüzüne sahiptir.
  • İhtiyaçlara göre servislerin bir kısmı yada tamamı yüklenebilir.
  • Her 6 ayda bir sürüm çıkmakta ve bu sürümdeki gelişmeler ile ilgili Openstack Summit düzenlenmektedir.

Kimler Kullanıyor ? 

  • Openstack'i Rackspace, Canonical, Nasa, Dell, Cisco gibi bir çok kurum ve kuruluş kullanmaktadır.
  • Eylül 2015 deki Forrester Araştırmasında OpenStack için Özel bulut için baskın platform tanımlaması kullanılmıştır.
  • Fortune 100 listesindeki BMW, Disney ve WallMart gibi firmalar OpenStack kullanmaktadır.




Neden OpenStack ? 

  • Esneklik, düşük maliyet ve açıklık sağlar. 
    • Bulut sistemindeki yapılar ihtiyaçlar doğrultusunda istenildiği gibi esnek bir şekilde düzenlenebilir, düşük maliyetle ihtiyaçlar karşılanabilir.
  • Openstack ortamında canlı bir topluluk mevcuttur. IRC kanalları üzerinden ve e-posta grupları üzerinden destek alınabilmekte, iletişim içerisinde olunabilmektedir.
  • Online kullanım ve kurulum dökümanları mevcuttur.
  • Standart veya commodity donanımla çalışılabilir, özel bir donanıma yada bunun özel bir satıcısına gerek yoktur.
  • Yatay ölçeklendirme ile birçok erişilebilirlik bölgesi tanımlanabilir, rol tabanlı yönetim sağlanabilir.

Bu yazımda OpenStack'in ne olduğunu genel bir çerçeve çizerek anlatmaya çalıştım. Bundan sonraki yazım olan  OpenStack temel bileşenlerinde görüşmek üzere.

Herkese iyi pazarlar...

20 Mayıs 2017 Cumartesi

Bulut Bilişim

Merhaba Arkadaşlar

Bundan bir önceki yazımda sanallaştırmadan bahsetmiştim.  Bu yazımda da sanallaştırma teknoloji ile beraber ortaya çıkan 'Bulut Bilişim' den bahsedeceğim.


Bulut bilişim internet üzerinden bir hizmet platformu ile kullandığın kadar öde ücretlendirme modeli ile hesaplama (compute) gücü, veri depolama, uygulama ve diğer bilişim teknolojileri kaynaklarının talep üzerine bir hizmet olarak sunulmasıdır.

Avantajları :

  • Düşük maliyet olanağı sağlar. Her firma kendisi veri merkezi kurmak zorunda değildir. Bunu hizmet olarak başka bir servis sağlayıcısından alarak sunucu, elektrik gibi masraflarla uğraşmasına gerek kalmaz.
  • Esneklik ve Verimlilik sağlar. İhtiyaçlar doğrultusunda kullanılan kaynak çok büyük rahatlıkla arttırılabilir yada azaltılabilir. Bu da kaynakların verimli kullanılmasına olanak sağlar.
  • Paylaşım ve İş Birliği imkanı sağlar. Bulut kullanıcılarının işbirliğini artıracak ve bilgi paylaşımını sağlayacak yönde yazılım ve servisler geliştirmelerine olanak sağlar.
  • Erişim Kolaylığı sağlar. İnternet üzerinden güçlü işlem ve depolama kaynaklarına hızlıca ulaşılabilir.
  • Çevre Dostudur, fiziksel sunucuların kullanımına göre enerji tasarrufu sağlar.

Dezavantajları : 

  • Erişim problemleri yaşanabilir. Bağlantı internet ile sağlandığı için internette yaşanacak sorunlar sistemleri kullanma konusunda problem oluşturur.
  • Güvenlik açıklıkları her sistemde olduğu gibi bulut sistemlerinde de mevcuttur. 
  • Veri denetlenebilirliği, uygunluğu ve yasal düzenlenmeler bulut servisi alınan servis sağlayıcısının bulunduğu konuma göre çeşitlilik gösterebilir. Bu konuda detaylı araştırma yapılmalıdır.

Bulut Türleri


Bulut türleri; açık bulut, özel bulut, topluluk bulutu ve karma bulut olarak 4'e ayrılmaktadır.












Açık Bulut :


Bir hizmet hizmet sağlayıcısı tarafından sağlanan çok kiracılı, bulut sunucuları ile bulut sisteminin anı konumda olmadığı sistemlerdir. Herkese açık bulutlardır. 

Özel Bulut:

Özel bulutlar, bulut sunucularının bulut sistemini kullananlar ile aynı konumda olduğu, sistemi kullanlara özel bir kurulum yapıldığı durumdur. Örnek olarak bir bankanın yada belediyenin kendi bulut sistemini kullanması gösterilebilir.

Topluluk Bulutu:

Topluluk bulutu ise özel bulutun birden fazla topluluk yada kurum-kuruluş tarafından kullanılmasıdır. Örneğin bir bulut sistemini 3 bankanın bir arada kullanması yada belediyelerin kamu bulutu olarak ortak bir bulut sistemi kullanmasıdır.

Karma Bulut:

Karma bulut sistemleri ise açık ve özel bulut sistemlerinin hatta topluluk bulut sistemlerinin bir arada kullanıldığı bulut sistemleridir. 
Örneğin bir banka büyük veri olarak adlandırılan verilerini bir bulut hizmeti alarak açık bulutta saklamakta ancak e-posta sunucusunu kendi sunucu odasındaki bulut sisteminde kurmak isteyebilir. Bu durum karma bulut kullanımına örnek olarak verilebilir. 


Bulut Hizmet Modelleri







Bulut bilişimde verilen hizmetler 3 ana başlık altında incelenebilir.

IaaS - Infrasture as a Service : Alt yapı hizmeti.
PaaS - Platform as a Service : Platform Hizmeti
SaaS - Software as a Service : Yazılım Hizmeti


IaaS : Donanım kaynakları harici bir servis sağlayıcı tarafından sağlanır ve hizmet alan müşteriler için yönetilir. Örneğin, AWS (Amazon Web Service), Rackspace Cloud, Google Compute Engine, OpenStack.

PaaS : Donanım kaynaklarına ek olarak işletim sistemi katmanı da servis sağlayıcı tarafından yönetilir. Uygulama geliştiricilerin uygulamalarına odaklanmalarına olanak sağlar, onların alt yapı ile ilgilenmelerine veya alt yapı ihtiyaçlarını güncellemek için efor harcamalarına gerek kalmaz. Örneğin, Google App Engine, Redhat Openshift, Heroku, Cloud Foundry, Pivotal.

SaaS : Diğer iki modele ek olarak uygulama katmanı da servis sağlayıcısı tarafından yönetilir. Arka tarafta yapılan işlemler kullanıcıları ilgilendirmez, uygulamayı rahatla kullanabilirler. Örneğin, Dropbox, Office 365, Salesforce, Gmail.





Bu yazımda sizlere bulut bilişimin ne olduğundan, bulut türlerinden ve bulut hizmet modellerinden bahsetmeye çalıştım. 

Bundan sonraki yazılarımda görüşmek üzere.

Kolay gelsin herkese :) 

19 Mayıs 2017 Cuma

Sanallaştırma

Merhabalar 

Uzun bir ara verdiğim blogumda yazı yazma işlerine yeniden başlıyorum. Son zamanlarda ilgilendiğim bulut teknolojileri ile ilgili bir yazı serisi yazmayı planlıyorum. Bu yazımda size hikayenin başlangıcı olan sanallaştırmadan bahsedeceğim.



  Digitalleşen dünyada insanların çoğunuluğunun bilgisayarla, telefonla, internetle bir şekilde bir etkileşimi bulunmaktadır. Gittikçe artan yaygın kullanım bilişim alanındaki ihtiyaçları da her geçen gün arttırmaktadır.  Kullanılan depolama sistemleri, kullanılan ağ yapıları donanımsal olarak talepleri karşılamaktada yetersiz kalmakta, esnek olmayan bir yapı oldukları için yönetilmeleri de zordur. Bu yüzden sanallaştırma kavramı ortaya çıkmıştır.

Sanallaştırma 


Fiziksel kaynakların (CPU, bellek, ağ yapıları vb) mantıksal bir katmanda ayrılarak, birden fazla
sanal düğüm (nod) yada makina olarak çalışmasına olanak veren, donanımların daha esnek ve daha verimli hale gelmesine olanak veren bir çözümdür.

Mevcut bulunan fiziksel donanımın sanal makineler yardımıyla çok daha verimli kullanılabilmesini sağlayan, çeşitli yazılım ve donanım bağımlılıklarını ortadan kaldıran, bu sayede de yeni ürün ve servis geliştirme maliyetlerinde büyük tasarruflar sağlayan yazılım çözümüdür. Çözümde kullanılan sanal makinanın tanımı ilk defa Popek ve Goldberg tarafından “gerçek makinenin etkili, soyutlanmış bir kopyasıdır” şeklinde yapılmıştır.


Kısaca sanallaştırma, kullanıcıların donanımlarını daha verimli halde, daha esnek, daha yönetilebilir olarak kullanmasına olanak sağlayan teknolojidir.


Var olan donanım üzerine bir sanallaştırma katmanı (hipervizör) yerleştirilerek, mantıksal olarak istenildiği boyutlarda parçalanan fiziksel kaynaklar üzerine gibi farklı işletim sistemlerine sahip sanal makinalar kurulabilir. Hipervizor sanal makinaların üzerinde bulunduğu katman olarak tanımlanabilir. Hipervizör olarak KVM, Xen, Hyper-V vb kullanılabilir. 

Avantajları : 

  • Toplam maliyeti azaltır.
  • Esneklik sağlar.
  • Ölçeklenebilir.
  • Kolay yönetilebilirdir.
  • Dolay kolay yedekleme sunar.
  • Felaket kurtarma durumlarında etkin kullanılabilir.
  • Uygulamaların daha hızlı ayağa kaldırılması için ortam sunar.
  • IT operasyonlarının daha verimli hale getirilmesini sağlar.



Dezavantajları : 
  • Donanımlar sanallaştırmaya uygun olmayabilir.
  • Sanallaştırma yazılımlarının kullanılması ve yönetilmesinin öğrenilmesi yada eleman ihtiyaçı meydana gelmektedir. 
  • Yazılım lisanslarının sanallaştırmalar üzerinde nasıl kullanılacağı konusuna dikkat edilmelidir.

Bu yazımda sanallaştırmanın tanımından, yapısından, avantajlarından ve dezavantajlarından bahsettim. 
Bir sonraki 'Bulut Bilişim' başlıklı yazımda görüşmek üzere...