ประทัด

ประทัด

Firecracker คือ Virtual Machine Monitor (VMM) โอเพนซอร์สที่พัฒนาโดย AWS ซึ่งสามารถเริ่มต้น microVM ที่มีน้ำหนักเบาได้ภายใน 125 มิลลิวินาทีหรือน้อยกว่า โดยรองรับทั้งความหนาแน่นในระดับเดียวกับ container และการแยกความปลอดภัยในระดับเดียวกับ VM

Firecracker ได้รับการพัฒนาขึ้นเพื่อเป็นโครงสร้างพื้นฐานการรันของ AWS Lambda และ AWS Fargate โดยทำงานบน KVM (Kernel-based Virtual Machine) ของ Linux VM แบบดั้งเดิมต้องใช้เวลาหลายสิบวินาทีในการบูตเนื่องจากต้องโหลด OS image ทั้งหมด แต่ Firecracker ตัดการจำลองอุปกรณ์ที่ไม่จำเป็นออกอย่างเด็ดขาด โดยจำลองเฉพาะ serial port, network และ block storage เท่านั้น ด้วยการตัดสินใจที่ชัดเจนนี้ ทำให้ memory footprint อยู่ที่ต่ำกว่า 5 MB และเวลาบูตอยู่ที่ไม่เกิน 125 ms

ความแตกต่างจาก Container

Container (เช่น Docker) ใช้ kernel ของ host OS ร่วมกัน ดังนั้นหากพบช่องโหว่ใน kernel อาจมีความเสี่ยงที่การแยกระหว่าง tenant จะถูกทำลาย Firecracker จัดสรร kernel อิสระให้กับแต่ละ workload จึงสามารถรักษาการแยกที่แข็งแกร่งได้แม้ในสภาพแวดล้อม multi-tenant ในขณะเดียวกัน ความเร็วในการบูตที่เทียบเท่ากับ container ถือเป็นจุดสร้างความแตกต่างที่สำคัญที่สุดเมื่อเปรียบเทียบกับ VM แบบดั้งเดิม

สถานการณ์การใช้งาน

ตัวอย่างการใช้งานที่คุ้นเคยที่สุดคือ AWS Lambda ทุกครั้งที่ผู้ใช้เรียกใช้ฟังก์ชัน microVM ของ Firecracker จะถูกเปิดขึ้นและถูกทำลายเมื่อการรันสิ้นสุดลง แม้จะมี microVM หลายพันตัวอยู่ร่วมกันบนเซิร์ฟเวอร์ทางกายภาพเครื่องเดียว memory space และ file system ของแต่ละตัวก็ยังคงถูกแยกออกจากกันอย่างสมบูรณ์

นอกเหนือจาก serverless การนำไปใช้ยังขยายตัวในกรณีการใช้ VM แบบใช้แล้วทิ้งสำหรับแต่ละ build ใน CI/CD pipeline และการแบ่งทรัพยากร hardware ที่จำกัดอย่างมีประสิทธิภาพที่ edge location เนื่องจากถูก implement ด้วย Rust จึงมีความปลอดภัยของ memory สูง และได้รับการยอมรับในอุตสาหกรรมการเงินและ healthcare ที่มีข้อกำหนดด้านความปลอดภัยที่เข้มงวด

ข้อจำกัดและข้อควรระวัง

Firecracker ไม่ใช่ VM อเนกประสงค์ ไม่รองรับ GPU passthrough หรือการแสดงผล GUI และ kernel ที่รองรับก็จำกัดเฉพาะ Linux เท่านั้น หากต้องการรัน Windows workload หรือต้องการการประมวลผล inference ด้วย GPU QEMU/KVM หรือ instance เฉพาะทางยังคงเป็นตัวเลือกที่ใช้งานได้