10 คะแนน โดย GN⁺ 2024-11-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Spin เป็นเครื่องมือพัฒนาโอเพนซอร์สสำหรับสร้าง ปรับใช้ และรันแอปพลิเคชัน WebAssembly (Wasm) แบบเซิร์ฟเวอร์เลสได้ทุกที่
  • มีข้อดีคือให้ไบนารีแบบพกพาที่มีขนาดเล็ก เวลาเริ่มต้นต่ำ และมีปริมาณงานรองรับสูง ทำให้สามารถรันแอปพลิเคชันได้ในหลากหลายสภาพแวดล้อม

ไฮไลต์ของ Spin 3.0

  • ด้วยความเบาของ Wasm เวลาเริ่มต้นที่รวดเร็ว และความปลอดภัย จึงเหมาะกับการใช้งานฝั่งเซิร์ฟเวอร์ โดยได้เปรียบในกรณีที่คอนเทนเนอร์ช้าหรือมีขนาดใหญ่ กรณีที่ต้องการแซนด์บ็อกซ์อย่างเข้มงวด หรือกรณีใช้งานแบบเซิร์ฟเวอร์เลส
  • WebAssembly Component Model ช่วยทำให้การทำงานร่วมกันระหว่างภาษาโปรแกรมต่าง ๆ เป็นมาตรฐาน จึงเปิดโอกาสใหม่ ๆ ให้กับนักพัฒนา
  • การพึ่งพาคอมโพเนนต์ - เขียนโปรแกรมหลายภาษาได้ง่ายขึ้น
    • Spin 3.0 นำเสนอเวิร์กโฟลว์การพัฒนาที่สามารถใช้ไลบรารีที่เขียนด้วย Rust เป็น dependency ในแอปพลิเคชัน JavaScript ได้ เป็นต้น
    • สามารถจัดเก็บ ค้นหา และนำเข้าคอมโพเนนต์จาก OCI registry ได้ มอบประสบการณ์คล้ายกับ npm/NuGet/crates.io
  • การปรับใช้แบบเลือกได้ - สร้างครั้งเดียวแล้วเลือกปรับใช้ตามต้องการ
    • สามารถรันบางคอมโพเนนต์ของแอปพลิเคชัน Spin แบบโลคัลหรือผ่าน SpinKube ได้
    • ใช้แฟลก spin up --component-id เพื่อระบุคอมโพเนนต์ที่จะรัน และเปิดทางให้วิศวกรแพลตฟอร์มสามารถเลือกรันคอมโพเนนต์บนโหนดที่ตรงกับข้อกำหนดเฉพาะได้
  • การผสานรวมอย่างลึกกับมาตรฐาน WASI
    • โครงการ Spin มีส่วนร่วมกับ WASI API และผสานรวมเข้ากับ Spin เพื่อรองรับความต้องการของชุมชน
    • WASI Key-Value และ WASI Config API ได้รับการรองรับอย่างเป็นทางการใน Spin
  • การผสานรวม OpenTelemetry (OTel) - มาพร้อมความสามารถด้าน observability
    • Spin 3.0 รองรับ observability ของ OpenTelemetry (OTel) อย่างเป็นทางการ ทำให้ผสานเข้ากับเครื่องมืออย่าง Grafana, Jaegar, Prometheus ได้
    • ตั้งค่า observability stack ได้ง่ายผ่านปลั๊กอิน spin otel
  • Spin Factors - การรีแฟกเตอร์รันไทม์ครั้งใหญ่
    • มีการรีแฟกเตอร์โครงสร้างภายในของ Spin ครั้งใหญ่ผ่านความสามารถที่เรียกว่า Spin Factors เพื่อเพิ่มความเป็นโมดูลาร์
    • การขยาย Spin runtime ทำได้ง่ายขึ้น และแม้ยังต้องฟอร์กโปรเจกต์ก็สามารถทำได้
  • เดโม - การใช้งาน Spin 3.0
    • มีตัวอย่างการใช้ความสามารถด้าน component dependency ของ Spin 3.0 เพื่อสร้างคอมโพเนนต์แปลงภาพด้วย Rust แล้วนำไปใช้เป็น dependency ในคอมโพเนนต์ JavaScript/TypeScript
    • ใช้ปลั๊กอิน spin deps เพื่อเผยแพร่คอมโพเนนต์ไปยัง OCI registry และให้คอมโพเนนต์ Wasm ที่เขียนด้วยภาษาอื่นนำไปใช้ต่อได้
  • สถานะของอีโคซิสเต็ม
    • มีทั้ง CLI plugin และ trigger plugin ใหม่ ๆ เพิ่มขึ้นมา และยังมีรีลีสใหม่ของโครงการ SpinKube ด้วย
    • มีการเพิ่มฟีเจอร์ใหม่ รวมถึงการปรับใช้แบบเลือกได้

1 ความคิดเห็น

 
ragingwind 2024-11-15

OTel ตอนนี้เหมือนจะกลายเป็นค่าปริยายไปแล้ว