Qué es serverless computing

Funciones en la nube que escalan automáticamente y solo cobran cuando se ejecutan

9 min

Serverless computing permite ejecutar código sin gestionar servidores. El proveedor cloud asigna recursos automáticamente, escala según la demanda y factura solo por el tiempo de ejecución real. No hay servidores que aprovisionar, parchear o monitorizar: solo código que se ejecuta en respuesta a eventos.

Desde procesar imágenes hasta ejecutar APIs completas, serverless ha transformado cómo se construyen y despliegan aplicaciones. Esta guía cubre cómo funciona, sus beneficios reales, las limitaciones que debes conocer y cuándo tiene sentido frente a una arquitectura con servidores.

¿Cómo funciona serverless?

En serverless, escribes funciones individuales que responden a eventos: una petición HTTP, un mensaje en una cola, un archivo subido a un bucket o un cron programado. El proveedor cloud se encarga de ejecutar la función en un contenedor efímero, asignar los recursos necesarios y destruir el contenedor cuando termina.

Las plataformas principales son AWS Lambda (la pionera, lanzada en 2014), Google Cloud Functions, Azure Functions y Cloudflare Workers. Cada una soporta múltiples lenguajes (Node.js, Python, Go, Rust, Java) y se integra nativamente con el ecosistema de servicios de su proveedor.

  • Funciones activadas por eventos: HTTP, colas, storage, cron, base de datos
  • Contenedores efímeros: se crean al invocar y se destruyen al terminar
  • Escalado automático: de 0 a miles de instancias simultáneas sin configuración
  • Facturación por milisegundo de ejecución y por número de invocaciones

Beneficios de serverless

El beneficio más directo es el coste: si tu función no se ejecuta, no pagas. Una API que recibe 1.000 requests al día puede costar menos de 1$ al mes en Lambda. Para cargas de trabajo intermitentes o impredecibles, serverless es dramáticamente más económico que mantener servidores encendidos 24/7.

La eliminación de la gestión de infraestructura libera al equipo para enfocarse en lógica de negocio. No hay parches de seguridad del SO, no hay configuración de auto-scaling groups, no hay monitorización de discos ni memoria. El proveedor gestiona todo lo que está debajo de tu código.

  • Coste cero en reposo: solo pagas cuando la función se ejecuta
  • Escalado automático: de 0 a miles de instancias sin intervención
  • Sin gestión de infraestructura: no hay SO, parches ni servidores
  • Time-to-market rápido: despliega funciones en segundos
  • Alta disponibilidad: el proveedor replica automáticamente en múltiples zonas

Limitaciones y cold starts

El cold start es la limitación más conocida. Cuando una función no se ha ejecutado recientemente, el proveedor necesita crear un nuevo contenedor, cargar el runtime y tu código. Este arranque en frío puede añadir entre 100ms y varios segundos de latencia, dependiendo del lenguaje y el tamaño del paquete.

Otras limitaciones incluyen el tiempo máximo de ejecución (15 minutos en Lambda, 9 minutos en Cloud Functions), el tamaño del paquete desplegado, la memoria disponible y las conexiones persistentes (bases de datos, WebSockets). Para procesos de larga duración o con requisitos de baja latencia constante, serverless puede no ser la mejor opción.

  • Cold starts: latencia adicional en la primera invocación (100ms-5s)
  • Tiempo máximo de ejecución: 15 min (Lambda), 9 min (Cloud Functions)
  • Sin estado: cada invocación es independiente, no hay memoria compartida
  • Conexiones a BD: requiere connection pooling (RDS Proxy, PgBouncer)
  • Debugging más complejo: logs distribuidos, difícil reproducir localmente

Casos de uso ideales

Serverless brilla en APIs con tráfico variable, procesamiento de eventos asíncronos, tareas programadas (cron jobs) y procesamiento de datos bajo demanda. Una API de backend para una app móvil, un pipeline de procesamiento de imágenes, o un sistema de notificaciones por email son casos de uso perfectos.

También es excelente para MVPs y prototipos: puedes construir un backend funcional en horas, desplegarlo sin configurar infraestructura y pagar solo centavos mientras validas la idea. Si el proyecto escala, puedes optimizar después.

  • APIs REST/GraphQL con tráfico variable o intermitente
  • Procesamiento de eventos: imágenes, vídeos, archivos, webhooks
  • Tareas programadas: envío de emails, generación de reportes, limpieza de datos
  • MVPs y prototipos: backend funcional con coste mínimo
  • Backends para apps móviles con picos de uso impredecibles

Serverless vs contenedores

Contenedores (Docker + Kubernetes) y serverless resuelven problemas diferentes. Los contenedores ofrecen control total sobre el entorno de ejecución, son portables entre proveedores y no tienen límites de tiempo de ejecución. Serverless elimina la gestión de infraestructura pero sacrifica control y portabilidad.

Para cargas de trabajo predecibles y continuas (un servidor web con tráfico constante), los contenedores suelen ser más económicos. Para cargas intermitentes con picos (una API que recibe 100 requests por hora y 10.000 durante una campaña), serverless escala mejor y cuesta menos. Muchas arquitecturas modernas combinan ambos: contenedores para servicios core y serverless para funciones auxiliares.

Frameworks y herramientas

El ecosistema serverless ha madurado con frameworks que simplifican el desarrollo y despliegue. Serverless Framework, SST (Serverless Stack) y AWS SAM son los más populares. Para edge computing, Cloudflare Workers y Vercel Edge Functions ejecutan código en puntos de presencia cercanos al usuario con cold starts de microsegundos.

Para desarrollo local, herramientas como LocalStack emulan servicios AWS, y cada framework tiene su modo de desarrollo local. La observabilidad es crítica: Datadog, Lumigo y AWS X-Ray permiten trazar invocaciones y detectar cuellos de botella en arquitecturas serverless.

  • Frameworks: Serverless Framework, SST, AWS SAM, Architect
  • Edge: Cloudflare Workers, Vercel Edge Functions, Deno Deploy
  • Desarrollo local: LocalStack, SAM Local, SST dev mode
  • Observabilidad: Datadog, Lumigo, AWS X-Ray, Powertools for Lambda

Puntos clave

  • Serverless ejecuta código sin gestionar servidores, con escalado automático y pago por uso
  • Ideal para APIs con tráfico variable, procesamiento de eventos y MVPs
  • Cold starts y límites de ejecución son las principales limitaciones a evaluar
  • Para cargas continuas y predecibles, los contenedores suelen ser más eficientes
  • Frameworks como SST y Serverless Framework simplifican el desarrollo y despliegue

¿Serverless es la opción correcta para tu proyecto?

Evaluamos tu arquitectura y te ayudamos a decidir entre serverless, contenedores o un enfoque híbrido.