บริษัทความปลอดภัยพอร์ตไลบรารี JSONata เป็นภาษา Go ด้วย AI ช่วยประหยัดปีละ 16 ล้านบาท
Body
Reco บริษัทความปลอดภัยองค์กรเล่าถึงประสบการณ์การพอร์ตไลบรารี JSONata จาก JavaScript เป็น Go ด้วย AI เพื่อลด overhead ในการรันคิวรี ผลการพัฒนาทำให้ค่าเซิร์ฟเวอร์ประหยัดลงมหาศาลเทียบกับค่าโทเค็นของ AI
ทีมงาน Reco ระบุว่าได้แรงบันดาลใจจาก Cloudflare ที่สร้าง Next.js ขึ้นใหม่ และพบว่าในบริษัทมีปัญหาคล้ายกัน คือ เอนจินของบริษัทใช้ไลบรารี JSONata เพื่อตรวจสอบนโยบายความปลอดภัยของ event ภายใน ปัญหาคือ JSONata เป็นไลบรารีภาษา JavaScript แต่เอนจินหลักเป็นภาษา Go แนวทางก่อนหน้านี้ทีมงานสร้าง container แยกออกไปแล้วให้เอนจินหลักเรียกผ่าน RPC แม้จะทำงานได้ดีแต่ค่าเซิร์ฟเวอร์สำหรับ container เหล่านี้คิดเป็นค่าใช้จ่าย 300,000 ดอลลาร์ต่อปี เพราะต้องใช้ถึง 200 replica ในลูกค้าใหญ่ๆ
ที่ผ่านมา Reco พยายามหาทางออปติไมซ์หลายทาง ทั้งการรัน JSONata ภายในโปรเซส Go ด้วยการฝัง V8 เข้าไปทั้งเอนจินแต่ก็พบว่าลดค่าใช้จ่ายลงไม่มาก ขณะที่ไลบรารี GJSON เพิ่มประสิทธิภาพสูงขึ้นมาก แต่รองรับคิวรีที่ซับซ้อนไม่ได้
หลังจากที่ Nir Barak ทีมงาน Reco ได้อ่านบล็อกของ Cloudflare เขาดึงเอาสเปคของ JSONata และสร้างโครงการใหม่ในภาษา Go โดยอาศัยชุดทดสอบ 1,778 ชุดจาก JSONata และสร้างชุดทดสอบใหม่ 2,107 ชุดสำหรับการทดสอบการทำงานของ wrapper เดิมที่ Reco ใช้เรียก JSONata ใช้เวลาการพัฒนารวม 7 ชั่วโมง ค่าใช้จ่ายรวม 400 ดอลลาร์
ผลการประหยัดที่ได้ นอกจากการลด container ของ JSONata ออกไปจากระบบแล้ว ยังจัดการทรัพยากรได้ดีขึ้น จนทีมงานสามารถลดค่าเซิร์ฟเวอร์เอนจินรวมได้อีก 200,000 ดอลลาร์ต่อปี รวมเป็น 500,000 ดอลลาร์ต่อปีหรือประมาณ 16 ล้านบาท
ไลบรารี gnata เปิดเป็นโอเพนซอร์สไลเซนส์ MIT ที่ใช้งานได้อิสระ
ที่มา - Reco
lew Sat, 28/03/2026 - 11:06
Continue reading...
Body
Reco บริษัทความปลอดภัยองค์กรเล่าถึงประสบการณ์การพอร์ตไลบรารี JSONata จาก JavaScript เป็น Go ด้วย AI เพื่อลด overhead ในการรันคิวรี ผลการพัฒนาทำให้ค่าเซิร์ฟเวอร์ประหยัดลงมหาศาลเทียบกับค่าโทเค็นของ AI
ทีมงาน Reco ระบุว่าได้แรงบันดาลใจจาก Cloudflare ที่สร้าง Next.js ขึ้นใหม่ และพบว่าในบริษัทมีปัญหาคล้ายกัน คือ เอนจินของบริษัทใช้ไลบรารี JSONata เพื่อตรวจสอบนโยบายความปลอดภัยของ event ภายใน ปัญหาคือ JSONata เป็นไลบรารีภาษา JavaScript แต่เอนจินหลักเป็นภาษา Go แนวทางก่อนหน้านี้ทีมงานสร้าง container แยกออกไปแล้วให้เอนจินหลักเรียกผ่าน RPC แม้จะทำงานได้ดีแต่ค่าเซิร์ฟเวอร์สำหรับ container เหล่านี้คิดเป็นค่าใช้จ่าย 300,000 ดอลลาร์ต่อปี เพราะต้องใช้ถึง 200 replica ในลูกค้าใหญ่ๆ
ที่ผ่านมา Reco พยายามหาทางออปติไมซ์หลายทาง ทั้งการรัน JSONata ภายในโปรเซส Go ด้วยการฝัง V8 เข้าไปทั้งเอนจินแต่ก็พบว่าลดค่าใช้จ่ายลงไม่มาก ขณะที่ไลบรารี GJSON เพิ่มประสิทธิภาพสูงขึ้นมาก แต่รองรับคิวรีที่ซับซ้อนไม่ได้
หลังจากที่ Nir Barak ทีมงาน Reco ได้อ่านบล็อกของ Cloudflare เขาดึงเอาสเปคของ JSONata และสร้างโครงการใหม่ในภาษา Go โดยอาศัยชุดทดสอบ 1,778 ชุดจาก JSONata และสร้างชุดทดสอบใหม่ 2,107 ชุดสำหรับการทดสอบการทำงานของ wrapper เดิมที่ Reco ใช้เรียก JSONata ใช้เวลาการพัฒนารวม 7 ชั่วโมง ค่าใช้จ่ายรวม 400 ดอลลาร์
ผลการประหยัดที่ได้ นอกจากการลด container ของ JSONata ออกไปจากระบบแล้ว ยังจัดการทรัพยากรได้ดีขึ้น จนทีมงานสามารถลดค่าเซิร์ฟเวอร์เอนจินรวมได้อีก 200,000 ดอลลาร์ต่อปี รวมเป็น 500,000 ดอลลาร์ต่อปีหรือประมาณ 16 ล้านบาท
ไลบรารี gnata เปิดเป็นโอเพนซอร์สไลเซนส์ MIT ที่ใช้งานได้อิสระ
ที่มา - Reco
lew Sat, 28/03/2026 - 11:06
Continue reading...