Edge Functions
มันคืออะไร
ลองนึกถึงเชนพิซซ่าที่มีสาขาอยู่ในทุกย่านชุมชน: ออร์เดอร์ของคุณจะถูกทำที่ร้านที่อยู่ใกล้คุณที่สุด พิซซ่าจึงมาถึงแบบร้อนๆ และรวดเร็ว แทนที่จะต้องขับรถข้ามประเทศมาส่ง "the " (ขอบ) หมายถึงสถานที่ใกล้เคียงเหล่านั้น Edge functions คือโค้ดชิ้นเล็กๆ ที่ทำงานบนเซิร์ฟเวอร์ซึ่งกระจายอยู่ทั่วโลก อยู่ใกล้กับผู้ใช้แอปของคุณในทางกายภาพ แทนที่ทุกคำขอ (request) จะต้องเดินทางไปยังศูนย์ข้อมูลแห่งเดียวที่อยู่ไกลออกไป มันจะทำงานที่ตำแหน่งที่ใกล้ที่สุด คำตอบจึงกลับมาเร็ว คุณเขียนฟังก์ชัน ส่วนแพลตฟอร์มจะจัดการว่าจะรันที่ไหนและเมื่อไหร่
จุดแข็ง
- ค่าความหน่วง (latency) ต่ำมาก — โค้ดทำงานใกล้ผู้ใช้ มักจะภายในไม่กี่มิลลิวินาที
- ขยายขนาด (scale) ได้อัตโนมัติเพื่อรองรับทราฟฟิกจำนวนมหาศาลโดยไม่ต้องมีเซิร์ฟเวอร์ให้คุณดูแล
- ราคาถูกสำหรับงานทั่วไป โดยปกติคุณจ่ายตามจำนวนคำขอ
- เหมาะมากสำหรับการปรับแต่งประสบการณ์ผู้ใช้ (personalization), การรีไดเรกต์, การตรวจสอบสิทธิ์ (auth checks) และ (Application Programming Interface — จุดเชื่อมต่อที่ซอฟต์แวร์อื่นเรียกใช้เพื่อคุยกับแอปของคุณ) แบบเบาๆ
- ไม่มีโครงสร้างพื้นฐานที่ต้องแพตช์หรือคอยดูแลให้ทำงานอยู่ตลอด
ข้อแลกเปลี่ยน
- มีข้อจำกัดที่เข้มงวด: เวลาทำงานสั้น หน่วยความจำน้อย และขนาดบันเดิล (bundle) ถูกจำกัด
- รันไทม์ (runtime) มีจำกัด — ไลบรารี Node.js และโมดูลเนทีฟ (native modules) จำนวนมากใช้งานไม่ได้
- ไม่มีที่เก็บข้อมูลถาวรในเครื่อง (persistent local storage) หรือการเชื่อมต่อระยะยาว คุณต้องพึ่งฐานข้อมูลภายนอก
- ดีบักยากกว่าเพราะตรรกะการทำงานกระจายอยู่หลายตำแหน่งทั่วโลก
- งานที่ใช้ CPU หนักๆ (การประมวลผลภาพ, การคำนวณขนาดใหญ่) ไม่เหมาะกับสิ่งนี้
เมื่อไหร่ควรใช้
เลือกใช้ edge functions เมื่อคุณต้องการคำตอบที่รวดเร็วและกระจายอยู่ทั่วโลกสำหรับงานเล็กๆ เช่น การทดสอบ A/B, การระบุตำแหน่งทางภูมิศาสตร์ (geolocation), การเขียนคำขอใหม่ (request rewriting), การตรวจสอบโทเค็น ( validation) หรือชั้น API บางๆ ที่อยู่หน้าฐานข้อมูล
เข้ากับ vibe coding แค่ไหน
นี่เป็นหนึ่งในเป้าหมายที่เป็นมิตรที่สุดสำหรับการปล่อยให้ AI จัดการเรื่องการเชื่อมต่อระบบ แพลตฟอร์มอย่าง Cloudflare Workers, Vercel และ Deno ใช้ไฟล์ตั้งค่า (config) ที่เรียบง่าย และ AI สามารถสร้างโครงฟังก์ชัน เขียนไฟล์ตั้งค่าสำหรับการดีพลอย (deploy config) และรันคำสั่ง (command-line tool — เครื่องมือบรรทัดคำสั่ง) ให้คุณได้ตั้งแต่ต้นจนจบ เคล็ดลับ: บอกแพลตฟอร์มของคุณให้ agent รู้ล่วงหน้า (เช่น "Cloudflare Workers") เพื่อให้มันสร้างรูปแบบไฟล์ตั้งค่าที่ถูกต้องและเคารพข้อจำกัดของรันไทม์บนแพลตฟอร์มนั้น มิฉะนั้นมันอาจสันนิษฐานว่าเป็น Node.js เต็มรูปแบบและเขียนโค้ดที่ล้มเหลวตอนดีพลอย
# wrangler.toml — Cloudflare Workers edge function
name = "my-edge-app"
main = "src/index.js"
compatibility_date = "2026-06-01"
[vars]
GREETING = "hello from the edge"
# Deploy and tail logs
npx wrangler deploy
npx wrangler tail