
أجهزة microVMs آمنة وسريعة للحوسبة بدون خادم.
مهمتنا هي تمكين التنفيذ الآمن متعدد المستأجرين ومنخفض النفقات العامة لأحمال عمل الحاويات والدوال.
اقرأ المزيد عن ميثاق Firecracker هنا.
Firecracker هي تقنية افتراضية مفتوحة المصدر صُممت خصيصًا لإنشاء وإدارة خدمات آمنة متعددة المستأجرين قائمة على الحاويات والدوال، والتي توفر نماذج تشغيل بدون خادم (serverless). يشغّل Firecracker أحمال العمل داخل أجهزة افتراضية خفيفة تُسمى microVMs، والتي تجمع بين خصائص الأمان والعزل التي توفرها تقنية الافتراضية عبر العتاد (hardware virtualization) مع سرعة ومرونة الحاويات.
المكوّن الرئيسي لـ Firecracker هو مراقب آلة افتراضية (VMM) يستخدم نواة Linux الافتراضية (Kernel Virtual Machine - KVM) لإنشاء وتشغيل microVMs. يتميز Firecracker بتصميم بسيط للغاية، حيث يستبعد الأجهزة غير الضرورية والوظائف الموجهة للضيف لتقليل البصمة الذاكرية وسطح الهجوم لكل microVM. وهذا يحسّن الأمان، ويقلل زمن الإقلاع، ويزيد من استغلال العتاد. كما تم دمج Firecracker في بيئات تشغيل الحاويات، مثل Kata Containers وFlintlock.
طُوّر Firecracker في Amazon Web Services لتسريع وتحسين كفاءة خدمات مثل AWS Lambda وAWS Fargate. Firecracker متاح كمصدر مفتوح بموجب رخصة Apache الإصدار 2.0.
لمعرفة المزيد عن Firecracker، تفضل بزيارة firecracker-microvm.io.
للبدء مع Firecracker، قم بتنزيل أحدث ملفات الإصدارات أو قم ببنائه من المصدر.
يمكنك بناء Firecracker على أي نظام Unix/Linux يحتوي على 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 واختباره وتشغيله، راجع دليل البدء السريع.
يعتمد الأمان العام لـ microVMs الخاصة بـ Firecracker، بما في ذلك القدرة على تلبية معايير الحوسبة الآمنة متعددة المستأجرين، على نظام تشغيل مضيف Linux مهيأ بشكل جيد. تم تضمين إعداد نعتقد أنه يلبي هذا المستوى في وثيقة إعداد المضيف الإنتاجي.
يعمل Firecracker بالفعل على أحمال عمل إنتاجية داخل AWS، لكنه لا يزال في اليوم الأول من الرحلة التي يوجهها ميثاقنا. هناك الكثير مما يجب بناؤه ونرحب بجميع المساهمات.
للمساهمة في Firecracker، راجع قسم إعداد التطوير في دليل البدء ثم إرشادات المساهمة الخاصة بـ Firecracker.
يتم إصدار نسخ جديدة من Firecracker عبر صفحة الإصدارات في مستودع GitHub، عادةً كل شهرين أو ثلاثة أشهر. يتم تسجيل تاريخ التغييرات في سجل التغييرات.
سياسة إصدار Firecracker مفصلة هنا.
يتم وصف البنية العامة لـ Firecracker في وثيقة التصميم.
يتكون Firecracker من عملية واحدة لإدارة الآلات الافتراضية الدقيقة (micro Virtual Machine Manager) تعرض نقطة نهاية API للمضيف بمجرد تشغيلها. يتم تحديد الـ API بصيغة OpenAPI. اقرأ المزيد عنها في وثائق الـ API.
يمكن استخدام نقطة نهاية الـ API من أجل:
[BETA] تهيئة شجرة البيانات لخدمة البيانات الوصفية الموجهة للضيف. الخدمة متاحة للضيف فقط إذا تم تهيئة هذا المورد.[Developer Preview] الإضافة والإزالة الساخنة لأجهزة virtio PCI أثناء تشغيل الـ VM.القدرات المدمجة:
نختبر جميع المجموعات التالية:
| Instance | Host OS & Kernel | Guest Rootfs | Guest Kernel |
|---|---|---|---|
| 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) | |||
| m9g.metal-48xl (Graviton 5) |
*: نحن ندعم فقط حالات AWS EC2 من الجيل الثامن من Intel (*8i) باستخدام نواة مضيفة 6.1 أو 6.18. وذلك بسبب ضعف دعم النواة لوحدات المعالجة Granite Rapids على الإصدار 5.10.
pl031 RTC على aarch64 لا يدعم المقاطعات، لذا فإن برامج الضيف التي تستخدم منبه RTC (مثل hwclock) لن تعمل.يتم إدراج خصائص أداء Firecracker كجزء من وثائق المواصفات. جميع المواصفات هي جزء من التزامنا بدعم أحمال عمل الحاويات والدوال في نماذج التشغيل بدون خادم، وبالتالي يتم فرضها عبر اختبارات التكامل المستمر.
أمان Firecracker هو أولويتنا القصوى. إذا كنت تشك في اكتشاف ثغرة أمنية، فتواصل معنا بشكل خاص، كما هو موضح في وثيقة السياسة الأمنية الخاصة بنا؛ سنعطي أولوية فورية لإفصاحك.
يتم جمع الأسئلة الشائعة في وثيقة الأسئلة الشائعة.
يمكنك التواصل مع مجتمع Firecracker بالطرق التالية:
عند التواصل داخل مجتمع Firecracker، يرجى مراعاة مدونة قواعد السلوك الخاصة بنا.