Le serverless computing vous permet d'executer du code sans gerer de serveurs. Vous ecrivez des fonctions, les deployez, et la plateforme gere la mise a l'echelle, la disponibilite et l'infrastructure. En 2026, trois plateformes dominent le paysage serverless : AWS Lambda, Vercel Serverless Functions et Cloudflare Workers. Chacune a des forces et des compromis differents.
Dans cet article, nous les comparons avec des exemples concrets, des considerations de performance et des analyses de prix.
Comment fonctionne le Serverless
Vous deployez une fonction. Quand une requete arrive, la plateforme :
- Demarre un environnement d'execution (ou reutilise un deja actif)
- Execute votre fonction
- Retourne la reponse
- Reduit a zero quand inactive (vous ne payez pas pour le temps d'inactivite)
Vue d'ensemble des plateformes
AWS Lambda
La plateforme serverless originale (lancee en 2014). La plus mature et riche en fonctionnalites, avec une integration profonde dans l'ecosysteme 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
Etroitement integre avec Next.js et le workflow de deploiement frontend. Les fonctions sont deployees avec votre frontend sans aucune configuration.
// 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
S'execute sur le reseau edge de Cloudflare dans plus de 300 villes a travers le monde. Utilise le moteur V8 (le meme que Chrome) au lieu de Node.js, ce qui signifie des cold starts extremement rapides.
// 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' } } ); }, };
Comparaison des fonctionnalites
| Fonctionnalite | 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) |
| Temps d'execution max | 15 minutes | 60s (Hobby), 300s (Pro) | 30s (gratuit), 15min (payant) |
| Memoire | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| Emplacement de deploiement | Region unique (ou multi avec effort) | Regions multiples | 300+ emplacements edge |
| Payload max | 6MB (synchrone), 256KB (asynchrone) | 4.5MB | 100MB |
| Stockage inclus | Non (utilisez DynamoDB, S3) | Non (utilisez une DB externe) | KV, D1 (SQLite), R2 (compatible S3) |
| Modele de tarification | Par requete + duree | Inclus dans le plan | Par requete + duree |
| Niveau gratuit | 1M requetes/mois | 100K/mois (Hobby) | 100K requetes/jour |
Cold Starts
Le cold start est le temps necessaire pour initialiser une nouvelle instance de fonction. C'est le probleme de performance le plus important avec le serverless.
| Plateforme | Cold Start Typique | Pourquoi |
|---|---|---|
| Cloudflare Workers | < 5ms | Isolates V8, pas besoin de runtime complet |
| Vercel Functions | 100-300ms | Runtime Node.js sur edge ou regional |
| AWS Lambda | 100-500ms | Initialisation complete du conteneur |
| AWS Lambda (Java) | 1-5 secondes | Surcharge du demarrage JVM |
Cloudflare Workers remporte les cold starts avec une marge enorme car ils utilisent des isolates V8 au lieu de conteneurs.
Comparaison des prix
Niveau gratuit
| Plateforme | Requetes gratuites | Calcul gratuit |
|---|---|---|
| AWS Lambda | 1M/mois | 400 000 GB-secondes |
| Vercel | 100K/mois | Inclus dans le plan Hobby |
| Cloudflare Workers | 100K/jour (~3M/mois) | 10ms CPU par invocation |
A grande echelle (10M requetes/mois, duree moyenne de 50ms)
| Plateforme | Cout mensuel estime |
|---|---|
| AWS Lambda | ~$2,50 (requetes) + |
| Vercel | $20/mois (plan Pro, inclut les fonctions) |
| Cloudflare Workers | $5/mois (plan payant, inclut 10M requetes) |
Pour la plupart des cas d'utilisation, Cloudflare Workers est le moins cher. La tarification de Vercel est simple mais inclut l'ensemble de la plateforme (hebergement, CDN, analytics). AWS Lambda a la tarification la plus granulaire.
Cas d'utilisation concrets
AWS Lambda : Ideal pour
- Workflows backend complexes - step functions, architectures event-driven
- Integration avec les services AWS - triggers S3, streams DynamoDB, files SQS
- Taches de longue duree - jusqu'a 15 minutes de temps d'execution
- Equipes multi-langages - supporte la plus large gamme de runtimes
Vercel Functions : Ideal pour
- Applications Next.js - routes API sans configuration
- Equipes orientees frontend - deployer frontend et backend ensemble
- Prototypage rapide - git push pour deployer
- Architectures Jamstack - frontend statique + 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 : Ideal pour
- APIs a faible latence - le code s'execute dans plus de 300 emplacements dans le monde
- Edge computing - transformer les reponses, tests A/B, personnalisation
- APIs a haut volume - le moins cher a grande echelle avec un genereux niveau gratuit
- Applications mondiales - donnees proches des utilisateurs avec KV et 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; }, };
Quand choisir laquelle
Choisissez AWS Lambda si :
- Vous etes deja investi dans l'ecosysteme AWS
- Vous avez besoin de fonctions de longue duree (jusqu'a 15 minutes)
- Vous avez besoin d'architectures event-driven complexes
- Vous avez besoin de runtimes au-dela de JavaScript (Python, Go, Rust, Java)
Choisissez Vercel Functions si :
- Vous developpez avec Next.js ou un framework frontend
- Vous voulez l'experience de deploiement la plus simple (git push)
- Votre equipe est orientee frontend
- Vous voulez hebergement + fonctions + CDN en une seule plateforme
Choisissez Cloudflare Workers si :
- Vous avez besoin de la latence la plus faible possible dans le monde entier
- Vous voulez l'option la moins chere a grande echelle
- Vous avez besoin de capacites d'edge computing
- Le temps de cold start est critique pour votre cas d'utilisation
Peut-on les combiner ?
Absolument. Une architecture courante :
- Cloudflare Workers : routage edge, mise en cache, securite
- Vercel Functions : routes API frontend, SSR
- AWS Lambda : traitement backend lourd, taches planifiees, pipelines d'evenements
Conclusion
Le serverless a considerablement muri. En 2026, le choix entre AWS Lambda, Vercel Functions et Cloudflare Workers depend de votre stack et de vos priorites :
- Experience developpeur la plus simple : Vercel
- Le plus puissant et flexible : AWS Lambda
- Meilleures performances et tarifs : Cloudflare Workers
Les trois sont prets pour la production et eprouves au combat. Commencez avec celui qui correspond a votre stack actuel et elargissez au fur et a mesure que vos besoins grandissent.