Aracılığıyla paylaş


Kapsayıcılara ve Docker'a Giriş

Tavsiye

Bu içerik, .NET Docs veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Kapsayıcılı .NET Uygulamaları için .NET Mikro Hizmet Mimarisi adlı e-Kitap'tan bir alıntıdır.

.NET Mikro Hizmetler Mimarisi Kapsayıcılı .NET Uygulamaları için eKitabın kapak küçük resmi .

Kapsayıcıya alma, bir uygulama veya hizmetin, bağımlılıklarının ve yapılandırmasının (dağıtım bildirim dosyaları olarak soyutlanmış) kapsayıcı görüntüsü olarak birlikte paketlendiği yazılım geliştirmeye yönelik bir yaklaşımdır. Kapsayıcılı uygulama bir birim olarak test edilebilir ve konak işletim sistemine (OS) kapsayıcı görüntüsü örneği olarak dağıtılabilir.

Kargo kapsayıcıları, içindeki kargodan bağımsız olarak malların gemi, tren veya kamyonla taşınmasına izin verdiği gibi, yazılım kapsayıcıları da farklı kod ve bağımlılıklar içerebilen standart bir yazılım dağıtım birimi görevi görür. Yazılımları bu şekilde kapsayıcıya almak, geliştiricilerin ve BT uzmanlarının bunları çok az değişiklikle veya hiç değişiklik yapmadan ortamlar arasında dağıtmasına olanak tanır.

Kapsayıcılar ayrıca paylaşılan işletim sistemindeki uygulamaları birbirinden yalıtır. Kapsayıcılı uygulamalar, işletim sisteminde (Linux veya Windows) çalışan bir kapsayıcı konağı üzerinde çalışır. Bu nedenle kapsayıcılar, sanal makine (VM) görüntülerinden önemli ölçüde daha küçük bir ayak izine sahiptir.

Şekil 2-1'de gösterildiği gibi her kapsayıcı bir web uygulamasının veya hizmetin tamamını çalıştırabilir. Bu örnekte Docker konağı bir kapsayıcı konağıdır ve App1, App2, Svc 1 ve Svc 2 kapsayıcılı uygulamalar veya hizmetlerdir.

BIR VM veya sunucuda çalışan dört kapsayıcıyı gösteren diyagram.

Şekil 2-1. Kapsayıcı barındırıcısında çalışan birden fazla kapsayıcı

Kapsayıcılı hale getirmenin bir diğer avantajı da ölçeklenebilirliktir. Kısa vadeli görevler için yeni kapsayıcılar oluşturarak ölçeği hızla genişletebilirsiniz. Uygulama açısından bakıldığında, bir görüntü örneği oluşturmak (kapsayıcı oluşturmak), hizmet veya web uygulaması gibi bir işlemin örneğini oluşturmaya benzer. Ancak güvenilirlik için, aynı görüntünün birden çok örneğini birden çok konak sunucusunda çalıştırdığınızda, genellikle her kapsayıcının (görüntü örneği) farklı bir konak sunucusunda veya vm'de farklı hata etki alanlarında çalışmasını istersiniz.

Kısacası kapsayıcılar tüm uygulama yaşam döngüsü iş akışı genelinde yalıtım, taşınabilirlik, çeviklik, ölçeklenebilirlik ve denetim avantajları sunar. En önemli avantaj, Geliştirme ve Operasyonlar arasında sağlanan ortamın yalıtımıdır.