Kapsayıcılar ve VM'ler arasındaki farkları listeleme
Contoso Windows Server yöneticisinin vm'ler için uygun olan ve kapsayıcılar için daha uygun olan iş yüklerini ve senaryoları belirlemesi gerekir. Vm ve kapsayıcı iş yüklerinin özelliklerini, bunların kullanılabileceğini senaryoları ve verimliliği artırmak için hangi durumlarda kapsayıcı iş yüklerinin kullanılabileceğini değerlendirir.
VM'ler ile kapsayıcılar karşılaştırması
Hem VM'ler hem de kapsayıcılar, uygulamalar ve hizmetler için yalıtılmış ve taşınabilir bilgi işlem ortamları sağlamak için kullanılan sanallaştırma teknolojileridir:
VM'ler sanallaştırılmış donanım, işletim sistemi, kullanıcı modu ve kendi çekirdek modu dahil olmak üzere bilgisayarın tamamının simülasyonunu oluşturur. VM'ler oldukça çeviktir ve uygulamalar için muazzam destek sağlar; ancak VM'ler büyük olma eğilimindedir ve konak makine kaynaklarını kullanır.
Kapsayıcılar (daha önce açıklandığı gibi) konak işletim sisteminin çekirdeğini temel alır ve paketlenmiş uygulama için yalıtılmış bir kullanıcı modu işlemi içerir. Bu, kapsayıcıların çok hafif ve hızlı başlatılmasına yardımcı olur. Vm'lerden farklı olarak kapsayıcılar geliştirmeden teste ve üretim ortamlarına kolayca taşınabilir. Ancak, işletim sistemi tam olarak aynı olmadığından, tüm uygulamalar kapsayıcı ortamında aynı (veya hiç) çalışmaz.
Benzerlikler ve farklılıklar
Aşağıdaki tabloda, VM'ler ve kapsayıcılar için özellikler arasındaki benzerlikler ve farklar özetlenmiştir.
| Özellik | VM | Konteyner |
|---|---|---|
| Yalıtım | Konak işletim sisteminden ve diğer VM'lerden tam yalıtım sağlar. | Konaktan ve diğer kapsayıcılardan basit yalıtım sağlar. |
| işletim sistemi | Çekirdek de dahil olmak üzere eksiksiz bir işletim sistemi çalıştırır. | İşletim sisteminin yalnızca kullanıcı modu bölümünü çalıştırır. |
| Konuk uyumluluğu | VM içinde desteklenen işletim sistemini çalıştırabilme | Windows kapsayıcıları için eşleşen konak ve kapsayıcı işletim sistemi sürümleri gerekir. (Daha fazla ayrıntı ve alternatif için lütfen yalıtım moduna bakın) |
| Dağıtım | Hyper-V yöneticisi veya diğer VM yönetim araçları kullanılarak dağıtılır. | Docker veya başka bir kapsayıcı çalışma zamanı kullanılarak dağıtılır ve yönetilir. Kubernetes gibi bir düzenleyici kullanılarak birden çok kapsayıcı dağıtılabilir. |
| Kalıcı depolama | Sanal sabit disk dosyalarını veya Sunucu İleti Bloğu (SMB) paylaşımını kullanır. | Kapsayıcı artık mevcut olmadığında veriler kalıcı olmaz. Windows Server ile bir kapsayıcıda verileri kalıcı hale getirmek için kalıcı depolamanın kullanılması gerekir. |
| Yük dengeleme ve yüksek kullanılabilirlik | Vm'leri gerektiği gibi taşımak ve daha yüksek bir birimi desteklemek için bir Windows yük devretme kümesi veya Windows yük dengeleyici kullanır. | Kapsayıcıları otomatik olarak başlatmak ve durdurmak, otomatik ölçeklendirmek ve ek trafiği desteklemek için kapsayıcı düzenleyici kullanır. |
| Ağ | Sanal ağ bağdaştırıcılarını kullanır. | Senaryoya bağlı olarak farklı ağ seçenekleri kullanılabilir. Varsayılan, iç anahtar kullanan ve bağlantı noktalarını konaktan kapsayıcıya eşleyen bir Ağ Adresi Çevirisi (NAT) ağıdır. |
Not
İyileştirilmiş yalıtım ve güvenlik sağlamak için yüksek oranda iyileştirilmiş bir VM içinde kapsayıcı sağlamak yaygın bir durumdur.
Kapsayıcıların avantajları
Yüksek düzeyde kapsayıcılar:
Görece az kaynak gerektirir. Vm'lerden daha az yoğun kaynak kullanırlar.
Hemen başlayın. Kapsayıcı başlatma süreleri kabaca yeni bir işlem başlatmak için gereken süreye eşdeğerdir.
Sunucu yoğunluğunun artırılması. Kapsayıcılar kullanılabilir donanımdaki bellek, disk ve CPU'nun VM'lerden daha verimli bir şekilde kullanılmasına olanak tanır. Bu, daha az boşta sunucuyla sonuçlanır ve mevcut işlem kaynaklarının daha iyi kullanılmasına neden olur. Bu, maliyetleri düşürebileceğinden bulut sağlayıcıları ve kullanıcılar için özellikle önemlidir.
Taşınabilirlik. Kapsayıcılar, çalıştıkları ortamdan bağımsız olarak aynı şekilde davranır. Bir kapsayıcı, bir uygulamanın çalışması için bağımlılıklara sahip olur. Bu, kapsayıcının hem geliştirme, test ve üretim hem de şirket içi ile bulut arasında aynı işlemi gerçekleştirmesini sağlar.
Aşağıdaki grafik; bilgisayarlar, VM'ler, kapsayıcılar ve işlemler arasındaki yalıtım ve verimliliğin karşılaştırmasını sağlar ve şunları gösterir:
Bilgisayarlar en yüksek yalıtım derecesini sağlar. Vm'ler, kapsayıcılar ve işlemler için yalıtım aşamalı olarak daha azdır.
İşlemler en yüksek verimlilik derecesini ve bunun yerine olası yoğunluğu sağlar. Kapsayıcılar, VM'ler ve bilgisayarlar giderek daha az verimlidir.
Donanım, çekirdek ve sistem kaynakları (dosya sistemi gibi) paylaşılır:
VM'ler yalnızca donanımı paylaşır.
Kapsayıcılar donanım ve çekirdek paylaşır (çekirdek paylaşmayan Windows Hyper-V kapsayıcıları hariç).
İşlemler donanım, çekirdek ve sistem kaynaklarını paylaşır.
Bilgisayarlar bunların hiçbirini paylaşmaz.
İpucu
Kalıcı depolama için, yerel makineye bir konum bağlamak için bağlama bağlantısı kullanabilirsiniz. Bir kapsayıcıyı yeniden başlattığınızda veya dosyaları birden çok kapsayıcıyla paylaşmak istediğinizde konum içindeki dosyalar kullanılabilir. Bir kapsayıcının aynı dosyalara erişimi olan birden çok makinede çalışmasını istiyorsanız, bunun yerine adlandırılmış birim veya SMB bağlama kullanılmalıdır.
Kubernetes gibi düzenleyicilerin kendi kalıcı depolama uygulaması vardır.
Dikkat
C:\ gibi hassas dizinleri güvenilmeyen bir kapsayıcıya bağlamayın. Bu, güvenilmeyen kapsayıcının normalde erişemediği ve güvenlik ihlali oluşturabileceği konakta dosyaları değiştirmesine olanak sağlar. Ayrıca, farklı bir ortama geçerken kapsayıcınızın düzgün çalıştığından emin olun. Bu, kapsayıcıyı belirli bir konakta belirli bir sürücüye bağlamaktan kaçınma anlamına gelir.
Vm ne zaman seçilir?
Aşağıdaki durumlarda VM kullanın:
Birden çok işletim sistemini yönetmesi gerekir.
Grafik kullanıcı arabirimi (GUI) gibi tam işletim sisteminin tüm kaynaklarını ve hizmetlerini gerektiren bir uygulamayı çalıştırmanız gerekir.
Değişiklikleri koruyan ve kalıcı olan bir ortam gerekir. Örnek: Veritabanları kapsayıcılarda çalışmak için iyi adaylar değildir.
Tam yalıtım ve güvenlik gerektirir.
Kapsayıcı ne zaman seçilir?
Aşağıdaki durumlarda kapsayıcı kullanın:
Hızlı bir şekilde başlayan basit bir uygulama paketi gerekir.
Tek bir uygulamanın birden çok örneğini dağıtmanız gerekir. Otomatik ölçeklendirme ve/veya yatay ölçeklendirme gerekir.
Kalıcı olmayan bir uygulamayı veya işlemi isteğe bağlı olarak çalıştırmanız gerekir.
Temel alınan herhangi bir altyapıda çalışabilen bir uygulama dağıtmanız gerekir.