VMware mi Docker mı?

Merhaba arkadaşlar bu yazımızda VMware mi? Docker mı? bu konuda kısa bir bilgi paylaşacağım. Aslında bu sorunu net bir cevabı yok nedeni ise virtual machine bir diğeri ise container teknolojisidir.Server Virtualization ve Container mimarisi aslında birbirinden tamamen farklı ürünler. Bundan dolayı biri diğerinin yerini alması gibi bir durum söz konusu değil.

Basitçe söylemek gerekirse, docker kullandığınızda işletim sistemi düzeyinde bir işletim sistemi izolasyonu sağlarken Server Virtualization (yani donanım sanallaştırma) donanım katmanında bir izolasyon sağlar. Bu nedenle IaaS kullanım durumlarında Server Virtualization ideal bir uyum sağlarken, containerler taşınabilir ve modüler yazılımların paketlenmesi için en uygun olanıdır. Yinede iki teknoloji ek avantajlar için birbirleriyle birlikte kullanılabilir. Zaten mimari tasarlanırken genellikle bu şekilde tasarlanıyor. Docker konumlandırılırken VMware vSphere üzerinde bir cluster’da virtual machine olabilir çalışabiliyor. Böylece docker üzerinde container’ları oluşturabiliyorsunuz.

Öncelikle VMware’den bahsetmek gerekirse,  fiziksel sunucu üzerine vSphere ESXi isimli işletim sistemini kuruyoruz ve artık bu fiziksel donanımı sanallaştırmış oluyoruz. Yani fiziksel sunucu üzerinde yer alan donanımları sanallaştırmış oluyoruz. vSphere ESXi diye burada bahsettiğim VMware’in sanallaştırmayı mümkün kılan hypervisor teknolojisidir.

Bunun sayesinde fiziksel donanım üzerinde birden fazla işletim sistemini kendine ayrılmış kaynaklar ile oluşturabilirsiniz. Bu işlemden sonra artık fiziksel donanım üzerinde virtual machine’ler oluşturmaya başlayabiliyoruz. Her virtual machine’in kendisine özel vCPU, Memory ve diğer bileşenleri bulunur. Virtual machine diye burada bahsettiğim aslında işletim sistemi ve uygulamalardan oluşan objelere biz virtual machine diyoruz. 

ESXi doğrudan fiziksel sunucu üzerine kurulduğu için ekstra olarak bir işletim sistemi kurmanıza gerek bulunmaz.

VMware’den kısaca bahsettik şimdi ise Docker mimariden biraz bahsedeceğim.

Docker projesinin ana amacı, developer kendi application’ini container’lar üzerinde oluştursun, deploy etsin ve çalıştırsın ve böylece application yönetimini basit bir hale getirmesidir. Zaten Docker’in hem developer hem de operatörler için önemli avantajları vardır. Docker container’ları çok hızlı bir şekilde deploy edebilirsiniz. Üstelik minimum gereksinimleri karşılayarak hızlı bir şekilde bu işlemi gerçekleştirebilirsiniz. Deployment işlemini gerçekleştirdikten sonra çalışan container’larınızı uyumluluk sorunları olmadan makineler arasında taşıyabilir ve çalıştırabilirsiniz. İsterseniz container’larınızı sürümlendirebilir, arşivlenebilir, paylaşabilir ve bir önceki sürümleri geri almak için kullanabilirsiniz.

Hem VMware hem de Docker sanallaştırma teknolojileri olarak kategorilere ayrılabilse de, her biri için en uygun kullanım durumları oldukça farklı olabilir. Siz fiziksel sunucu üzerinde VMware sayesinde birden fazla virtual machine çalıştırabilir ve böylece IaaS çözümlerini sağlayabilirsiniz. Docker container’ları, docker engine tarafından yönetildiğinden tam olarak izole edilmemiştir. Yani VMware’in aksine Docker tüm bir virtual machine oluşturmaz. Bunun yerine bir işletim sistemi üzerinde tüm gerekli bileşenler container içinde paketlenir.

Docker container’ler genellikle virtual machine’lerden daha hızlıdır ve daha az kaynak tüketir. Ancak tabiki burada VMware’in sanallaştırmasının kendine özgü temel avantajları vardır. Bu avantajlardan önemli bir tanesi de güvenlik ve izolasyondur. Burası çok önemli, Virtual machine’ler gerçek donanım düzeyinde izolasyon sağladığından, exploit gibi saldırılara uğrama olasılığı daha azdır. Ancak Docker ‘da böyle bir avantaj tam olarak bulunmuyor.

VMware, fiziksel donanımını taklit ederken Docker, uygulamanızın çalıştığı işletim sistemini taklit eder. Docker, sunucu donanım kaynaklarını taklit etmek zorunda olmadığı için çok daha basit bir sanallaştırma teknolojisidir. VMware, gerçek makine donanımı gibi, işletim sistemlerini ve tam sunucu gerektiren diğer görevleri yüklemenizi sağlar. Docker container‘in sağlanması ve başlatılması, bir VMware üzerinde oluşturacağınız virtual machine’in başlatılmasından daha hızlıdır. Sonuçta, bir Docker container’i çok daha düşük bir kaynaktır. Container, RAM ve virtual machine’in diğer gereksinimlerine kıyasla çok az ek yüke sahiptir. Ancak bu, container çalıştırdığınızda uygulamalarınızın mutlaka bir VMware virtual machine’inden daha hızlı olacağı anlamına gelmez. Sanallaştırma, bare metal’e göre daha avantajlıdır çünkü kaynaklar daha verimli kullanılır. Application’in bulunduğu ortam ve makine özelikleri (CPU, Memory, Disk gibi) ve diğer farktörler performansa doğrudan etki eder.

Docker VMware ile rekabet etmiyor. Docker’ı konumlandırırken zaten VMware vSphere ESXi üzerinde konumlandırıyorsunuz. Elbette sanallaştırma ortamının sizlere sunmuş olduğu yetenekleride kullanıyorsunuz. Çok fazla yanlış anlaşılmalar var. Docker geldi artık VMware’in yerini alacak vs vs. Bu böyle bir teknoloj değil. Server sanallaştırma yani Server Virtualization yerini alabilecek bir teknoloji yine Server Virtualization olacaktır. Ancak docker burada server virtualization yapmıyor. Docker dediğiniz container teknolojisi bir server sanallaştırma ürününe bağlı olarak çalışıyor.

Bir yanıt yazın