Container ve Sanal Makineler Arasındaki Farklar

22 Ağu
Conatiner vs Virtual Machines

Sanal Makineler

Sanal makineler donanımsal altyapının(infrastructure) üzerine bir Hypervisor sistem kurularak yapılandırılrlar. Piyasada bir çok sanallaştırma platformu bulunmaktadır.

  • Microsoft hyper-v
  • Virtual Box
  • VMware

Hypervisor üzerine de sanal makineler kurulmaktadır. Her bir sanal makine genelde Linux veya Windows işletim sistemine sahiptir.

Container’lar

Container sistemleri için donanımsal altyapı(infrastructure) üzerine tek bir işletim sistemi ve bu işletim sistemi üzerine de Docker gibi container engine kurulur.

Container kullanmanın en önemli özelliklerinden biri, bir uygulamayı, kendine ait bağımlılıkları ve framework altyapılarıyla birlikte paketleyip dış dünyaya sunabilme imkanı vermesidir. Yukarıdaki şemada bulunan APP1, APP2, APP3 gibi uygulamaların her biri bir imaj haline getirilerek tüm dünyanın kullanımına açılacak şekilde Docker Registry üzerinden dağıtılabilir. Bu süreç deterministiktir. Yani uygulama imajın oluşturulduğu makinede nasıl çalışıyorsa başka birinin docker sisteminde de aynı şekilde çalışır.

Karşılaştırmalar

Bir sanal makine eğer tek bir uygulamanın barındırılması amacıyla kuruluyorsa, bu durumda işletim sistemi üzerinde uygulamanın altyapısal yönetimi ve işletim sisteminin yönetiminin yapılması gerekmektedir. Ancak container sistemlerde tek bir işletim sistemi bulunduğundan ve uygulama altyapıları container içerisine image aracılığı ile inşa edildiğinden dolayı bu tür bakım gereksinimleri ortadan kalkar.

Sanal makineler tek bir uygulama için kurulduğunda atıl kapasiteler meydana gelmektedir. Örneğin 4GB ram varsa işletim sistemi bunun bir kısmını kendi ihtiyaçları için kullanır ve üzerine kurulan uygulama da aynı şekilde ihtiyacı olanı kullandığında arta kalan memory miktarı ve işletim sisteminin kendi ihtiyaçları için kullandığı memory miktarı boşa giden kaynaklar olarak değerlendirilebilir. Container sistemlerde tek bir işletim sistemi kendi ihtiyacını kullanırken kalan kaynaklar uygulama ihtiyaçlarına göre tasnif edilerek kullanılır. Artan kaynaklar da yeni container’lar için boşta bekletilebilir. Bu sayede daha ölçeklenebilir bir yapı oluşturulabilir.

Container sistemlerde yönetilmesi gereken tek bir işletim sistemi varken, sanallaştırma sistemlerde yönetilmesi gereken birden fazla işletim sistemi bulunur.

Container endine direk donanım üzerindeki işletim sistemine değil de, sanal makineler üzerine de kurulabilir. Sanallaştırma sistemleri container sistemler için altyapı oluşturabilirler.

Container sistemlerde oluşturulan imajlar dünyanın her yerinde çalıştırılabilir hafif yüklü paketlerdir. Sanal makineler de her ne kadar paketlenebilir olsa da, paketin çalışabilmesi için diğer sistemde aynı hypervisor ve benzer donanımsal sistemlerin olması gerekir. Ayrıca paket boyutları çok büyük oladuğu için taşınabilirlik daha zor olabilmektedir.

Windows 8.1 Update Sonrası VMware Network Sorunu

8 Mar

Bu yazıda beni saatlerce uğraştıran bir VMware network sorundan bahsetmek istiyorum. Linux ile ilgili  çalışmalarımı yapmak üzere Windows 8 yüklü makinemde VMware üzerinde Ubuntu işletim sistemini kurmuştum. Bir gün, windows 8 için güncelleme uyarısını aldım ve 8.1 dahil olmak üzere bütün güncelleştirmeleri yükledim. Aradan bir kaç gün geçti ve Linux üzerinde bir deneme yapmam gerekti. Sanal makineye çalıştırdığımda bir de ne göreyim, ağ bağlantısı sağlanamıyor uyarısı! Sanal makine ayarlarından Network Adapter sekmesindeki ayarlar aynı duruyor fakat ağ bağlantısı bir türlü sağlanmıyordu.

Virtual Mechine Settings
Virtual Mechine Settings

Windows ağ bağlantı ayarlarında da bir anormallik olmadığını gördüm. Sanal makine ayarlarında denemedik varyasyon bırakmadım fakat nafile. Bir türlü sorunu gideremedim. En sonunda VMware ana penceresinden Edit > Virtual Network Editor penceresi gözüme çarptı.

Virtual Network Editor
Virtual Network Editor

Bu pencerede VMnet1 ve VMnet8 tanımlanmış durumdaydı. Ancak VMnet0 Bridge Type tanımlı değildi. Pencerenin en altında bulunan Restore Default düğmesine tıkladım ve devam ettim. İşlem tamamlandığında Virtual Network Editor penceresi aşağıdaki gibi oldu.

Virtual Network Editor
Virtual Network Editor

Yeniden sanal işletim sistemini çalıştırdığımda ağ bağlantı sorunundan kurtulduğumu gördüm. İnternet bağlantısını başarılı bir şekilde sağlamıştım.

Bu sorunu Windows 8.1 update ile ilişkilendirmemin sebebi, diğer iki bilgisayarda da windows 8.1 update sonrası aynı sorunu yaşamış olmamdı. Windows 8.1 kurduktan sonda VMware kurulumu yapanlar böyle bir sorun yaşamayacaktır. Tekrar hatırlatmalıyım ki bu sorun VMware kurulu makinede 8.1 güncellemesi yaptıktan sonra oluştu.

Umarım faydası dokunur.