
सर्वरलेस कंप्यूटिंग के लिए सुरक्षित और तेज़ माइक्रोVM।
हमारा मिशन कंटेनर और फ़ंक्शन वर्कलोड का सुरक्षित, मल्टी-टेनेंट, न्यूनतम-ओवरहेड निष्पादन सक्षम करना है।
Firecracker चार्टर के बारे में यहाँ और पढ़ें।
Firecracker एक ओपन सोर्स वर्चुअलाइज़ेशन तकनीक है जो विशेष रूप से सुरक्षित, मल्टी-टेनेंट कंटेनर और फ़ंक्शन-आधारित सेवाएँ बनाने और प्रबंधित करने के लिए बनाई गई है जो सर्वरलेस ऑपरेशनल मॉडल प्रदान करती हैं। Firecracker वर्कलोड को हल्के वर्चुअल मशीनों में चलाता है, जिन्हें microVM कहा जाता है, जो हार्डवेयर वर्चुअलाइज़ेशन तकनीक द्वारा प्रदान किए गए सुरक्षा और अलगाव गुणों को कंटेनरों की गति और लचीलेपन के साथ जोड़ते हैं।
Firecracker का मुख्य घटक एक वर्चुअल मशीन मॉनिटर (VMM) है जो microVM बनाने और चलाने के लिए Linux Kernel Virtual Machine (KVM) का उपयोग करता है। Firecracker का डिज़ाइन न्यूनतम है। यह प्रत्येक microVM की मेमोरी फुटप्रिंट और अटैक सतह क्षेत्र को कम करने के लिए अनावश्यक डिवाइस और गेस्ट-मुखी कार्यक्षमता को बाहर करता है। यह सुरक्षा में सुधार करता है, स्टार्टअप समय घटाता है, और हार्डवेयर उपयोग को बढ़ाता है। Firecracker को कंटेनर रनटाइम में भी एकीकृत किया गया है, उदाहरण के लिए Kata Containers और Flintlock।
Firecracker को Amazon Web Services में AWS Lambda और AWS Fargate जैसी सेवाओं की गति और दक्षता बढ़ाने के लिए विकसित किया गया था। Firecracker Apache संस्करण 2.0 के तहत ओपन सोर्स किया गया है।
Firecracker के बारे में अधिक पढ़ने के लिए, firecracker-microvm.io देखें।
Firecracker के साथ शुरुआत करने के लिए, नवीनतम रिलीज़ बाइनरी डाउनलोड करें या इसे स्रोत से बनाएँ।
आप किसी भी Unix/Linux सिस्टम पर Firecracker बना सकते हैं जिसमें Docker चल रहा हो (हम एक डेवलपमेंट कंटेनर उपयोग करते हैं) और bash स्थापित हो, इस प्रकार:
git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"
Firecracker बाइनरी build/cargo_target/${toolchain}/debug/firecracker पर स्थित होगी। Firecracker को बनाने, परीक्षण करने और चलाने के बारे में अधिक जानकारी के लिए, क्विकस्टार्ट गाइड देखें।
Firecracker microVM की समग्र सुरक्षा, जिसमें सुरक्षित मल्टी-टेनेंट कंप्यूटिंग के मानदंडों को पूरा करने की क्षमता शामिल है, एक अच्छी तरह से कॉन्फ़िगर किए गए Linux होस्ट ऑपरेटिंग सिस्टम पर निर्भर करती है। एक कॉन्फ़िगरेशन जो हमारा मानना है कि इस मानक को पूरा करता है, प्रोडक्शन होस्ट सेटअप दस्तावेज़ में शामिल है।
Firecracker पहले से ही AWS के भीतर प्रोडक्शन वर्कलोड चला रहा है, लेकिन यह अभी भी हमारे मिशन द्वारा निर्देशित यात्रा का पहला दिन है। बनाने के लिए बहुत कुछ है और हम सभी योगदानों का स्वागत करते हैं।
Firecracker में योगदान करने के लिए, आरंभ करने गाइड में डेवलपमेंट सेटअप अनुभाग और फिर Firecracker योगदान दिशानिर्देश देखें।
नए Firecracker संस्करण GitHub रिपॉज़िटरी रिलीज़ पृष्ठ के माध्यम से जारी किए जाते हैं, आमतौर पर हर दो या तीन महीने में। परिवर्तनों का इतिहास हमारे चेंजलॉग में दर्ज है।
Firecracker रिलीज़ नीति यहाँ विस्तृत है।
Firecracker की समग्र वास्तुकला डिज़ाइन दस्तावेज़ में वर्णित है।
Firecracker में एक एकल micro वर्चुअल मशीन मैनेजर प्रक्रिया शामिल है जो प्रारंभ होने पर होस्ट को एक API एंडपॉइंट उजागर करती है। API OpenAPI प्रारूप में निर्दिष्ट है। API दस्तावेज़ में इसके बारे में और पढ़ें।
API एंडपॉइंट का उपयोग इनके लिए किया जा सकता है:
[BETA] गेस्ट-मुखी मेटाडेटा सेवा के डेटा ट्री को कॉन्फ़िगर करना। सेवा गेस्ट के लिए केवल तभी उपलब्ध है जब यह संसाधन कॉन्फ़िगर किया गया हो।[डेवलपर प्रीव्यू] VM चल रहे समय virtio PCI डिवाइसों को हॉट-प्लग और हॉट-अनप्लग करना।अंतर्निहित क्षमताएँ:
हम निम्नलिखित के सभी संयोजनों का परीक्षण करते हैं:
*: हम केवल AWS EC2 8वीं पीढ़ी के Intel (*8i) इंस्टेंस का समर्थन करते हैं जो 6.1 या 6.18 होस्ट कर्नेल का उपयोग करते हैं। यह 5.10 पर Granite Rapids CPU के लिए खराब कर्नेल समर्थन के कारण है।
pl031 RTC डिवाइस इंटरप्ट का समर्थन नहीं करता है, इसलिए गेस्ट प्रोग्राम जो RTC अलार्म (जैसे hwclock) का उपयोग करते हैं, काम नहीं करेंगे।Firecracker की प्रदर्शन विशेषताएँ विनिर्देश दस्तावेज़ के भाग के रूप में सूचीबद्ध हैं। सभी विनिर्देश सर्वरलेस ऑपरेशनल मॉडल में कंटेनर और फ़ंक्शन वर्कलोड का समर्थन करने की हमारी प्रतिबद्धता का एक हिस्सा हैं, और इसलिए निरंतर एकीकरण परीक्षण के माध्यम से लागू किए जाते हैं।
Firecracker की सुरक्षा हमारी सर्वोच्च प्राथमिकता है। यदि आपको संदेह है कि आपने एक भेद्यता उजागर की है, तो हमें निजी तौर पर संपर्क करें, जैसा कि हमारे सुरक्षा नीति दस्तावेज़ में उल्लिखित है; हम आपके प्रकटीकरण को तुरंत प्राथमिकता देंगे।
अक्सर पूछे जाने वाले प्रश्न हमारे FAQ दस्तावेज़ में एकत्र किए गए हैं।
आप निम्नलिखित तरीकों से Firecracker समुदाय से संपर्क कर सकते हैं:
Firecracker समुदाय के भीतर संवाद करते समय, कृपया हमारे आचार संहिता का ध्यान रखें।
| इंस्टेंस | होस्ट OS और कर्नेल | गेस्ट रूटफ़्स | गेस्ट कर्नेल |
|---|
| m5n.metal (Intel Cascade Lake) | al2 linux_5.10 | ubuntu 24.04 | linux_5.10 |
| m6i.metal (Intel Ice Lake) | al2023 linux_6.1 | linux_6.1 | |
| al2023 linux_6.18 | |||
| m7i.metal-24xl (Intel Sapphire Rapids) | |||
| m7i.metal-48xl (Intel Sapphire Rapids) | |||
| m8i.metal-48xl (Intel Granite Rapids)* | |||
| m8i.metal-96xl (Intel Granite Rapids)* | |||
| m6a.metal (AMD Milan) | |||
| m7a.metal-48xl (AMD Genoa) | |||
| m6g.metal (Graviton 2) | |||
| m7g.metal (Graviton 3) | |||
| m8g.metal-24xl (Graviton 4) | |||
| m8g.metal-48xl (Graviton 4) |