Cloudflare Workers เป็นบริการโค้ดแบบ serverless แบบเดียวกับ AWS Lambda และ Google Cloud Functions เมื่อสัปดาห์ที่แล้วทาง Cloudflare ก็เขียนบล็อกเล่าถึงเทคโนโลยีภายในของ Workers ที่เป็นฟีเจอร์ Isolates ของเอนจิน V8
Cloudflare Workers และ AWS Lambda เป็นคู่แข่งกันโดยตรง หลังจาก AWS เปิดตัว Lambda@Edge ที่เปิดให้รันโค้ดที่ปลายทางของ CDN
Isolates เป็นระบบ context ที่กินหน่วยความจำน้อย และเปิดให้รันโค้ดที่ไม่น่าไว้ใจภายใต้สิทธิ์ที่ถูกจำกัดไว้ โดยตัวโค้ดไม่สามารถเข้าถึงหน่วยความจำของ context อื่นได้ แม้จะรันในโปรเซสเดียวกัน การใช้ Isolates ทำให้ Cloludflare Workers แชร์โค้ดทุกอย่างเท่าที่เป็นไปได้ ตั้งแต่ระบบปฎิบัติการขึ้นมาจนถึงตัวรันไทม์ จุดสำคัญคือโค้ดที่รันนานๆ ครั้งจะไม่ต้องเสียเวลา cold start ที่กินเวลา 0.5-10 วินาที
ทาง Cloudflare ชี้ว่า Lambda นั้นคิดเงินตลอดเวลาที่รันโค้ดแม้จะรอเซิร์ฟเวอร์ภายนอก ส่วน Workers คิดตามเวลาที่รันจริงเท่านั้น
อย่างไรก็ดีบริการของ Cloudflare เองมีข้อจำกัดกว่าบริการคลาวด์เต็มรูปแบบอื่นๆ มาก เช่น ระยะเวลารันโค้ดกลับคิดตามแพ็กเกจที่ใช้งาน โดยแพ็กเกจฟรีที่ซื้อ Workers เพิ่มเติมเดือนละ 5 ดอลลาร์จะสามารถรันได้เพียงทีละ 5ms เท่านั้น และหากต้องการรันโค้ดนานเป็นพิเศษก็ต้องซื้อแพ็กเกจ Enterprise ไปเลย ไม่สามารถซื้อเฉพาะ Workers แยกได้ ส่วนบริการฐานข้อมูลที่ชื่อว่า Workers KV ตอนนี้สถานะก็ยังเป็นเบต้าวงปิดเท่านั้น
Cloudflare Workers รองรับเฉพาะ Javascript หรือภาษาที่คอมไฟล์เป็น WebAssembly ได้เท่านั้น
ที่มา - Cloudflare
Comments
แสดงว่าถ้าใช้ Enterprise package ก็จบแล้วสิ?
ผมว่าแย่กว่าอยู่ดีครับ ต้องไปนั่งเจรจา ราคาเท่าไหร่ก็ไม่รู้ ข้อได้เปรียบของพวกคลาวด์คือราคาโปร่งใส ถ้าซื้อระดับองค์กรก็อาจจะได้ส่วนลด (ไม่มีแพงขึ้นกว่าซื้อปลีกหน้าเว็บแล้ว)
อันนี้เกิดผมจะรัน 200ms นี่ไม่รู้เลยว่าจะแพงหรือถูกกว่า AWS แถมคิดตามจำนวน call ผมรันบางครั้งเร็วบางครั้งนาน AWS/Google นี่คิดตามจริงทุกรอบ อันนี้คิดตาม package แล้วจำกัดเวลารันเอา
lewcpe.com, @wasonliw