La computacion serverless te permite ejecutar codigo sin gestionar servidores. Escribes funciones, las despliegas y la plataforma se encarga del escalado, la disponibilidad y la infraestructura. En 2026, tres plataformas dominan el panorama serverless: AWS Lambda, Vercel Serverless Functions y Cloudflare Workers. Cada una tiene diferentes fortalezas y compromisos.
En este articulo, las comparamos con ejemplos reales, consideraciones de rendimiento y desgloses de precios.
Como funciona el Serverless
Despliegas una funcion. Cuando llega una solicitud, la plataforma:
- Inicia un entorno de ejecucion (o reutiliza uno ya activo)
- Ejecuta tu funcion
- Devuelve la respuesta
- Escala a cero cuando esta inactiva (no pagas por tiempo de inactividad)
Vision general de las plataformas
AWS Lambda
La plataforma serverless original (lanzada en 2014). La mas madura y rica en funcionalidades, con integracion profunda en el ecosistema 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
Estrechamente integrado con Next.js y el flujo de trabajo de despliegue frontend. Las funciones se despliegan junto a tu frontend sin configuracion.
// 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
Se ejecuta en la red edge de Cloudflare en mas de 300 ciudades en todo el mundo. Usa el motor V8 (el mismo que Chrome) en lugar de Node.js, lo que significa cold starts extremadamente rapidos.
// 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' } } ); }, };
Comparacion de caracteristicas
| Caracteristica | 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) |
| Tiempo maximo de ejecucion | 15 minutos | 60s (Hobby), 300s (Pro) | 30s (gratis), 15min (pago) |
| Memoria | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| Ubicacion de despliegue | Region unica (o multi con esfuerzo) | Multiples regiones | 300+ ubicaciones edge |
| Payload maximo | 6MB (sincrono), 256KB (asincrono) | 4.5MB | 100MB |
| Almacenamiento incluido | No (usa DynamoDB, S3) | No (usa DB externa) | KV, D1 (SQLite), R2 (compatible con S3) |
| Modelo de precios | Por solicitud + duracion | Incluido en el plan | Por solicitud + duracion |
| Nivel gratuito | 1M solicitudes/mes | 100K/mes (Hobby) | 100K solicitudes/dia |
Cold Starts
El cold start es el tiempo que toma inicializar una nueva instancia de funcion. Esta es la mayor preocupacion de rendimiento con serverless.
| Plataforma | Cold Start Tipico | Por que |
|---|---|---|
| Cloudflare Workers | < 5ms | Isolates V8, no se necesita runtime completo |
| Vercel Functions | 100-300ms | Runtime Node.js en edge o regional |
| AWS Lambda | 100-500ms | Inicializacion completa del contenedor |
| AWS Lambda (Java) | 1-5 segundos | Sobrecarga de inicio de JVM |
Cloudflare Workers gana en cold starts por un margen enorme porque usa isolates V8 en lugar de contenedores.
Comparacion de precios
Nivel gratuito
| Plataforma | Solicitudes gratuitas | Computo gratuito |
|---|---|---|
| AWS Lambda | 1M/mes | 400,000 GB-segundos |
| Vercel | 100K/mes | Incluido en el plan Hobby |
| Cloudflare Workers | 100K/dia (~3M/mes) | 10ms CPU por invocacion |
A escala (10M solicitudes/mes, duracion promedio de 50ms)
| Plataforma | Costo mensual estimado |
|---|---|
| AWS Lambda | ~$2.50 (solicitudes) + |
| Vercel | $20/mes (plan Pro, incluye funciones) |
| Cloudflare Workers | $5/mes (plan de pago, incluye 10M solicitudes) |
Para la mayoria de los casos de uso, Cloudflare Workers es el mas economico. Los precios de Vercel son simples pero incluyen toda la plataforma (hosting, CDN, analytics). AWS Lambda tiene los precios mas granulares.
Casos de uso reales
AWS Lambda: Mejor para
- Workflows backend complejos - step functions, arquitecturas event-driven
- Integracion con servicios AWS - triggers de S3, streams de DynamoDB, colas SQS
- Tareas de larga duracion - hasta 15 minutos de tiempo de ejecucion
- Equipos multi-lenguaje - soporta la mas amplia gama de runtimes
Vercel Functions: Mejor para
- Aplicaciones Next.js - rutas API sin configuracion
- Equipos orientados al frontend - despliega frontend y backend juntos
- Prototipado rapido - git push para desplegar
- Arquitecturas Jamstack - frontend estatico + 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: Mejor para
- APIs de baja latencia - el codigo se ejecuta en mas de 300 ubicaciones en todo el mundo
- Edge computing - transformar respuestas, pruebas A/B, personalizacion
- APIs de alto volumen - el mas economico a escala con generoso nivel gratuito
- Aplicaciones globales - datos cerca de los usuarios con KV y 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; }, };
Cuando elegir cual
Elige AWS Lambda si:
- Ya estas invertido en el ecosistema AWS
- Necesitas funciones de larga duracion (hasta 15 minutos)
- Necesitas arquitecturas event-driven complejas
- Necesitas runtimes mas alla de JavaScript (Python, Go, Rust, Java)
Elige Vercel Functions si:
- Estas desarrollando con Next.js o un framework frontend
- Quieres la experiencia de despliegue mas simple (git push)
- Tu equipo esta enfocado en el frontend
- Quieres hosting + funciones + CDN en una sola plataforma
Elige Cloudflare Workers si:
- Necesitas la latencia mas baja posible a nivel global
- Quieres la opcion mas economica a escala
- Necesitas capacidades de edge computing
- El tiempo de cold start es critico para tu caso de uso
Se pueden combinar?
Absolutamente. Una arquitectura comun:
- Cloudflare Workers: enrutamiento edge, caching, seguridad
- Vercel Functions: rutas API frontend, SSR
- AWS Lambda: procesamiento backend pesado, tareas programadas, pipelines de eventos
Conclusion
El serverless ha madurado significativamente. En 2026, la eleccion entre AWS Lambda, Vercel Functions y Cloudflare Workers depende de tu stack y tus prioridades:
- Experiencia de desarrollador mas simple: Vercel
- Mas potente y flexible: AWS Lambda
- Mejor rendimiento y precios: Cloudflare Workers
Las tres estan listas para produccion y probadas en batalla. Comienza con la que se ajuste a tu stack actual y amplia a medida que tus necesidades crezcan.