Serverless computing ช่วยให้คุณรันโค้ดได้โดยไม่ต้องจัดการเซิร์ฟเวอร์ คุณเขียนฟังก์ชัน ทำการ deploy และแพลตฟอร์มจะจัดการเรื่อง scaling, availability และโครงสร้างพื้นฐาน ในปี 2026 มีสามแพลตฟอร์มที่ครองตลาด serverless: AWS Lambda, Vercel Serverless Functions และ Cloudflare Workers แต่ละตัวมีจุดแข็งและข้อแลกเปลี่ยนที่แตกต่างกัน
ในบทความนี้ เราเปรียบเทียบพวกมันด้วยตัวอย่างจริง ข้อพิจารณาด้านประสิทธิภาพ และการวิเคราะห์ราคา
Serverless ทำงานอย่างไร
คุณ deploy ฟังก์ชัน เมื่อคำขอเข้ามา แพลตฟอร์มจะ:
- เริ่มต้นสภาพแวดล้อมการทำงาน (หรือใช้ซ้ำจากที่อุ่นไว้แล้ว)
- รันฟังก์ชันของคุณ
- ส่งคืนการตอบกลับ
- ลดขนาดเป็นศูนย์เมื่อว่าง (คุณไม่ต้องจ่ายเงินสำหรับเวลาว่าง)
ภาพรวมแพลตฟอร์ม
AWS Lambda
แพลตฟอร์ม serverless ดั้งเดิม (เปิดตัวปี 2014) มีความสมบูรณ์และอุดมไปด้วยคุณสมบัติมากที่สุด พร้อมการผนวกรวมอย่างลึกซึ้งกับระบบนิเวศ AWS
// AWS Lambda handler export const handler = async (event) => { const body = JSON.parse(event.body); const result = await processData(body); return { statusCode: 200, headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(result), }; };
Vercel Serverless Functions
ผนวกรวมอย่างแน่นหนากับ Next.js และเวิร์กโฟลว์การ deploy ฝั่ง frontend ฟังก์ชันถูก deploy พร้อมกับ frontend ของคุณโดยไม่ต้องตั้งค่าใดๆ
// app/api/hello/route.ts (Next.js App Router) import { NextResponse } from 'next/server'; export async function GET(request: Request) { const { searchParams } = new URL(request.url); const name = searchParams.get('name') || 'World'; return NextResponse.json({ message: `Hello, ${name}!` }); }
Cloudflare Workers
ทำงานบนเครือข่าย edge ของ Cloudflare ใน 300 กว่าเมืองทั่วโลก ใช้ V8 engine (เหมือนกับ Chrome) แทน Node.js ซึ่งหมายความว่า cold start เร็วมาก
// Cloudflare Worker export default { async fetch(request, env) { const url = new URL(request.url); const name = url.searchParams.get('name') || 'World'; return new Response( JSON.stringify({ message: `Hello, ${name}!` }), { headers: { 'Content-Type': 'application/json' } } ); }, };
การเปรียบเทียบคุณสมบัติ
| คุณสมบัติ | AWS Lambda | Vercel Functions | Cloudflare Workers |
|---|---|---|---|
| Runtime | Node.js, Python, Go, Rust, Java, .NET | Node.js, Python, Go, Ruby | V8 Isolates (JS/TS, Rust via WASM) |
| เวลาทำงานสูงสุด | 15 นาที | 60 วินาที (Hobby), 300 วินาที (Pro) | 30 วินาที (ฟรี), 15 นาที (จ่ายเงิน) |
| หน่วยความจำ | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| ตำแหน่ง deploy | ภูมิภาคเดียว (หรือหลายภูมิภาคด้วยความพยายาม) | หลายภูมิภาค | 300+ ตำแหน่ง edge |
| Payload สูงสุด | 6MB (synchronous), 256KB (asynchronous) | 4.5MB | 100MB |
| พื้นที่จัดเก็บในตัว | ไม่มี (ใช้ DynamoDB, S3) | ไม่มี (ใช้ DB ภายนอก) | KV, D1 (SQLite), R2 (รองรับ S3) |
| รูปแบบราคา | ต่อคำขอ + ระยะเวลา | รวมในแผน | ต่อคำขอ + ระยะเวลา |
| แผนฟรี | 1M คำขอ/เดือน | 100K/เดือน (Hobby) | 100K คำขอ/วัน |
Cold Start
Cold start คือเวลาที่ใช้ในการเริ่มต้น instance ของฟังก์ชันใหม่ นี่คือปัญหาประสิทธิภาพที่ใหญ่ที่สุดของ serverless
| แพลตฟอร์ม | Cold Start ทั่วไป | เหตุผล |
|---|---|---|
| Cloudflare Workers | < 5ms | V8 isolate ไม่ต้องการ runtime เต็ม |
| Vercel Functions | 100-300ms | Runtime Node.js บน edge หรือ regional |
| AWS Lambda | 100-500ms | เริ่มต้น container เต็มรูปแบบ |
| AWS Lambda (Java) | 1-5 วินาที | ภาระการเริ่มต้น JVM |
Cloudflare Workers ชนะด้าน cold start ด้วยระยะห่างมาก เพราะใช้ V8 isolate แทน container
การเปรียบเทียบราคา
แผนฟรี
| แพลตฟอร์ม | คำขอฟรี | การประมวลผลฟรี |
|---|---|---|
| AWS Lambda | 1M/เดือน | 400,000 GB-วินาที |
| Vercel | 100K/เดือน | รวมในแผน Hobby |
| Cloudflare Workers | 100K/วัน (~3M/เดือน) | 10ms CPU ต่อการเรียก |
ระดับใหญ่ (10M คำขอ/เดือน, ระยะเวลาเฉลี่ย 50ms)
| แพลตฟอร์ม | ค่าใช้จ่ายรายเดือนโดยประมาณ |
|---|---|
| AWS Lambda | ~$2.50 (คำขอ) + |
| Vercel | $20/เดือน (แผน Pro รวมฟังก์ชัน) |
| Cloudflare Workers | $5/เดือน (แผนจ่ายเงิน รวม 10M คำขอ) |
สำหรับกรณีการใช้งานส่วนใหญ่ Cloudflare Workers ถูกที่สุด ราคาของ Vercel เรียบง่ายแต่รวมทั้งแพลตฟอร์ม (hosting, CDN, analytics) AWS Lambda มีราคาที่ละเอียดที่สุด
กรณีการใช้งานจริง
AWS Lambda: ดีที่สุดสำหรับ
- เวิร์กโฟลว์ backend ที่ซับซ้อน - step functions สถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์
- การผนวกรวมกับบริการ AWS - S3 trigger, DynamoDB stream, SQS queue
- งานที่ทำงานนาน - สูงสุด 15 นาทีของเวลาทำงาน
- ทีมหลายภาษา - รองรับ runtime ที่หลากหลายที่สุด
Vercel Functions: ดีที่สุดสำหรับ
- แอปพลิเคชัน Next.js - API route ไม่ต้องตั้งค่า
- ทีมที่เน้น frontend - deploy frontend และ backend ด้วยกัน
- การสร้างต้นแบบอย่างรวดเร็ว - git push เพื่อ deploy
- สถาปัตยกรรม Jamstack - frontend แบบ static + serverless API
// app/api/subscribe/route.ts import { NextResponse } from 'next/server'; export async function POST(request: Request) { const { email } = await request.json(); // Validate if (!email || !email.includes('@')) { return NextResponse.json( { error: 'Invalid email' }, { status: 400 } ); } // Save to database await db.subscribers.create({ email }); return NextResponse.json({ success: true }); }
Cloudflare Workers: ดีที่สุดสำหรับ
- API ที่มีความหน่วงต่ำ - โค้ดทำงานใน 300 กว่าตำแหน่งทั่วโลก
- Edge computing - แปลงการตอบกลับ, A/B testing, การปรับแต่งส่วนบุคคล
- API ปริมาณสูง - ถูกที่สุดในระดับใหญ่พร้อมแผนฟรีที่ใจกว้าง
- แอปพลิเคชันระดับโลก - ข้อมูลใกล้ผู้ใช้ด้วย KV และ D1
// Edge-side A/B test export default { async fetch(request, env) { const url = new URL(request.url); // Assign user to variant const cookie = request.headers.get('Cookie') || ''; let variant = cookie.includes('ab=b') ? 'b' : 'a'; if (!cookie.includes('ab=')) { variant = Math.random() < 0.5 ? 'a' : 'b'; } // Fetch the appropriate version const response = await fetch(`${url.origin}/variants/${variant}`); const newResponse = new Response(response.body, response); // Set cookie for consistent experience newResponse.headers.set('Set-Cookie', `ab=${variant}; Path=/; Max-Age=86400`); return newResponse; }, };
เมื่อไหร่ควรเลือกตัวไหน
เลือก AWS Lambda ถ้า:
- คุณลงทุนในระบบนิเวศ AWS อยู่แล้ว
- คุณต้องการฟังก์ชันที่ทำงานนาน (สูงสุด 15 นาที)
- คุณต้องการสถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์ที่ซับซ้อน
- คุณต้องการ runtime นอกเหนือจาก JavaScript (Python, Go, Rust, Java)
เลือก Vercel Functions ถ้า:
- คุณกำลังสร้างด้วย Next.js หรือ frontend framework
- คุณต้องการประสบการณ์ deploy ที่ง่ายที่สุด (git push)
- ทีมของคุณเน้น frontend
- คุณต้องการ hosting + ฟังก์ชัน + CDN ในแพลตฟอร์มเดียว
เลือก Cloudflare Workers ถ้า:
- คุณต้องการความหน่วงต่ำที่สุดทั่วโลก
- คุณต้องการตัวเลือกที่ถูกที่สุดในระดับใหญ่
- คุณต้องการความสามารถ edge computing
- เวลา cold start สำคัญกับกรณีการใช้งานของคุณ
สามารถรวมกันได้หรือไม่?
แน่นอน สถาปัตยกรรมทั่วไป:
- Cloudflare Workers: การกำหนดเส้นทาง edge, caching, ความปลอดภัย
- Vercel Functions: API route สำหรับ frontend, SSR
- AWS Lambda: การประมวลผล backend หนัก, งานที่กำหนดเวลา, pipeline เหตุการณ์
สรุป
Serverless เติบโตอย่างมีนัยสำคัญ ในปี 2026 การเลือกระหว่าง AWS Lambda, Vercel Functions และ Cloudflare Workers ขึ้นอยู่กับ stack และลำดับความสำคัญของคุณ:
- ประสบการณ์นักพัฒนาที่ง่ายที่สุด: Vercel
- ทรงพลังและยืดหยุ่นที่สุด: AWS Lambda
- ประสิทธิภาพและราคาดีที่สุด: Cloudflare Workers
ทั้งสามพร้อมสำหรับ production และผ่านการทดสอบจริง เริ่มต้นกับตัวที่เหมาะกับ stack ปัจจุบันของคุณ และขยายเมื่อความต้องการของคุณเพิ่มขึ้น