2015-05-22 17 views
15

के साथ तुलना में मैं हाल ही में डोकर साथ एक छोटे से हास्केल एप्लिकेशन तैनात एक आधार छवि के रूप में "खरोंच Haskell" का उपयोग।डोकर कंटेनर Unikernel

तब मैं Unikernels और HALVM बारे में पढ़ा। और मुझे थोड़ा उलझन में मिला।

मेरा डॉकर कंटेनर लगभग 6 एमबी बड़ा है। एक यूनिकेलर (उसी हैकेल ऐप के साथ) लगभग अनुमान लगाया जाएगा।

Unikernel जबकि डोकर छवि (या सामान्य LXC) एक सामान्य Linux वितरण, जो नग्न धातु पर चलता है पर चलता है, Xen हाइपरविजर पर सीधे चलाता है।

अब मैं कई कम से कम कंटेनर या कई छोटे Unikernels के साथ एक एक्सईएन मशीन के साथ लिनक्स चलाने का "विकल्प" है।

लेकिन फायदे और उन दो समाधान के नुकसान क्या हैं? क्या एक दूसरे से ज्यादा सुरक्षित है? और क्या उनके बीच कोई महत्वपूर्ण प्रदर्शन अंतर है?

+1

unikernel काफी हाल ही में किया जा रहा है, मुझे लगता है आप अपने खुद के परीक्षण चलाना चाहिए – user2915097

उत्तर

10
http://wiki.xenproject.org/wiki/Unikernels

से

Unikernels क्या प्रदान करते हैं?

Unikernels सामान्य रूप से है कि पर्यावरण के साथ पूरी तरह से बनाया गया एक आवेदन पत्र सक्षम एक विलक्षण क्रम पर्यावरण के लिए होती उत्पन्न करते हैं। आम तौर पर, इस वातावरण में subprocesses को बढ़ाने की क्षमता नहीं है, खोल कमांड निष्पादित करें, एकाधिक धागे, या कांटा प्रक्रियाएं निष्पादित करें। इसके बजाए, वे भाषा रनटाइम लक्षित शुद्ध अवतार प्रदान करते हैं, चाहे वह ओकैमल, हास्केल, जावा, एरलांग, या कुछ अन्य वातावरण हो।

Unikernels बनाम लिनक्स कंटेनरों

बहुत हाल ही में लिनक्स कंटेनर पारंपरिक VMs से अधिक समाधान के लाभों में से किया गया है। यह कंटेनर वकालतियों द्वारा कहा जाता है कि उनकी हल्के मेमोरी पदचिह्न, त्वरित बूट समय, और पैकेजिंग की आसानी कंटेनर वर्चुअलाइजेशन का भविष्य बनाती है। हालांकि इन कंटेनर के पहलू निश्चित रूप से उल्लेखनीय हैं, वे हाइपरवाइजर की दुनिया के के अंत में वर्तनी नहीं करते हैं। वास्तव में, यूनिकर्नल्स कंटेनर की दीर्घकालिक उपयोगिता को कम कर सकता है।

यूनिकर्नल्स द्वारा कंटेनर प्रोपोनेंट्स द्वारा वर्णित वही वांछनीय विशेषताओं को सुविधाजनक बनाता है, जिसमें एक बिल्कुल शानदार सुरक्षा कहानी शामिल है, जो कुछ अन्य समाधान मिल सकते हैं।

तो अगर आप सिर्फ हास्केल आवेदन Unikernels आप के लिए काम कर सकते हैं, और वे डोकर से भी कम भूमि के ऊपर होना चाहिए चलाना चाहते हैं (और डोकर भूमि के ऊपर बहुत छोटे वैसे भी है), लेकिन अगर आपके आवेदन कुछ तैयार पर्यावरण, जरूरत की आवश्यकता होगी गैर यूनिकर्सल सॉफ़्टवेयर डॉकर के साथ संवाद करने के लिए एक बेहतर विकल्प है। मुझे लगता है कि यह कहना बहुत जल्दी है कि यूनिकर्नल्स उपयोगी या व्यापक होंगे या नहीं, केवल समय ही बताएगा।

+0

हालांकि, नहीं unikernels के रूप में समय से भी जाना जाता अधिक शक्तिशाली होते जा रहे हैं? थ्रेडिंग/फोर्किंग प्राप्त करने और भंडारण आदि तक पहुंच प्राप्त करने के मामले में मुझे कुछ अभिसरण के लिए संभावित दिखाई देता है ... –

+1

थ्रेडिंग और फोर्किंग अनिकलन की परिभाषा के लिए विरोधी हैं। – bahamat

2

यूनिकर्नल्स स्टेटलेस के लिए बहुत अच्छे हैं। जब आप डिस्क एक्सेस की आवश्यकता शुरू करते हैं तो आप डॉकर का उपयोग बंद कर सकते हैं।

यही कारण है कि सभी "हत्यारा" यूनिकर्सल के लिए ऐप्स स्थैतिक रूप से कॉन्फ़िगर किए गए कर्नेल हैं, जैसे स्थैतिक वेब पेज या सॉफ़्टवेयर परिभाषित नेटवर्किंग स्टैक।

Unikernel हैं VMs लेकिन विशिष्ट और विशेष आवेदन के लिए अनुकूलित:

+2

मुझे यकीन है कि अगर आवश्यक हो तो यूनिकर्सल को राज्य में बनाया जा सकता है। हो सकता है कि किसी प्रकार की डिस्क I/O को उजागर न करें, लेकिन दृढ़ता के लिए अन्य साधन हैं। –

2

एक सरल एक यहाँ कई अच्छे explations रहे हैं।

enter image description here

+1

यहां हम हाइपरवाइजर के बिना नंगे धातु पर चलने वाले डॉकर को याद करते हैं/वीएम – bodrin

+0

अच्छी तरह से सचित्र, लेकिन कृपया संदर्भों को सूचीबद्ध करें। – securecurve

संबंधित मुद्दे