ภารกิจของเราคือการเปิดใช้งานการดำเนินการที่ปลอดภัยผู้เช่ามีหลายคนน้อยที่สุดของการดำเนินการของคอนเทนเนอร์และปริมาณงานของฟังก์ชั่น
อ่านเพิ่มเติมเกี่ยวกับกฎบัตร Firecracker ที่นี่
FireCracker เป็นเทคโนโลยีการจำลองเสมือนโอเพนซอร์สที่สร้างขึ้นเพื่อการสร้างและจัดการบริการคอนเทนเนอร์ที่มีผู้เช่าหลายรายและบริการที่ใช้ฟังก์ชั่นที่ให้บริการแบบจำลองการทำงานแบบเซิร์ฟเวอร์ Firecracker ทำงานเวิร์กโหลดในเครื่องเสมือนที่มีน้ำหนักเบาเรียกว่า MicroVMS ซึ่งรวมคุณสมบัติด้านความปลอดภัยและการแยกที่จัดทำโดยเทคโนโลยีการจำลองเสมือนฮาร์ดแวร์ด้วยความเร็วและความยืดหยุ่นของภาชนะบรรจุ
ส่วนประกอบหลักของ FireCracker คือเครื่องตรวจสอบเครื่องเสมือน (VMM) ที่ใช้ Linux Kernel Virtual Machine (KVM) เพื่อสร้างและเรียกใช้ microVMS Firecracker มีการออกแบบที่เรียบง่าย มันไม่รวมอุปกรณ์ที่ไม่จำเป็นและฟังก์ชั่นการหันหน้าเข้าหาแขกเพื่อลดพื้นที่หน่วยความจำและพื้นที่ผิวการโจมตีของแต่ละ microvm สิ่งนี้ช่วยเพิ่มความปลอดภัยลดเวลาเริ่มต้นและเพิ่มการใช้ฮาร์ดแวร์ Firecracker ยังรวมอยู่ในคอนเทนเนอร์ Runtimes เช่น Kata Container และ Flintlock
Firecracker ได้รับการพัฒนาที่ Amazon Web Services เพื่อเร่งความเร็วและประสิทธิภาพของบริการเช่น AWS Lambda และ AWS Fargate Firecracker เปิดให้บริการภายใต้ Apache เวอร์ชัน 2.0
หากต้องการอ่านเพิ่มเติมเกี่ยวกับ Firecracker ลองดู Firecracker-Microvm.io
ในการเริ่มต้นด้วย FireCracker ให้ดาวน์โหลดไบนารีรุ่นล่าสุดหรือสร้างจากแหล่งที่มา
คุณสามารถสร้าง FireCracker บนระบบ UNIX/LINUX ใด ๆ ที่มี Docker Running (เราใช้คอนเทนเนอร์การพัฒนา) และติดตั้ง bash
ดังต่อไปนี้:
git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain= " $( uname -m ) -unknown-linux-musl "
FireCracker Binary จะถูกวางไว้ที่ build/cargo_target/${toolchain}/debug/firecracker
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างการทดสอบและการเรียกใช้ Firecracker ให้ไปที่ Guide Quickstart
ความปลอดภัยโดยรวมของ Firecracker MicroVMs รวมถึงความสามารถในการเป็นไปตามเกณฑ์สำหรับการคำนวณผู้เช่าหลายคนที่ปลอดภัยขึ้นอยู่กับระบบปฏิบัติการโฮสต์ Linux ที่กำหนดค่าไว้อย่างดี การกำหนดค่าที่เราเชื่อว่าตรงกับแถบนี้รวมอยู่ในเอกสารการตั้งค่าโฮสต์การผลิต
Firecracker กำลังดำเนินงานการผลิตงานภายใน AWS อยู่แล้ว แต่ก็ยังคงเป็นวันที่ 1 ในการเดินทางโดยภารกิจของเรา มีอะไรอีกมากมายให้สร้างและเรายินดีต้อนรับการมีส่วนร่วมทั้งหมด
หากต้องการมีส่วนร่วมในการประทัดให้ตรวจสอบส่วนการตั้งค่าการพัฒนาในคู่มือการเริ่มต้นและจากนั้นแนวทางการบริจาคของ Firecracker
รุ่น Firecracker ใหม่จะถูกปล่อยออกมาผ่านหน้า Releases GitHub โดยทั่วไปทุกสองหรือสามเดือน ประวัติความเป็นมาของการเปลี่ยนแปลงถูกบันทึกไว้ในการเปลี่ยนแปลงของเรา
นโยบายการเปิดตัวของ Firecracker มีรายละเอียดที่นี่
สถาปัตยกรรมโดยรวมของ Firecracker อธิบายไว้ในเอกสารการออกแบบ
Firecracker ประกอบด้วยกระบวนการ Micro Virtual Machine Manager เดียวที่เปิดเผยจุดสิ้นสุด API ไปยังโฮสต์เมื่อเริ่มต้น API ถูกระบุในรูปแบบ openapi อ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ในเอกสาร API
จุดสิ้นสุด API สามารถใช้เพื่อ:
[BETA]
กำหนดค่าแผนผังข้อมูลของบริการข้อมูลเมตาที่หันหน้าเข้าหาแขก บริการจะพร้อมใช้งานเฉพาะสำหรับแขกหากมีการกำหนดค่าทรัพยากรนี้ความสามารถในตัว :
เราทดสอบชุดค่าผสมทั้งหมดของ:
ตัวอย่าง | โฮสต์ OS & Kernel | รูทของแขกรับเชิญ | เคอร์เนลแขก |
---|---|---|---|
c5n.metal | Al2 Linux_5.10 | Ubuntu 24.04 | linux_5.10 |
m5n.metal | Al2023 Linux_6.1 | linux_6.1 | |
m6i.metal | |||
m6a.metal | |||
m6g.metal | |||
m7g.metal |
pl031
RTC บน AARCH64 ไม่รองรับการขัดจังหวะดังนั้นโปรแกรมแขกที่ใช้สัญญาณเตือน RTC (เช่น hwclock
) จะไม่ทำงาน ลักษณะการปฏิบัติงานของ Firecracker แสดงเป็นส่วนหนึ่งของเอกสารข้อมูลจำเพาะ ข้อกำหนดทั้งหมดเป็นส่วนหนึ่งของความมุ่งมั่นของเราในการสนับสนุนคอนเทนเนอร์และฟังก์ชั่นเวิร์กโหลดในรูปแบบการทำงานแบบไร้เซิร์ฟเวอร์และดังนั้นจึงมีการบังคับใช้ผ่านการทดสอบการรวมอย่างต่อเนื่อง
ความปลอดภัยของ Firecracker เป็นสิ่งสำคัญที่สุดของเรา หากคุณสงสัยว่าคุณได้เปิดเผยช่องโหว่ติดต่อเราเป็นการส่วนตัวตามที่ระบุไว้ในเอกสารนโยบายความปลอดภัยของเรา เราจะจัดลำดับความสำคัญของการเปิดเผยของคุณทันที
คำถามที่พบบ่อยจะถูกรวบรวมในเอกสารที่พบบ่อยของเรา
คุณสามารถติดต่อกับชุมชน Firecracker ในรูปแบบต่อไปนี้:
เมื่อสื่อสารภายในชุมชน Firecracker โปรดทราบถึงจรรยาบรรณของเรา