~/VibeHandbook
PDF ฟรี

Cloudflare

developers.cloudflare.com

Cloudflare Workers

มันคืออะไร

ลองนึกภาพเครือร้านกาแฟที่ใช้สูตรเดียวกันทุกสาขาในทุกเมือง ไม่ว่าคุณจะอยู่ที่ไหน คุณก็รับออร์เดอร์จากร้านที่ใกล้ที่สุดได้เสมอ Cloudflare Workers ทำงานแบบเดียวกัน คือให้คุณรัน JavaScript, TypeScript หรือ WebAssembly บนเครือข่ายทั่วโลกของ Cloudflare — กว่า 300 เมือง — แทนที่จะรันอยู่ในภูมิภาคเดียว แต่ละคำขอ (request) จะรันอยู่ในสภาพแวดล้อมย่อยขนาดจิ๋วที่แยกจากกันเรียกว่า V8 isolate ซึ่งเริ่มทำงานได้ในเวลาต่ำกว่าหนึ่งมิลลิวินาที จึงแทบไม่มี cold start (การอุ่นเครื่องช้าๆ ในคำขอแรก) เลย คุณเขียนตัวจัดการ fetch (fetch handler) แล้วดีพลอยด้วยคำสั่งเดียว โค้ดของคุณก็จะไปรันอยู่ใกล้ผู้ใช้ทุกคนโดยอัตโนมัติ

จุดแข็ง

  • แทบไม่มี cold start เลย เพราะใช้ V8 isolate แทนที่จะเป็นคอนเทนเนอร์เต็มรูปแบบ
  • กระจายทั่วโลกโดยค่าเริ่มต้น — โค้ดของคุณถูกดีพลอยไปทุกจุดของ Cloudflare พร้อมกัน
  • แผนฟรีให้ใช้เยอะ จ่ายตามจำนวนคำขอและเวลา CPU ที่ใช้จริง ไม่ใช่ตามเวลาที่เครื่องว่าง
  • มี bindings (การเชื่อมต่อสำเร็จรูป) ระดับเฟิร์สคลาสไปยัง D1 (ฐานข้อมูล ), R2 (ที่เก็บไฟล์), KV (ที่เก็บข้อมูลแบบคีย์-ค่า เหมือนพจนานุกรมขนาดใหญ่ที่จับคู่ label กับ value), Queues, Durable Objects และ Workers AI
  • มี (เครื่องมือบรรทัดคำสั่งที่คุณพิมพ์คำสั่งเข้าไป) ตัวเดียวคือ wrangler ที่จัดการทั้งการพัฒนา การเก็บความลับ (secrets) และการดีพลอย

ข้อแลกเปลี่ยน

  • รันไทม์ไม่ใช่ Node.js — แพ็กเกจ npm หลายตัวที่พึ่งพาโค้ด native หรือระบบไฟล์จะใช้ไม่ได้ แม้ว่าความเข้ากันได้กับ Node จะพัฒนาขึ้นเรื่อยๆ
  • เวลา CPU และหน่วยความจำต่อคำขอถูกจำกัดไว้ ดังนั้นงานคำนวณหนักๆ จะไม่เหมาะ
  • ไม่มีดิสก์ในเครื่องหรือสถานะ (state) ที่คงอยู่ในโพรเซสระยะยาว คุณต้องใช้ bindings แทน
  • การรันแบบกระจายตัวทำให้การดีบักแบบ step-through ข้ามภูมิภาคทำได้ยากขึ้น

เมื่อไหร่ควรใช้

เลือกใช้ Workers เมื่อคุณต้องการ (Application Programming Interface — ชุดของ ที่ซอฟต์แวร์อื่นเรียกเพื่อคุยกับแอปของคุณ) ที่เร็วและกระจายทั่วโลก, middleware, การตรวจสอบสิทธิ์ (auth checks), การรีไดเรกต์, ตัวจัดการ หรือแบ็กเอนด์แบบฟูลสแตกที่พึ่งพาที่เก็บข้อมูลและ AI bindings ของ Cloudflare

เหมาะกับ vibe coding แค่ไหน

Workers เป็นหนึ่งในเป้าหมายการดีพลอยที่เป็นมิตรที่สุดสำหรับการเขียนโค้ดโดย AI สั่งการ เพราะโปรเจกต์ประกอบด้วยไฟล์คอนฟิกเดียวบวกกับตัวจัดการหนึ่งตัว และเอเจนต์สามารถสร้างโครงร่าง ผูกบริการ (bind services) และดีพลอยได้ครบวงจร บอกเอเจนต์ไว้ล่วงหน้าว่าคุณกำลังเล็งเป้าไปที่ Workers (ไม่ใช่ Node) เพื่อให้มันเคารพข้อจำกัดของรันไทม์และใช้ bindings แทนที่จะใช้ เช่น fs ตัวอย่างด้านล่างเชื่อมต่อ Worker เข้ากับ KV namespace

# wrangler.toml
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2026-06-01"

[[kv_namespaces]]
binding = "CACHE"
id = "your-kv-namespace-id"
npx wrangler dev      # local edge runtime
npx wrangler deploy   # ship to the global network