• Kernel एक सर्वरलेस प्लेटफ़ॉर्म है जो डेवलपर्स को ब्राउज़र ऑटोमेशन कोड बिना अलग इंफ्रास्ट्रक्चर की चिंता के तुरंत डिप्लॉय करने और बड़े पैमाने पर स्केल करने देता है
  • किसी सेटअप या पाइपलाइन निर्माण के बिना, लोकल डेवलपमेंट के लगभग समान गति से कोड डिप्लॉय और रन किया जा सकता है
  • यह सैंडबॉक्स वातावरण में उपयोग के लिए Chrome ब्राउज़र प्रदान करता है, और लिखे गए एजेंट्स को अपने-आप API में बदल देता है, जिन्हें कहीं से भी कॉल किया जा सकता है
  • Playwright, Puppeteer जैसे Chrome DevTools Protocol आधारित फ्रेमवर्क्स के साथ इंटीग्रेशन का समर्थन करता है, और रिमोट GUI (लाइव व्यू) के ज़रिए रियल-टाइम मॉनिटरिंग और कंट्रोल संभव है
  • Unikraft unikernel वातावरण के समर्थन से अत्यंत तेज़ रीस्टार्ट, स्नैपशॉट रिस्टोर, न्यूनतम संसाधन उपयोग जैसे हाई-परफॉर्मेंस फीचर्स मिलते हैं
  • Docker इमेज और Unikraft unikernel दोनों डिप्लॉयमेंट तरीकों का समर्थन करता है, इसलिए इसे अलग-अलग cloud/container environments में उपयोग किया जा सकता है
  • सारा कोड आइसोलेटेड वर्चुअल मशीन में सुरक्षित रूप से चलता है, और रियल-टाइम ऑब्ज़र्वेबिलिटी तथा डिबगिंग टूल्स प्रदान किए जाते हैं

What's Kernel?

  • Kernel एक सैंडबॉक्स्ड, तुरंत उपयोग के लिए तैयार Chrome ब्राउज़र environment देता है, और यह repository Kernel की hosted service के लिए बेस कोड है
  • Playwright, Puppeteer जैसे Chrome DevTools आधारित ब्राउज़र फ्रेमवर्क्स से आसानी से कनेक्ट किया जा सकता है

Why use Kernel?

  • लोकल से प्रोडक्शन तक कुछ ही सेकंड में डिप्लॉयमेंट
    • अलग सेटअप या प्रोडक्शन पाइपलाइन के बिना, bun run dev जितने लगभग समय में कोड डिप्लॉय और रन किया जा सकता है
  • हर एजेंट को API में बदलें
    • प्लेटफ़ॉर्म पर अपलोड किए गए सभी एजेंट अपने-आप API के रूप में एक्सपोज़ हो जाते हैं, ताकि उन्हें बाहर से कॉल किया जा सके
  • पैरलल स्केलेबिलिटी
    • ज़रूरत पड़ने पर हज़ारों ब्राउज़र इंस्टेंस तुरंत रन और स्केल किए जा सकते हैं
  • बेहतर आइसोलेशन और ऑब्ज़र्वेबिलिटी
    • कोड आइसोलेटेड VM में चलता है, इसलिए सुरक्षा अधिक रहती है, और मॉनिटरिंग तथा डिबगिंग टूल्स मिलते हैं
  • सरल और अनुमानित प्राइसिंग
    • पहले से इंफ्रास्ट्रक्चर परिभाषित किए बिना, केवल उपयोग किए गए संसाधनों के अनुसार ही लागत लगती है

प्रमुख फीचर्स

  • इंटीग्रेटेड ब्राउज़र environment : cloud पर तुरंत ब्राउज़र बनाना और नियंत्रित करना, ऑटोमेशन workloads के लिए अनुकूलित
  • सैंडबॉक्स Chrome ब्राउज़र को DevTools आधारित ऑटोमेशन फ्रेमवर्क्स से कनेक्ट करके इस्तेमाल किया जा सकता है
    • 9222 पोर्ट के माध्यम से Playwright, Puppeteer आदि के साथ इंटीग्रेशन
    • CDP WebSocket endpoint प्राप्त करने के बाद रिमोट क्लाइंट से कनेक्ट करें
    • disconnect/reconnect संभव है
  • सेशन स्टेट बनाए रखना : cookies, authentication tokens, history आदि ब्राउज़र सेशन को कॉल्स के बीच भी बनाए रखता है
  • अत्यंत तेज़ रीस्टार्ट (standby mode) : ब्राउज़र इंस्टेंस को 20ms से कम समय में तुरंत रीस्टार्ट किया जा सकता है
  • रिमोट GUI (लाइव व्यू स्ट्रीमिंग) के ज़रिए ब्राउज़र स्क्रीन को रियल-टाइम में देखना और नियंत्रित करना संभव है
    • noVNC: VNC आधारित, read/write सपोर्ट, WebRTC disabled होना चाहिए
    • WebRTC: रियल-टाइम, read/write, window resize, copy/paste, high-speed performance, ENABLE_WEBRTC=true आवश्यक
    • ऑडियो स्ट्रीमिंग समर्थित नहीं है, read-only mode को environment variable से सेट किया जा सकता है
  • ब्राउज़र सेशन वीडियो रिप्ले : पिछले सेशन्स को दोबारा देखकर डिबगिंग और विश्लेषण संभव (जल्द उपलब्ध)

इम्प्लीमेंटेशन और डिप्लॉयमेंट

  • Docker कंटेनर का उपयोग

    • headful Chromium को Docker कंटेनर में चलाया जा सकता है
    • cd images/chromium-headful के बाद, build और run scripts उपलब्ध हैं
    • environment variables के ज़रिए WebRTC enable करना और अन्य सेटिंग्स संभव हैं
  • Unikraft Unikernel का उपयोग

    • Unikraft unikernel आधारित रनटाइम में, Docker आधारित तरीके की तुलना में और तेज़ स्टार्टअप और standby mode मिलता है
    • नेटवर्क ट्रैफ़िक न होने पर अपने-आप standby mode में चला जाता है, और state snapshot/restore समर्थित है
    • Cold start 20ms से कम, और session state (cookies, files, browser settings आदि) को बनाए रखना और restore करना संभव है
    • 8GB या उससे अधिक memory आवश्यक है
  • डिप्लॉयमेंट के समय ध्यान देने योग्य बातें

    • WebRTC आधारित स्ट्रीमिंग enable करने पर TURN server आवश्यक है
    • unikernel डिप्लॉयमेंट में public URL जारी होता है और उस तक कोई भी पहुँच सकता है, इसलिए संवेदनशील कार्यों के लिए उपयोग न करें, और उपयोग के बाद instance हटा देना चाहिए

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.