
सर्वरलेस कंप्यूटिंग के लिए सुरक्षित और तेज़ माइक्रो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 के भीतर प्रोडक्शन वर्कलोड चला रहा है, लेकिन यह अभी भी हमारे मिशन द्वारा निर्देशित यात्रा का दिन 1 है। बनाने के लिए बहुत कुछ है और हम सभी योगदानों का स्वागत करते हैं।
Firecracker में योगदान करने के लिए, आरंभ करने वाली गाइड में डेवलपमेंट सेटअप अनुभाग और फिर Firecracker योगदान दिशानिर्देश देखें।
नए Firecracker संस्करण GitHub रिपॉज़िटरी रिलीज़ पृष्ठ के माध्यम से जारी किए जाते हैं, आमतौर पर हर दो या तीन महीने में। परिवर्तनों का इतिहास हमारे चेंजलॉग में दर्ज है।
Firecracker रिलीज़ नीति यहाँ विस्तृत है।
Firecracker की समग्र वास्तुकला डिज़ाइन दस्तावेज़ में वर्णित है।
Firecracker में एक एकल micro वर्चुअल मशीन मैनेजर प्रक्रिया होती है जो शुरू होने पर होस्ट को एक API एंडपॉइंट उजागर करती है। API OpenAPI प्रारूप में निर्दिष्ट है। API दस्तावेज़ में इसके बारे में और पढ़ें।
API एंडपॉइंट का उपयोग निम्न के लिए किया जा सकता है:
[BETA] गेस्ट-फेसिंग मेटाडेटा सेवा का डेटा ट्री कॉन्फ़िगर करें। यह सेवा गेस्ट के लिए केवल तभी उपलब्ध है जब यह संसाधन कॉन्फ़िगर किया गया हो।[डेवलपर प्रीव्यू] VM चलते समय virtio PCI डिवाइसों को हॉट-प्लग और हॉट-अनप्लग करें।अंतर्निहित क्षमताएँ:
हम सभी संयोजनों का परीक्षण करते हैं: