Serverless computing pozwala uruchamiac kod bez zarzadzania serwerami. Piszesz funkcje, wdrazasz je, a platforma zajmuje sie skalowaniem, dostepnoscia i infrastruktura. W 2026 roku trzy platformy dominuja w swiecie serverless: AWS Lambda, Vercel Serverless Functions i Cloudflare Workers. Kazda ma inne mocne strony i kompromisy.
W tym artykule porownujemy je z prawdziwymi przykladami, zagadnieniami wydajnosci i analiza cen.
Jak dziala Serverless
Wdrazasz funkcje. Gdy nadchodzi zadanie, platforma:
- Uruchamia srodowisko wykonawcze (lub wykorzystuje juz rozgrzane)
- Uruchamia Twoja funkcje
- Zwraca odpowiedz
- Skaluje do zera w stanie bezczynnosci (nie placisz za czas bezczynnosci)
Przeglad platform
AWS Lambda
Oryginalna platforma serverless (uruchomiona w 2014). Najbardziej dojrzala i bogata w funkcje, z gleboka integracja w ekosystem 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
Scisle zintegrowane z Next.js i procesem wdrazania frontendu. Funkcje sa wdrazane razem z frontendem bez zadnej konfiguracji.
// 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
Dziala w sieci edge Cloudflare w ponad 300 miastach na calym swiecie. Uzywa silnika V8 (tego samego co Chrome) zamiast Node.js, co oznacza niezwykle szybkie cold starty.
// 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' } } ); }, };
Porownanie funkcji
| Funkcja | 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) |
| Maks. czas wykonania | 15 minut | 60s (Hobby), 300s (Pro) | 30s (darmowy), 15min (platny) |
| Pamiec | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| Lokalizacja wdrozenia | Pojedynczy region (lub multi z wysilkiem) | Wiele regionow | 300+ lokalizacji edge |
| Maks. payload | 6MB (synchroniczny), 256KB (asynchroniczny) | 4.5MB | 100MB |
| Wbudowane przechowywanie | Nie (uzyj DynamoDB, S3) | Nie (uzyj zewnetrznej bazy) | KV, D1 (SQLite), R2 (kompatybilny z S3) |
| Model cenowy | Za zapytanie + czas trwania | Wliczone w plan | Za zapytanie + czas trwania |
| Darmowy poziom | 1M zapytan/miesiac | 100K/miesiac (Hobby) | 100K zapytan/dzien |
Cold Start
Cold start to czas potrzebny na zainicjalizowanie nowej instancji funkcji. To najwiekszy problem wydajnosciowy w serverless.
| Platforma | Typowy Cold Start | Dlaczego |
|---|---|---|
| Cloudflare Workers | < 5ms | Izolaty V8, pelny runtime niepotrzebny |
| Vercel Functions | 100-300ms | Runtime Node.js na edge lub regionalny |
| AWS Lambda | 100-500ms | Pelna inicjalizacja kontenera |
| AWS Lambda (Java) | 1-5 sekund | Narzut uruchamiania JVM |
Cloudflare Workers wygrywa w cold startach z ogromna przewaga, poniewaz uzywa izolatow V8 zamiast kontenerow.
Porownanie cen
Darmowy poziom
| Platforma | Darmowe zapytania | Darmowe obliczenia |
|---|---|---|
| AWS Lambda | 1M/miesiac | 400 000 GB-sekund |
| Vercel | 100K/miesiac | Wliczone w plan Hobby |
| Cloudflare Workers | 100K/dzien (~3M/miesiac) | 10ms CPU na wywolanie |
Na skale (10M zapytan/miesiac, sredni czas 50ms)
| Platforma | Szacunkowy koszt miesieczny |
|---|---|
| AWS Lambda | ~$2,50 (zapytania) + |
| Vercel | $20/miesiac (plan Pro, zawiera funkcje) |
| Cloudflare Workers | $5/miesiac (plan platny, zawiera 10M zapytan) |
Dla wiekszosci przypadkow uzycia Cloudflare Workers jest najtanszy. Cennik Vercel jest prosty, ale obejmuje cala platforme (hosting, CDN, analityka). AWS Lambda ma najbardziej szczegolowy cennik.
Zastosowania w praktyce
AWS Lambda: Najlepszy do
- Zlozonych procesow backendowych - step functions, architektury oparte na zdarzeniach
- Integracji z uslugami AWS - triggery S3, strumienie DynamoDB, kolejki SQS
- Dlugo trwajacych zadan - do 15 minut czasu wykonania
- Zespolow wielojezycznych - wspiera najszerszy zakres srodowisk wykonawczych
Vercel Functions: Najlepszy do
- Aplikacji Next.js - trasy API bez konfiguracji
- Zespolow zorientowanych na frontend - wdrazaj frontend i backend razem
- Szybkiego prototypowania - git push do wdrozenia
- Architektur Jamstack - statyczny frontend + 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: Najlepszy do
- API o niskim opoznieniu - kod dziala w ponad 300 lokalizacjach na swiecie
- Edge computing - transformacja odpowiedzi, testy A/B, personalizacja
- API o duzym ruchu - najtanszy na skale z hojnym darmowym poziomem
- Aplikacji globalnych - dane blisko uzytkownikow z KV i 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; }, };
Kiedy wybrac ktora
Wybierz AWS Lambda jesli:
- Juz inwestujesz w ekosystem AWS
- Potrzebujesz dlugo dzialajacych funkcji (do 15 minut)
- Potrzebujesz zlozonych architektur opartych na zdarzeniach
- Potrzebujesz srodowisk wykonawczych poza JavaScript (Python, Go, Rust, Java)
Wybierz Vercel Functions jesli:
- Budujesz z Next.js lub frameworkiem frontendowym
- Chcesz najprostszego doswiadczenia wdrazania (git push)
- Twoj zespol jest zorientowany na frontend
- Chcesz hosting + funkcje + CDN na jednej platformie
Wybierz Cloudflare Workers jesli:
- Potrzebujesz najnizszego mozliwego opoznienia globalnie
- Chcesz najtansza opcje na skale
- Potrzebujesz mozliwosci edge computing
- Czas cold start jest krytyczny dla Twojego przypadku uzycia
Czy mozna je laczyc?
Zdecydowanie. Popularna architektura:
- Cloudflare Workers: routing na edge, cache, bezpieczenstwo
- Vercel Functions: frontendowe trasy API, SSR
- AWS Lambda: ciezkie przetwarzanie backendowe, zaplanowane zadania, potoki zdarzen
Podsumowanie
Serverless znaczaco dojrzal. W 2026 roku wybor miedzy AWS Lambda, Vercel Functions a Cloudflare Workers zalezy od Twojego stosu i priorytetow:
- Najprostsze doswiadczenie programisty: Vercel
- Najpotezniejszy i najbardziej elastyczny: AWS Lambda
- Najlepsza wydajnosc i ceny: Cloudflare Workers
Wszystkie trzy sa gotowe do produkcji i sprawdzone w boju. Zacznij od tego, ktory pasuje do Twojego obecnego stosu, i rozszerzaj w miare wzrostu potrzeb.