Container Nedir? Sanal Makineden Farkı Ne?

Teknoljiyle uzaktan ilgi olsanız bile muhtemelen Container kavramını duymuşsunuzdur. Container teknolojisi son yıllarda oldukça gelişen bir teknoloji. Container nedir sorusuna cevap aramadan önce ilgili kavramları inceleyelim.

Kavramlar


Sanal Makine Nedir?

Teknoloji ile ilgilenen çoğu insan sanal makinenin ne olduğunu biliyor.

Özetle bir sanal makine, gerçek bir bilgisayar üzerindeki işletim sisteminde koşan sanallaştırma emulatör yazılımı vasıtasıyla çalışan başka bir işletim sistemi (misafir) ve ona bağlı uygulamalar olarak tanımlanabilir. Bu durum, ya tam sanallaştırma ya da donanım destekli sanallaştırma ile sağlanabilir. Her ikisinde de, bir misafir işletim sistemini tam olarak yalıtmak için gereken katman sağlanmış olur.

Sanal makineleri çalıştırmak için VMWare, Virtualbox, Xen, KVM vb. gibi bir dizi sistem bulunmaktadır.

Bir sanal makinenin karakteristik özelliklerinden biri, kendi işlemlerine (process), ağına, kullanıcılarına vb. tam bir yalıtım sağlayabilmesidir. Böylelikle sanal makinenin işlemleri ana makinede, ana makinenin işlemleri sanal makinede görünmez. Dahası sanal makineler, herhangi bir sayıda işletim sistemi ile istenilen özelliklere göre oluşturulabilir ve bir yansıma (image) olarak kaydedilebilir.

Container Nedir?

Containerler, sanal makinelere birçok yönden benzerdir, ancak farklılıkları vardır.

Sanal makinelerde olduğu gibi container’ler, bir ana bilgisayar üzerinde çalışan örneklerdir. Sanal makineler gibi, container’lar da istenilen özelliklere göre oluşturulup kaydedilebilir. Ayrıca container’ler, tıpkı sanal makinelerde olduğu gibi, işlemlere, ağa, kullanıcılara vb. yalıtım sağlayabilirler.

Container ve Sanal Makine Farkları

container nedir

Container’lerin sanal makinelerden farkı, misafir işletim sisteminin kurulmaması ve yalnızca uygulama kodunun gerektirdiği işlemlerin başlatılmasıdır. Bunun nedeni, sanal makinelerin çalışması için gerekli olan yukarıda bahsedilen emülasyon katmanı yerine, ana işletim sisteminin çekirdek (kernel) özellikleri ve katmanlı dosya sistemi kullanılarak container’lerin yapılmasıdır. Yani container’larda bir sanallaştırma katmanı bulunmaz, bu işlem kernel’in özelliği sayesinde halledilebilir. Bu ayrıca şu anlama gelmektedir; container’ler farklı işletim sistemlerinden oluşamazlar. Daha da önemlisi, bir container kendine ait bir işletim sistemine gerek duymadığı için daha az kaynak kullanır ve yalnızca, container içinde çalıştırılan uygulama için gereken kaynakları tüketir. Bu, sanal makinelere kurulan klasik uygulamaların aksine container uygulamalarının daha küçük bileşenlerden oluşmasını sağlar.

Container’ların sanal makinelere benzer olması, yansıma olarak depolanmasıdır. Ancak büyük bir fark ile; container yansımaları, işletim sistemi kurulumu gerektirmeyen –dolayısıyla içerisinde işletim sistemi barındırmayan– sanal makine görüntülerinden çok daha küçük ve daha taşınabilirdir. Bu,container’lar üzerinde aynı şekilde çalışan, paketlenmiş ve kullanıma hazır bir uygulamaya yapılabilmesini mümkün kılar.

Kaynak

Görkem Güray

Author: Görkem Güray

Elektrik-Elektronik mühendisiyim. Bilgisayar ve yazılım başta olmak üzere gelişen teknolojiyi takip etmeyi severim. İlginç veya yazmaya değer bulduğum konuları patlatbi.net üzerinde yayınlıyorum.

Kimler Neler Demiş?

avatar
  Subscribe  
Bildir