Sanallaştırma ve Konteyner Teknolojisi

Bugünlerde sanallaştırma ve konteyner teknolojileri hakkında etrafta oldukça fazla bilgi var. Bu kavramlara basit olarak bir açıklama getirmek ve konuyu merak edenlere bir başlangıç noktası sunmak isteriz. 

Sanallaştırma 

İki tip sanallaştırma vardır. Tip 1 donanım ile arasında herhangi bir katman olmadan donanımın hypervisor özelliği kullanılarak bir sanallaştırma ve tip 2 ise host işletim sistemi üzerinde kullanılarak sanallaştırmadır.

Tip 1Tip 2
DonanımDonanım
Sanallaştırma (Hipervior)işletim Sistemi
Sanal MakinelerSanallaştırma (Hypervisor)
Sanal Makineler

Sanallaştırma, sadece bir işletim sisteminin izolasyonunu sağlayarak sanallaştırma gerçekleştirmez. Yanında gerekli olan disk, network gibi donanımların sanallaştırmasını da gerçekleştirerek sanallaştırma işlemini yapar. Bunu yapan şey ise yukarıda gördüğünüz Sanallaştırma (hypervisor) katmanıdır.

Tip 1 sanallaştırma piyasada en çok kullanılan sanallaştırma türü olarak kendini kanıtlamıştır. Donanım ile arasında herhangi ek bir katman olmadığı için çok hızlı çalışır. Tip 2 sanallaştırma ise daha çok son kullanıcının kullandığı sanallaştırma çeşididir.

Tip 1Tip 2
KVMVirtualBOX
Citrix XENServerVMware Player
VMware vShpere
VMware EsXi

Not: Ürün isimleri kesinlikle reklam veya tavsiye vermek amacı ile değil, sadece örnek vermek amaçlı kullanılmıştır.

Konteyner

Konteynerler, hypervisorler kadar eski bir teknoloji değil. Docker bu kadar ünlü olmadan önce LXC (Linux Containers) servisleriyle Docker’ın yaptığı çoğu işi yapabiliyorduk. Zaten Docker’da DotCloud olarak ilk ismine sahip LXC’ye yapılmış eklentilerden ibaretti. Peki ‘Docker, LXC’nin yapamadığı ne yaptı da bu kadar ünlü oldu ?’ derseniz, bu sorunun cevabını aşağıdaki listede bulabilirsiniz :

  • Kullanım kolaylığı

  • Kararlılık

  • Çoklu platform desteği

  • Versiyonlama

  • Ortak kütüphane kullanımı

  • Ortak imaj kullanımı

  • İmajların yeniden kullanılabilir olması

Docker, teknoloji olarak LXC, cgroups ve kernel’in (çekirdek) yani işletim sisteminin çekirdeğinin özelliklerini kullanarak süreçlerin (process) birbirinden izole olarak çalışmasını sağlar. https://en.wikipedia.org/wiki/Cgroups

Tüm bunlara ek olarak Docker sayesinde Kubernetes gibi yapılara kavuştuk ki bu gibi teknolojiler elimizde bulunan donanımlardan ve yazılımlardan en üst seviyede istifade edebilmemize, çok daha maliyet etkin ve efektif olarak işlerimizi yürütebilmemize olanak sağladı !