कुबेरनेट्स कम्युनिटी डेज़ (SCaLE 20x के साथ सह-स्थित) के पासाडेना लेग में, मुझे कुबेरनेट्स के दिग्गज के लेंस के माध्यम से WebAssembly पर अपना दृष्टिकोण देने के लिए 100 या कुबेरनेट्स के प्रति उत्साही लोगों से बात करने का मौका मिला।
मुझे यह कहकर योग्यता प्राप्त करनी चाहिए कि इस विशेष खेल में मेरी त्वचा है। मैं शुरुआत से ही कुबेरनेट्स में रहा हूं - डॉकर (0.6-ईश) के साथ शुरुआत करना और 1.2 के बाद से कुबेरनेट्स के साथ काम करना - कुबेरनेट्स प्लेटफॉर्म का निर्माण इससे पहले कि वे एक चीज थे। मैं 4 वर्षों के लिए हेल्म का मुख्य अनुरक्षक था, और बिंडल और क्रस्टलेट का सह-निर्माता था - कुबेरनेट्स के साथ WebAssembly को अच्छा बनाने का एक प्रारंभिक प्रयास। कहने का एक लंबा तरीका मैं इसे पूरी तरह से समझता हूं, मैं कंटेनरों और कुबेरनेट्स की ताकत और दर्द बिंदुओं को समझता हूं।
मैं भी WebAssembly के क्षेत्र से आता हूं, जो पिछले लगभग 3 वर्षों से गहराई से जुड़ा हुआ है। दोनों खेमों में पैरों के साथ, यहाँ मेरा विचार है कि ये दो खुली पहल किस लिए अच्छी हैं, और चौराहा क्या हो सकता है - और कैसा दिखना चाहिए।
कुबेरनेट्स और डॉकर गेम-चेंजर थे क्योंकि उन्होंने प्लेटफ़ॉर्म इंजीनियरों और डेवलपर्स को मोनोलिथ को माइक्रोसर्विसेज और एप्लिकेशन में तोड़ने की अनुमति दी थी, जो बाकी बुनियादी ढांचे से अलगाव में प्रबंधनीय थे। WebAssembly एक स्तर और गहरा जाता है, जिससे हम अलग-अलग अनुप्रयोगों को अलग-अलग घटकों में विभाजित करने की अनुमति देते हैं, जिन्हें उनके परिवेश में अलग-अलग हॉट-स्वैप, प्रबंधित और कॉन्फ़िगर किया जा सकता है। वासम, अनिवार्य रूप से, वह सब कुछ है जो हम सर्वर-साइड कोड में चाहते हैं: सुरक्षित-बाय-डिफॉल्ट, पोर्टेबल, पॉलीग्लॉट (विशेष रूप से ब्राउज़र में), तेज, कुशल और अत्यधिक स्केलेबल।
तो, कुबेरनेट्स और वासम कैसे प्रतिच्छेद करते हैं? सबसे पहले, आइए सोशल मीडिया अफवाह मिल को संबोधित करें और कुछ मिथकों का भंडाफोड़ करें।
मिथक # 1: वासम कंटेनरों को मार देगा।
नहीं। निश्चित रूप से नहीं। ब्राउज़र में काम करने के लिए रेडिस को फिर से लिखने वाला कोई नहीं है जब यह कंटेनरों में ठीक काम करता है। ऐसे कई उदाहरण हैं जहाँ कुबेरनेट्स सही समाधान है। कई बड़े एंटरप्राइज़ ऐप (Drupal, Redis, nginx) हैं जो लंबे समय से हैं और जल्द ही किसी भी समय वासम में नहीं जाएंगे।
मिथक #2: मुझे आगे बढ़कर अपने कंटेनरों में वासम चलाना चाहिए, है ना?
हम यह नहीं कह रहे हैं कि आपको ऐसा नहीं करना चाहिए, लेकिन यह सही शुरुआती बिंदु नहीं हो सकता है और आप जटिलता की अतिरिक्त परतें जोड़ सकते हैं। आपके पास डॉकर कंटेनर (जो क्रॉस-प्लेटफ़ॉर्म नहीं है) को शुरू करने का ओवरहेड है, WebAssembly को शुरू करने के ओवरहेड में जोड़ा गया है। यह शायद प्रदर्शन ओवरहेड के लायक नहीं है, विशेष रूप से उन सभी उपलब्ध उपकरणों के साथ जिनका मैं बाद में उल्लेख करूंगा]
मिथक #3: वासम कुबेरनेट्स के साथ संगत नहीं है।
हां यह है! यह एक "बेहतर एक साथ" कहानी है। कंप्यूटर के साथ सब कुछ विकासवादी है। सिर्फ इसलिए कि हम वीएम के साथ आए इसका मतलब यह नहीं है कि हमें भौतिक हार्डवेयर की आवश्यकता नहीं है। और सिर्फ इसलिए कि वासम साथ आया, इसका मतलब यह नहीं है कि हमें कंटेनरों की जरूरत नहीं है। इसे क्रिया में देखने के लिए, पढ़ें कि कैसे Adobe के हमारे मित्र अपने Kubernetes आर्किटेक्चर को Wasm के साथ रूपांतरित कर रहे हैं ।
कुबेरनेट्स के शुरुआती दिनों की तरह, हम उस चरण में हैं जहां चीजें टूट रही हैं और बहुत तेजी से विकसित हो रही हैं। कच्चे वासम स्तर पर सर्वर साइड पर नेटवर्किंग करना अभी भी मुश्किल है। हमें जल्द ही सॉकेट सपोर्ट मिलेगा और चीजें तेजी से आगे बढ़ रही हैं। लैंग्वेज टूलचेन्स और लो-लेवल परफॉर्मेंट कोड भी महत्वपूर्ण हैं लेकिन अभी तक नहीं हैं। हालांकि यह एक रोमांचक क्षण है। WASI (गैर-ब्राउज़र वासम) मानकों ने एक लंबा सफर तय किया है, यहां तक कि पिछले कुछ हफ्तों में - उस पर और बाद में।
सच तो यह है, कुबेरनेट्स की अपनी सीमाएँ हैं, खासकर किनारे पर । हालांकि बहुत प्रगति की गई है (K3s जैसी परियोजनाओं के लिए भारी चिल्लाहट), चीजें केवल इतनी दूर तक जा सकती हैं। कुबेरनेट्स को उन समूहों में चलाया जाता है जो अक्सर एक ही भौगोलिक क्षेत्र का हिस्सा होते हैं। जब सेल टॉवर, पावर स्टेशन, या ब्रिक-एंड-मोर्टार स्टोर में कुछ चल रहा होता है, तो कुबेरनेट्स बहुत अच्छी तरह से स्केल नहीं करता है। हमने इसे देखा है क्योंकि हमने अपने समुदाय के सदस्यों से बात की है। वासम वास्तव में क्रॉस-प्लेटफ़ॉर्म आर्किटेक्चर है और बहुत छोटा चलता है, जिससे यह बढ़त के लिए बेहतर उम्मीदवार बन जाता है।
लागत और उपयोग भी प्रमुख कारक हैं । हमने कई फॉर्च्यून 100 कंपनियों से बात की है और उनका कुबेरनेट सर्वर उपयोग कुल क्षमता का लगभग 25-35% बैठता है, कुछ 50-60% तक। कई लोगों ने अपनी आंतरिक कुबेरनेट्स टीमों को छोड़ दिया है क्योंकि यह बहुत महंगा है। वासम हमें एक छोटी सी जगह में बहुत कुछ पैक करने और इसका बेहतर उपयोग करने की अनुमति देता है।
सुरक्षा भी वासम का एक प्रमुख लाभ है। कंटेनर काफी हद तक सुरक्षित हैं लेकिन बहुत सारी बारीकियां हैं जो विशेष रूप से डेवलपर्स के लिए जटिलता पैदा करती हैं। डिफ़ॉल्ट रूप से, एक WebAssembly मॉड्यूल तब तक कुछ नहीं कर सकता जब तक आप उसे ऐसा करने का विशेषाधिकार नहीं देते।
हालांकि इन सब बातों के बावजूद, वासम और कुबेरनेट्स के साथ अभी वास्तव में क्या करना संभव है? आइए तीन सबसे बड़े परिदृश्यों की समीक्षा करें जहाँ आप सीधे वासम का लाभ उठा सकते हैं।
runwasi
वासम का उपयोग करने का एक बहुत अच्छा तरीका अद्भुत runwasi
परियोजना की जांच करना है जो सीएनसीएफ के कंटेनरड इकोसिस्टम का हिस्सा है। अनिवार्य रूप से, runwasi
आपको कुबेरनेट्स के अंदर कंटेनर शिम के माध्यम से एक WebAssembly रनटाइम चलाने की अनुमति देता है। यह एक कंटेनर के अंदर वासम को चलाने की कोशिश करने की तुलना में एक बेहतर विकल्प है क्योंकि यह सीधे WebAssembly चलाता है, ठीक वैसे ही जैसे आप एक फली में एक कंटेनर को घुमाते हैं।
Envoy और अन्य जालों में पहले से ही WebAssembly का उपयोग करके प्लगइन्स लिखने की क्षमता है। इनके साथ, आप WebAssembly को संकलित करने वाली किसी भी भाषा का उपयोग करके कस्टम फ़िल्टरिंग और अन्य प्लगइन मॉडल लिख सकते हैं।
हम जानते हैं कि कंपनियां पहले से ही विभिन्न उपयोग के मामलों में कुबेरनेट्स को वासम के साथ लाने में मूल्य देख रही हैं। लेकिन एक फ्लैट नेटवर्क टोपोलॉजी में अलग-अलग कंप्यूटिंग को जोड़ने की क्षमता के कारण wasmCloud इसे अगले स्तर पर ले जाता है। मेरे दूसरे डेमो ने दिखाया कि एक ही कोड को तीन अलग-अलग नोड्स में एक अलग स्थान पर ले जाना कितना आसान है। इस मामले में, पासाडेना में मेरा मैक, न्यूयॉर्क में एक डिजिटल महासागर K8s क्लस्टर, और wasmCloud। कोई रिफैक्टरिंग, समान कोड, कोई स्थान नहीं। अगला, Cosmonic प्लेटफॉर्म (wasmCloud पर निर्मित) Wasm के लिए पूर्ण-सेवा वाला दृष्टिकोण लाएगा, जिसकी कंपनियों को उत्पादन के लिए कदम उठाने की आवश्यकता होगी।
कॉस्मोनिक के साथ आज ही निःशुल्क शुरुआत करें। अब लोकार्पण हुआ!
अंत में, और सबसे रोमांचक बात यह है कि इस जगह में चीजें तेजी से आगे बढ़ रही हैं। बेली हेस और डैन चिरलोन की WASM I/O वार्ता देखें, जिसमें दिखाया गया है कि हम WASI मानकों और घटक मॉडल को परिभाषित करने में कितनी दूर आ गए हैं - यह पहला विचार था कि हम वास्तव में भविष्य को कैसा दिखाना चाहते हैं। आप यहां प्रगति का अनुसरण कर सकते हैं और ऐसा होने पर नवीनतम सुनने के लिए बाइटकोड एलायंस में शामिल हो सकते हैं।
- टेलर थॉमस द्वारा, कॉस्मोनिक में इंजीनियरिंग लीड
यह कहानी CosmonicDevs द्वारा हैकरनून के ब्रांड ऐज़ एन ऑथर प्रोग्राम के अंतर्गत रिलीज़ के रूप में वितरित की गई थी। यहां कार्यक्रम के बारे में और जानें: https://business.hackernoon.com/brand-as-author
यदि आप अधिक सीखने में रुचि रखते हैं, प्रश्न हैं, या चैट करना चाहते हैं, तो हमारे साथ डिस्कॉर्ड या स्लैक पर जुड़ें।