Serverless es un modelo de ejecución en el que el desarrollador despliega funciones o contenedores sin preocuparse de aprovisionar, parchear o escalar servidores. El proveedor cloud se encarga de todo eso a cambio de un modelo de facturación distinto: se cobra por uso real (peticiones, tiempo de CPU, memoria) en vez de por máquina reservada. Si nadie usa el servicio, el coste tiende a cero; si la demanda crece de golpe, el sistema escala sin intervención humana.
Hay dos sabores. Funciones (FaaS, Functions-as-a-Service) — AWS Lambda, Google Cloud Functions, Azure Functions, Cloudflare Workers, Vercel Functions, Deno Deploy — ejecutan trozos pequeños de código por evento (HTTP, mensaje, schedule, trigger de BD) con duración limitada y, en muchos casos, cold start. Contenedores serverless — AWS Fargate/App Runner, Google Cloud Run, Azure Container Apps — ejecutan imágenes Docker con la misma promesa de escalado automático pero sin las restricciones de runtime de las funciones.
Las ventajas son evidentes: cero gestión de infraestructura, escalado elástico, facturación por uso, time-to-market muy rápido. Las desventajas también: cold starts (más en lenguajes con runtime pesado: Java sin GraalVM, .NET Framework), vendor lock-in cuando se usan integraciones específicas, límites de duración y de memoria, y dificultad para depurar localmente. Para cargas predecibles 24/7, una máquina dedicada puede salir más barata; para tráfico irregular, serverless gana de calle.
En 10Code usamos serverless para APIs con tráfico irregular, jobs programados, procesadores de eventos, webhooks de terceros y backends de productos en fase temprana donde no queremos gestionar servidores. Cloud Run es nuestra opción favorita por la flexibilidad de los contenedores y la ergonomía de despliegue; Lambda y Cloudflare Workers cuando el caso lo encaja mejor.
En 10Code llevamos más de una década aplicando estas tecnologías a productos reales. Si quieres comentarnos tu caso, escríbenos y te respondemos personalmente.
Hablar con un ingeniero