Sanal Makine ve Konteyner Nedir?
Sanal makine, tek bir fiziksel bilgisayarın içinde kendi işletim sistemiyle çalışan sanal bir bilgisayardır; konteyner ise bir uygulamayı ihtiyaç duyduğu her şeyle birlikte paketleyip daha hafif biçimde, ana makinenin çekirdeğini paylaşarak çalıştırır.
Yazılımcıların en eski şikâyetlerinden biri şudur: "Benim bilgisayarımda çalışıyordu." Program bir makinede çalışır, başka bir makinede farklı sürüm ya da eksik bir parça yüzünden çalışmaz. Sanal makineler ve konteynerler bu sorunu çözmenin iki yoludur.
Sanal makine
- Fiziksel bir bilgisayarın içinde, tamamen ayrı bir bilgisayar gibi davranan bir yazılımdır.
- Kendi işletim sistemi, belleği ve diski vardır. Örneğin Windows çalışan bir bilgisayarda Linux çalıştırabilirsin.
- Bu işi hipervizör adı verilen bir yazılım yönetir; donanımı sanal makineler arasında paylaştırır.
- Çok güçlü bir yalıtım sağlar ama her sanal makine bir işletim sistemini baştan çalıştırdığı için ağırdır ve geç açılır.
Konteyner
- Bir uygulamayı, ihtiyaç duyduğu kütüphaneler ve ayarlarla birlikte tek bir pakette toplar.
- Ayrı bir işletim sistemi çalıştırmaz; ana makinenin işletim sistemi çekirdeğini paylaşır.
- Bu yüzden saniyeler içinde açılır ve çok az kaynak harcar. Aynı sunucuda onlarca konteyner yan yana çalışabilir.
- Paket her yerde aynı biçimde çalışır: geliştiricinin bilgisayarında, test sunucusunda ve canlı sistemde.
Kısaca fark
- Sanal makine: Bir evin içine kurulmuş, kendi mutfağı ve tesisatı olan ikinci bir ev.
- Konteyner: Aynı binada, ortak tesisatı kullanan ama kapısı kilitli ayrı bir daire.
Nerede kullanılır
- Bulut sağlayıcıların sattığı sunucuların büyük kısmı sanal makinedir.
- Modern web uygulamaları çoğunlukla konteyner olarak paketlenip yayınlanır.
- Bilinmeyen bir programı güvenle denemek için sanal makine iyi bir deney alanıdır.
Sanal makine bilgisayarı kopyalar, konteyner ise uygulamayı paketler.
İlgili makaleler: Bulut Bilişim Nedir? · İşletim Sistemi Nedir? · Frontend ve Backend Nedir?
İlgili Makaleler
İşletim Sistemi Nedir?
İşletim sistemi, donanım ile uygulamalar arasında köprü kuran ve bilgisayarın kaynaklarını yöneten temel yazılımdır.
Veritabanı Nedir?
Veritabanı, verilerin düzenli biçimde saklandığı, hızlıca sorgulanıp güncellenebildiği yapılandırılmış bir depolama sistemidir.
Açık Kaynak Yazılım Nedir?
Açık kaynak, kaynak kodu herkese açık olan; incelenebilen, değiştirilebilen ve paylaşılabilen yazılım anlayışıdır.