ก้าวข้ามคอนเทนเนอร์ – แนะนำ Boxer
(youtube.com)การบรรยายนี้แนะนำโปรเจ็กต์ Boxer ซึ่งนำเสนอความเป็นไปได้ใหม่ของ WASM (WebAssembly) ที่ก้าวข้ามคอนเทนเนอร์
Boxer มีเป้าหมายในการสร้าง WASM binary โดยใช้ dockerfile และมอบความเข้ากันได้กับ POSIX ผ่าน lib c ที่ชื่อว่า marquott เพื่อทำให้สามารถจำลองสภาพแวดล้อมภายใน WASM ที่คล้ายกับ native code ได้
ในท้ายที่สุด Boxer ต้องการสร้างสภาพแวดล้อมการประมวลผลที่ปลอดภัยกว่า เร็วกว่า และ deploy ได้อย่างแพร่หลาย เพื่อมอบ runtime ที่เชื่อถือได้สำหรับยุค AI
-
แนะนำผู้บรรยาย
ผู้บรรยายคือ Dan Phillips และทำงานอยู่ที่ Loophole Labs
เขาพัฒนาผลิตภัณฑ์ชื่อ Architect.Run เป็นหลัก ซึ่งมอบวิธีการย้าย VM ได้โดยไม่มี downtime
-
เหตุผลที่คอนเทนเนอร์ได้รับความนิยม
มีหลายเหตุผลที่ผู้คนชอบคอนเทนเนอร์ แต่เหตุผลสำคัญที่สุดคือมันถูกมองว่าเป็นหน่วยพื้นฐานของ cloud native
คอนเทนเนอร์ใช้งานได้อย่างเรียบง่ายมากเมื่อทำงานจริง และผู้ใช้ไม่จำเป็นต้องรู้ว่ารันไทม์ถูกนำไปใช้อย่างไร
นักพัฒนาจำนวนมากมองคอนเทนเนอร์เป็น mini VM และใช้งานผ่านการเชื่อมต่อ SSH
-
วิวัฒนาการของ Docker
คอนเทนเนอร์มีอยู่ก่อน docker แล้ว แต่ docker ปรับปรุงประสบการณ์ของนักพัฒนาและทำให้การใช้งานคอนเทนเนอร์ง่ายขึ้น
docker มอบ abstraction สำหรับ runtime ที่หลากหลาย ทำให้นักพัฒนาสามารถใช้งานได้โดยไม่ต้องกังวลกับรายละเอียดที่ซับซ้อน
-
WASM และ Scale
ตลอด 2 ปีที่ผ่านมา Loophole Labs ได้นำ WASM มาใช้งานจริงผ่านผลิตภัณฑ์ที่ชื่อว่า Scale
Scale เป็น open source plugin framework ที่รองรับ Rust, Go และ TypeScript
นักพัฒนาไม่ต้องการเขียน system code ใหม่ทั้งหมด และชอบประสบการณ์การพัฒนาที่เรียบง่าย
-
แนะนำโปรเจ็กต์ Boxer
โปรเจ็กต์ Boxer เป็นความพยายามในการผสานความเข้ากันได้ของ native code เข้ากับข้อดีของ WASM
คอนเทนเนอร์แบบเดิมมีฟังก์ชันระบบที่ซับซ้อนอยู่มาก แต่ Boxer ใช้แนวทางเลือกเพิ่มเฉพาะสิ่งที่จำเป็น
-
Marquott และ POSIX
marquott เป็นโปรเจ็กต์ย่อยของ Boxer และมีเป้าหมายในการนำสเปก POSIX มาใช้งานจริง
ขณะนี้มีการ implement ความสามารถของ POSIX ไปแล้วราว 60% แต่ฟีเจอร์อย่างการจัดการ process และ thread ยังไม่สมบูรณ์
-
ระบบไฟล์และ VFS
แต่ละโมดูลและ process จำเป็นต้องมีระบบไฟล์ และ marquott ใช้ virtual file system (VFS) ที่พัฒนาด้วย Rust
virtual file system นี้คล้ายกับ abstraction ที่ใช้ในระบบ Unix ส่วนใหญ่
-
ความสามารถของ Boxer
Boxer รับ docker file เป็นอินพุตเพื่อสร้าง WASM binary และความสามารถของ host plugin
marquott รวมทั้ง virtualized file system และ system code layer เพื่อรองรับ runtime ที่หลากหลาย
-
เดโมและกรณีการใช้งาน
มีการสาธิตวิธีใช้ docker file เพื่อสร้าง WASM binary และรันมันได้ทั้งบนเครื่องโลคัล เซิร์ฟเวอร์ และเบราว์เซอร์
โดยเน้นย้ำถึงความเป็นไปได้ในการรันโค้ดเดียวกันบนสภาพแวดล้อมที่หลากหลาย
-
ความเป็นไปได้ในอนาคต
WASM ทำให้สามารถรันโค้ดขนาดเล็ก ปลอดภัย และรวดเร็ว จึงสามารถนำไปใช้ได้ในสภาพแวดล้อมที่หลากหลาย
อีกทั้งยังเปิดโอกาสให้ใช้ประโยชน์จากทรัพยากรการประมวลผลที่ว่างอยู่จำนวนมาก
-
ช่วงถามและตอบ
หลังการบรรยายมีการรับคำถาม และตอบประเด็นเกี่ยวกับวิธีแปลงโปรแกรม C เป็น WASM ระดับความปลอดภัย และการสร้างฟังก์ชันที่ซับซ้อน
1 ความคิดเห็น
นี่คือเนื้อหาสรุป
https://lilys.ai/digest/3762112/2446928?s=1&nid=2446928