अच्छा प्रश्न! मैं ZeroVM टीम पर काम करता हूं और आशा करता हूं कि मैं स्पष्ट चीजों की मदद कर सकता हूं!
क्या ZeroVM डॉकटर के समान एक कंटेनर प्रदान कर रहा है?
नहीं वास्तव में नहीं। सैंडर वाले वातावरण को उपलब्ध कराने के लिए डॉकर एलएक्ससी और अन्य कर्नेल सुविधाओं का उपयोग करता है। ZeroVM पूरी तरह से यूजरस्पेस और सैंडबॉक्स में एक ही एप्लिकेशन चलाता है ।
संक्षेप में, ज़ीरोवीएम पहले चलाने के लिए आवेदन को मान्य करके और फिर इसे निष्पादित करके काम करता है । जब निष्पादित किया जाता है, तो एप्लिकेशन मूल रूप से बिना किसी अतिरिक्त ओवरहेड के चलता है - इसके पीछे कोई वर्चुअल मशीन नहीं है।
किसी एप्लिकेशन को मान्य करने के लिए, इसे x86 मशीन कोड के एक विशेष रूप में क्रॉस-संकलित किया जाना चाहिए। इस विशेष रूप में अच्छी संपत्ति है कि इसे "सुरक्षित" होने के लिए सांख्यिकीय रूप से सत्यापित किया जा सकता है। अन्य बातों के अलावा, "सुरक्षित" का मतलब है कि कोड ZeroVM द्वारा प्रदान किए गए एक निश्चित मेमोरी सेगमेंट के बाहर के पते पर नहीं जाएगा। कार्यक्रम को सामान्य सिस्टम कॉल भी नहीं कह सकते हैं, यह केवल ज़ीरोवीएम द्वारा प्रदान किए गए एक बहुत ही संकीर्ण syscall इंटरफ़ेस कह सकते हैं। यह सत्यापन Google के मूल ग्राहक परियोजना से लिया गया है ।
मैं Wordpress चलाने के लिए ZeroVM का उपयोग कैसे करूँगा? ऐसा करने से क्या लाभ होगा?
आप सी प्रोग्राम जो PHP दुभाषिया है, को क्रॉस-कंपाइल कर सकते हैं। ZeroVM तब सैंडबॉक्स में PHP दुभाषिया शुरू कर सकता है और वर्डप्रेस बनाने वाली PHP फ़ाइलों को खिला सकता है। ZeroVM एक रीड-ओनली इन-मेमरी फाइलसिस्टम प्रदान करता है और इसका उपयोग SQLite डेटाबेस को पढ़ने के लिए किया जा सकता है। यह आपको केवल पढ़ने योग्य वर्डप्रेस साइट देगा - बहुत रोमांचक नहीं :-)
हालांकि, जैसा कि मैं इसे देखता हूं, यह ZerovM के लिए मुख्य उपयोग-मामला नहीं है। मौजूदा डेटाबेस-भारी अनुप्रयोगों को ZeroVM के साथ उपयोग के लिए फिर से लिखना होगा। ZeroVM बड़े पैमाने पर स्केलेबल सिस्टम के लिए अधिक होता है जहां आप समानांतर में कई डेटा आइटम संसाधित करना चाहते हैं।
कल्पना कीजिए कि आपके पास 1,000,000 ईमेल हैं जिनके माध्यम से आपको खोज करने की आवश्यकता है। मेल को ब्लॉकस्ट स्टोरेज जैसे कि ओपनस्टैक स्विफ्ट या अमेजन एस 3 में स्टोर किया जाता है । इसका मतलब है कि भौतिक फ़ाइलों को कुछ संख्या में भंडारण सर्वर पर संग्रहीत किया जाता है। परंपरागत रूप से, आपको उन्हें खोजने के लिए सभी मेल को कुछ संख्या में गणना नोड्स तक खींचने की आवश्यकता होगी। ZeroVM और स्विफ्ट के साथ इसके एकीकरण के साथ , आप डेटा को कोड भेज सकते हैं । यह संभव है क्योंकि एक भारी आभासी मशीन की छवि की तुलना में कोड छोटा (कुछ मेगाबाइट) है, और क्योंकि यह ज़ीरोवीएम सैंडबॉक्स में अविश्वसनीय कोड निष्पादित करने के लिए सुरक्षित है।
तो ZeroVM उच्च-स्केलेबल आर्किटेक्चर के लिए है, जहां प्रत्येक अनुरोध डेटा के विभिन्न टुकड़ों पर काम करता है।
एक वर्डप्रेस साइट के लिए, इसका मतलब यह हो सकता है कि प्रत्येक ब्लॉग पोस्ट को डेटा के एक अलग टुकड़े में संग्रहीत करना चाहिए और प्रत्येक पोस्ट के लिए ज़िम्मेदार ज़ीरोवीएम उदाहरण होना चाहिए। वर्तमान में, फ़ाइल सिस्टम केवल पढ़ने के लिए है, लेकिन इसे पढ़ने-लिखने और ZeroVM उदाहरण को दिए गए ब्लॉग पोस्ट के लिए जिम्मेदार बनाने की योजना है, फिर टिप्पणियों जैसी चीजों को संभाल सकता है। आपको सामने एक लोड-बैलेंसर की आवश्यकता होगी जो ट्रैफ़िक को उचित रूप से रूट करने में सक्षम हो। परिणाम वर्तमान वर्डप्रेस की तुलना में एक बहुत ही अलग वास्तुकला है, लेकिन एक अधिक स्केलेबल है। वास्तव में इसे लागू करना वर्तमान में पाठक के लिए एक अभ्यास के रूप में बचा हुआ है।