ZeroVM क्या करता है?


12

मैं अपने सिर aroung ZeroVM लपेटने में थोड़ी परेशानी हो रही है ।

मान लीजिए कि मैं Wordpress चलाना चाहता हूं। एक विकल्प VMWare, Virtualbox, Xen, CoreOS, या कुछ इसी तरह से चलने वाले होस्टेड वर्चुअल सर्वर को पट्टे पर देना है। उस स्थिति में, जो वर्चुअलाइज़ किया जा रहा है वह सर्वर और उसका हार्डवेयर है। एक बार वर्चुअल सर्वर का प्रावधान हो जाने के बाद, मैं इसे एसएसएच कर सकता हूं, सेवाएं शुरू और बंद कर सकता हूं, मशीन को पुनरारंभ कर सकता हूं, आदि।

मैंने जो ऑनलाइन पढ़ा है, वह कहता है कि ZeroVM ऐप को वर्चुअलाइज करता है, लेकिन मुझे इसका मतलब समझ में नहीं आता है। ZeroVM एक कंटेनर के समान प्रदान कर रहा है डोकर ?

ऊपर अपना उदाहरण जारी रखते हुए, मैं Wordpress चलाने के लिए ZeroVM का उपयोग कैसे करूंगा? ऐसा करने से क्या लाभ होगा?

आइए एक साझा होस्टिंग वातावरण में अपने Wordpress उदाहरण का विस्तार करें।

ZeroVM होम पेज कहता है:

ZeroVM App या zapp के लिए प्रत्येक अनुरोध, एक स्वतंत्र उदाहरण के स्पॉनिंग में परिणाम करता है। प्रत्येक उदाहरण को अलग और सुरक्षित किया जाता है, जो 5 मिलीसेकंड से कम है और अनुरोध को पूरा करने के बाद नष्ट हो जाता है। ज़ीरोवीएम की गति प्रत्येक उदाहरण से आती है जो केवल एक प्रक्रिया को चलाने के लिए जरूरी है।

क्या इसका मतलब यह है कि ZeroVM ऐप के लिए प्रत्येक अनुरोध एक नई प्रक्रिया पैदा करता है? यदि आप सर्वर पर एक से अधिक ZeroVM ऐप चला रहे हैं तो क्या होगा? अनुरोधों को सही ऐप पर कैसे रूट किया जाएगा?

जवाबों:


9

अच्छा प्रश्न! मैं 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 उदाहरण को दिए गए ब्लॉग पोस्ट के लिए जिम्मेदार बनाने की योजना है, फिर टिप्पणियों जैसी चीजों को संभाल सकता है। आपको सामने एक लोड-बैलेंसर की आवश्यकता होगी जो ट्रैफ़िक को उचित रूप से रूट करने में सक्षम हो। परिणाम वर्तमान वर्डप्रेस की तुलना में एक बहुत ही अलग वास्तुकला है, लेकिन एक अधिक स्केलेबल है। वास्तव में इसे लागू करना वर्तमान में पाठक के लिए एक अभ्यास के रूप में बचा हुआ है।


4

लगता है खून बह रहा है किनारे। तुलना में 'असुरक्षित' होने के लिए रैकस्पेस एलएक्ससी पर कटाक्ष कर रहा है, लेकिन जब तक व्हाइटपॉपर विषय पर नहीं दिखाते, तब तक मैं निर्णय ले लूंगा।

  • क्या ZeroVM डॉकटर के समान एक कंटेनर प्रदान कर रहा है?

From: Info World "ZeroVM और Docker जैसे प्रोजेक्ट के बीच कुछ स्पष्ट तुलना संभव है, लेकिन इरादे थोड़े अलग हैं। Docker विभिन्न प्रकार के वातावरणों के माध्यम से तैनाती के लिए पैकेजिंग के बारे में है। ZeroVM ऐप के वर्चुअलाइज्ड होने का रास्ता प्रदान करने के बारे में अधिक है। एक दिए गए वातावरण में हल्के तरीके से जहां एक पूर्ण वीएम समाधान अत्यधिक होगा और वास्तव में जरूरत नहीं होगी। "

  • वर्डप्रेस को चलाने के लिए मैं ZeroVM का उपयोग कैसे करूंगा?

संभवतः आपको ZeroVM के लिए संकलित करने के लिए अपाचे की आवश्यकता होगी। मुझे यकीन नहीं है कि इस तरह की शर्तों के तहत वर्डप्रेस कोड आधार कितना टूट जाएगा।

  • क्या लाभ हैं?

रैकस्पेस का विपणन विभाग इसके लिए सबसे अच्छा मामला बनाएगा: यहां

  • मुझे किन चुनौतियों का सामना करना पड़ेगा? (भविष्य के पाठकों के लाभ के लिए जोड़ा गया)

सॉफ़्टवेयर / प्लेटफ़ॉर्म से खून बह रहा है, इसलिए सभी परीक्षण और विचलन से जुड़े रक्तस्रावी किनारे सॉफ़्टवेयर लागू होते हैं। (समर्थन के लिए एक बड़े उपयोगकर्ता आधार की कमी भी शामिल है)। यह एक नया " प्लेटफ़ॉर्म " भी है सॉफ्टवेयर डेवलपर्स को वर्चुअलाइज्ड प्लेटफ़ॉर्म से निपटने के लिए उपयोग किया जा रहा है ... लेकिन यह हार्डवेयर और (VMWare। OracleVM, HyperV) और कर्नेल वर्चुअलाइज़ेशन (OpenVZ) से ऊपर और इसके बाहर वर्चुअलाइज़ेशन की एक पूरी नई नस्ल है। आश्चर्य मत करो अगर खेल में इस जल्दी के रूप में कुछ भी काम नहीं करता है।


2

ऊपर अपना उदाहरण जारी रखते हुए, मैं Wordpress चलाने के लिए ZeroVM का उपयोग कैसे करूंगा? ऐसा करने से क्या लाभ होगा?

ZeroVM अनिवार्य रूप से Paa'es के निर्माण का एक मंच है। इसलिए ऊपर दिए गए प्रश्न का "शून्य दुनिया" में बहुत कम अर्थ है। लेकिन मान लें कि किसी ने आपके लिए ज़ीरोवीएम इन्फ्रास्ट्रक्चर स्थापित किया है (इसे "प्रदाता" कहेंगे)। फिर आप उस बुनियादी ढांचे के ऊपर अपना खुद का पैसा या सास बना सकते हैं। वर्डप्रेस के मामले में: प्रदाता आपको प्रदाता के बुनियादी ढांचे पर किसी भी कोड को चलाने की क्षमता देता है, आप वर्डप्रेस को चला सकते हैं, जब आपका कोड चल रहा होता है - आप इसके लिए भुगतान करते हैं। जब आपका कोड नहीं चल रहा है - आप भुगतान नहीं करते हैं। यानी जब कोई व्यक्ति आपके द्वारा अनुरोध के लिए भुगतान किया गया एक वर्डप्रेस पेज खोलता है, तो उपयोगकर्ता को जवाब भेजे जाने के बाद - आप कुछ भी भुगतान करना बंद कर देते हैं। इससे अधिक, क्योंकि प्रत्येक ज़ीरोवीएम उदाहरण एक अनुरोध पर काम करेगा, आपकी वर्डप्रेस साइट को अनिवार्य रूप से केवल एक पृष्ठ एक उपयोगकर्ता की सेवा के लिए चाहिए। और फिर मैं तर्क दूंगा कि आपको वास्तव में "वर्डप्रेस" की आवश्यकता नहीं है क्योंकि वर्डप्रेस अभी MySQL डेटाबेस के लिए एक PHP इंटरफ़ेस है, और एक उपयोगकर्ता और एक अनुरोध के मामले में आपको किसी भी केंद्रीकृत डेटाबेस की आवश्यकता नहीं है। और इसी तरह।

क्या इसका मतलब यह है कि ZeroVM ऐप के लिए प्रत्येक अनुरोध एक नई प्रक्रिया पैदा करता है?

हां और ना। निर्भर करता है कि आप इसका उपयोग कैसे करना चाहते हैं। यदि प्रत्येक अनुरोध पूरी तरह से अलग कोड-बेस के साथ एक पूरी तरह से अलग ऐप है - तो हां, आपको एक नई प्रक्रिया की आवश्यकता होगी। लेकिन यदि प्रत्येक अनुरोध PHP या WSGI वेब ऐप के लिए एक कॉल है, तो ZeroVM एक "डेमॉन" के रूप में कार्य कर सकता है, जो प्लेटफ़ॉर्म के सेटअप समय की बचत करके बहुत तेज़ गति से काम कर रहा है। )।

अनुरोधों को सही ऐप पर कैसे रूट किया जाएगा?

अभी इन्फ्रास्ट्रक्चर स्विफ्ट ऑब्जेक्ट स्टोर में एकीकृत है । स्विफ्ट ऑब्जेक्ट के लिए अनुरोध कोड के एक विशिष्ट टुकड़े के निष्पादन को ट्रिगर करेगा। या विशिष्ट URL के लिए POST POST अनुरोध पेलोड के निष्पादन को ट्रिगर करेगा। बेशक किसी अन्य प्रकार का एकीकरण संभव है, उदाहरण के लिए वेब-सर्वर या वितरित कतार में।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.