Pengkomputeran serverless membolehkan anda menjalankan kod tanpa mengurus pelayan. Anda menulis fungsi, men-deploy-nya dan platform mengendalikan penskalaan, ketersediaan dan infrastruktur. Pada 2026, tiga platform mendominasi landskap serverless: AWS Lambda, Vercel Serverless Functions dan Cloudflare Workers. Setiap satu mempunyai kekuatan dan pertukaran yang berbeza.
Dalam artikel ini, kami membandingkannya dengan contoh sebenar, pertimbangan prestasi dan analisis harga.
Bagaimana Serverless Berfungsi
Anda men-deploy fungsi. Apabila permintaan tiba, platform:
- Memulakan persekitaran pelaksanaan (atau menggunakan semula yang sudah panas)
- Menjalankan fungsi anda
- Mengembalikan respons
- Mengecilkan ke sifar apabila tidak aktif (anda tidak membayar untuk masa tidak aktif)
Gambaran Keseluruhan Platform
AWS Lambda
Platform serverless yang asal (dilancarkan 2014). Paling matang dan kaya ciri, dengan integrasi mendalam ke dalam ekosistem 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
Bersepadu rapat dengan Next.js dan aliran kerja deployment frontend. Fungsi di-deploy bersama frontend anda tanpa konfigurasi.
// 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
Berjalan di rangkaian edge Cloudflare di lebih 300 bandar di seluruh dunia. Menggunakan enjin V8 (sama seperti Chrome) dan bukannya Node.js, yang bermakna cold start yang sangat pantas.
// 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' } } ); }, };
Perbandingan Ciri
| Ciri | 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) |
| Masa pelaksanaan maks | 15 minit | 60s (Hobby), 300s (Pro) | 30s (percuma), 15min (berbayar) |
| Memori | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| Lokasi deploy | Rantau tunggal (atau pelbagai dengan usaha) | Pelbagai rantau | 300+ lokasi edge |
| Payload maks | 6MB (segerak), 256KB (tak segerak) | 4.5MB | 100MB |
| Storan terbina | Tidak (gunakan DynamoDB, S3) | Tidak (gunakan DB luaran) | KV, D1 (SQLite), R2 (serasi S3) |
| Model harga | Setiap permintaan + tempoh | Termasuk dalam pelan | Setiap permintaan + tempoh |
| Peringkat percuma | 1M permintaan/bulan | 100K/bulan (Hobby) | 100K permintaan/hari |
Cold Start
Cold start ialah masa yang diperlukan untuk memulakan instance fungsi baharu. Ini adalah kebimbangan prestasi terbesar dengan serverless.
| Platform | Cold Start Biasa | Mengapa |
|---|---|---|
| Cloudflare Workers | < 5ms | Pengasingan V8, runtime penuh tidak diperlukan |
| Vercel Functions | 100-300ms | Runtime Node.js di edge atau serantau |
| AWS Lambda | 100-500ms | Permulaan kontena penuh |
| AWS Lambda (Java) | 1-5 saat | Beban permulaan JVM |
Cloudflare Workers menang dalam cold start dengan margin yang besar kerana menggunakan pengasingan V8 dan bukannya kontena.
Perbandingan Harga
Peringkat Percuma
| Platform | Permintaan Percuma | Pengiraan Percuma |
|---|---|---|
| AWS Lambda | 1M/bulan | 400,000 GB-saat |
| Vercel | 100K/bulan | Termasuk dalam pelan Hobby |
| Cloudflare Workers | 100K/hari (~3M/bulan) | 10ms CPU setiap panggilan |
Pada Skala (10M permintaan/bulan, tempoh purata 50ms)
| Platform | Anggaran Kos Bulanan |
|---|---|
| AWS Lambda | ~$2.50 (permintaan) + |
| Vercel | $20/bulan (pelan Pro, termasuk fungsi) |
| Cloudflare Workers | $5/bulan (pelan berbayar, termasuk 10M permintaan) |
Untuk kebanyakan kes penggunaan, Cloudflare Workers adalah yang paling murah. Harga Vercel mudah tetapi merangkumi keseluruhan platform (hosting, CDN, analitik). AWS Lambda mempunyai harga yang paling terperinci.
Kes Penggunaan Sebenar
AWS Lambda: Terbaik Untuk
- Aliran kerja backend yang kompleks - step functions, seni bina berasaskan peristiwa
- Integrasi dengan perkhidmatan AWS - pencetus S3, aliran DynamoDB, baris gilir SQS
- Tugas berjalan lama - sehingga 15 minit masa pelaksanaan
- Pasukan berbilang bahasa - menyokong julat runtime yang paling luas
Vercel Functions: Terbaik Untuk
- Aplikasi Next.js - laluan API tanpa konfigurasi
- Pasukan berorientasikan frontend - deploy frontend dan backend bersama
- Prototaip pantas - git push untuk deploy
- Seni bina Jamstack - frontend statik + API serverless
// 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: Terbaik Untuk
- API kependaman rendah - kod berjalan di 300+ lokasi di seluruh dunia
- Edge computing - mengubah respons, ujian A/B, pemperibadian
- API volum tinggi - paling murah pada skala dengan peringkat percuma yang murah hati
- Aplikasi global - data dekat dengan pengguna dengan KV dan 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; }, };
Bila Untuk Memilih Yang Mana
Pilih AWS Lambda jika:
- Anda sudah melabur dalam ekosistem AWS
- Anda memerlukan fungsi berjalan lama (sehingga 15 minit)
- Anda memerlukan seni bina berasaskan peristiwa yang kompleks
- Anda memerlukan runtime selain JavaScript (Python, Go, Rust, Java)
Pilih Vercel Functions jika:
- Anda membina dengan Next.js atau rangka kerja frontend
- Anda mahukan pengalaman deploy yang paling mudah (git push)
- Pasukan anda berorientasikan frontend
- Anda mahukan hosting + fungsi + CDN dalam satu platform
Pilih Cloudflare Workers jika:
- Anda memerlukan kependaman serendah mungkin secara global
- Anda mahukan pilihan paling murah pada skala
- Anda memerlukan keupayaan edge computing
- Masa cold start kritikal untuk kes penggunaan anda
Bolehkah Anda Menggabungkannya?
Sudah tentu. Seni bina yang biasa:
- Cloudflare Workers: penghalaan edge, caching, keselamatan
- Vercel Functions: laluan API frontend, SSR
- AWS Lambda: pemprosesan backend berat, tugas berjadual, saluran paip peristiwa
Kesimpulan
Serverless telah matang dengan ketara. Pada 2026, pilihan antara AWS Lambda, Vercel Functions dan Cloudflare Workers bergantung pada stack dan keutamaan anda:
- Pengalaman pembangun paling mudah: Vercel
- Paling berkuasa dan fleksibel: AWS Lambda
- Prestasi dan harga terbaik: Cloudflare Workers
Ketiga-tiganya sedia untuk pengeluaran dan telah diuji dalam pertempuran. Mulakan dengan yang sesuai dengan stack semasa anda, dan kembangkan apabila keperluan anda bertambah.