Jonatan Matajonmatum.com
conceptosnotasexperimentosensayos
© 2026 Jonatan Mata. All rights reserved.v2.1.1
Conceptos

Serverless

Modelo de computación en la nube donde el proveedor gestiona la infraestructura automáticamente, permitiendo ejecutar código sin aprovisionar ni administrar servidores, pagando solo por el uso real.

evergreen#serverless#cloud#faas#event-driven#aws#scaling

¿Qué es?

Serverless es un modelo de ejecución en la nube donde el proveedor asigna recursos dinámicamente y cobra solo por el cómputo consumido. No significa «sin servidores» — significa que el desarrollador no los gestiona. El proveedor se encarga del aprovisionamiento, escalado, parches y disponibilidad.

Características fundamentales

  • Sin gestión de servidores: no hay instancias que configurar ni mantener
  • Escalado automático: de cero a miles de instancias según demanda
  • Pago por uso: se cobra por invocación/duración, no por tiempo idle
  • Event-driven: las funciones se ejecutan en respuesta a eventos

Servicios serverless en AWS

ServicioFunción
LambdaFunciones como servicio (FaaS)
API GatewayAPIs HTTP/REST/WebSocket
DynamoDBBase de datos NoSQL
S3Almacenamiento de objetos
Step FunctionsOrquestación de workflows
EventBridgeBus de eventos
SQS / SNSMensajería

Patrones comunes

  • API backend: API Gateway → Lambda → DynamoDB
  • Procesamiento de eventos: S3 upload → Lambda → procesamiento
  • Workflows: Step Functions orquestando múltiples Lambdas
  • Cron jobs: EventBridge schedule → Lambda

Ventajas

  • Tiempo al mercado rápido
  • Costo cero cuando no hay tráfico
  • Escalado sin intervención
  • Menos superficie de ataque (sin OS que parchear)

Limitaciones

  • Cold starts: latencia en la primera invocación (ver análisis abajo)
  • Duración máxima: Lambda tiene límite de 15 minutos por invocación
  • Memoria: máximo 10 GB por función
  • Payload: 6 MB síncrono, 256 KB asíncrono
  • Concurrencia: 1.000 ejecuciones simultáneas por defecto (ampliable)
  • Vendor lock-in: APIs específicas de cada proveedor
  • Estado: las funciones son stateless por diseño — el estado va en DynamoDB, S3 o ElastiCache

Cold starts

El cold start ocurre cuando Lambda crea un nuevo entorno de ejecución. La latencia varía significativamente por runtime y tamaño del paquete:

RuntimeCold start típicoCon SnapStart/provisioned
Node.js100–300 msNo aplica
Python150–400 msNo aplica
Java1–3 s200–400 ms con SnapStart
.NET400–800 ms100–200 ms con Native AOT
Rust/Go10–30 msNo necesario

Estrategias de mitigación:

  • Provisioned concurrency: mantiene instancias «calientes» — elimina cold starts pero tiene costo fijo
  • SnapStart (Java): snapshot del entorno inicializado, reduce cold start de segundos a milisegundos
  • Minimizar dependencias: paquetes más pequeños inicializan más rápido
  • Inicialización fuera del handler: el código fuera del handler se ejecuta una vez y se reutiliza

Serverless vs. contenedores

CriterioServerless (Lambda)Contenedores (Fargate)
Duración máxima15 minutosSin límite
EscaladoAutomático, por invocaciónAutomático, por métricas (más lento)
Cold start100 ms – 3 s30–60 s (provisioning de tarea)
Costo en idle$0Costo por vCPU/memoria mientras corre
Costo en alto tráficoPuede ser alto (por invocación)Más predecible (por hora)
EstadoStatelessPuede mantener estado en memoria
NetworkingVPC opcional, ENI lentoVPC nativo, networking completo

Usar serverless cuando: tráfico variable o impredecible, ejecuciones cortas (menos de 15 min), equipos pequeños que quieren cero ops, arquitecturas event-driven.

Usar contenedores cuando: procesos de larga duración, necesidad de estado en memoria, tráfico constante y predecible, requisitos de networking complejos.

Modelado de costos

Lambda cobra $0.20 por millón de invocaciones más $0.0000166667 por GB-segundo. Para una API con 1 millón de requests/mes, 256 MB de memoria y 200 ms promedio:

  • Invocaciones: 1M × $0.20 = $0.20
  • Cómputo: 1M × 0.2s × 0.25 GB × $0.0000166667 = $0.83
  • Total: ~$1.03/mes

La misma carga en Fargate (0.25 vCPU, 0.5 GB, corriendo 24/7): ~$9.10/mes. Serverless gana en cargas variables. Pero a 100M requests/mes, Lambda cuesta ~$103 mientras Fargate sigue en ~$9.10 — el punto de cruce depende del patrón de tráfico.

Anti-patrones

  • Lambda monolítica: una función que hace todo — pierde las ventajas de escalado granular y aumenta cold starts
  • Cadenas Lambda-a-Lambda: invocar una Lambda desde otra directamente — usar Step Functions o SQS en su lugar
  • Sobre-orquestación: Step Functions para lógica que cabe en una sola función — añade latencia y costo innecesario
  • Ignorar límites de concurrencia: sin reserved concurrency, una función puede consumir toda la cuota de la cuenta
  • Funciones sin timeout: el timeout por defecto es 3 segundos, pero funciones sin ajustar pueden correr 15 minutos por error

¿Por qué importa?

Serverless elimina la gestión de servidores y el pago por capacidad ociosa. Para cargas de trabajo con tráfico variable — APIs, procesamiento de eventos, tareas programadas — el modelo de pago por ejecución puede reducir costos dramáticamente mientras escala automáticamente.

Referencias

  • Serverless Architectures — AWS — AWS, 2024. Documentación oficial de servicios serverless.
  • Serverless Land — AWS, 2024. Patrones, ejemplos y recursos para arquitecturas serverless.
  • Operating Lambda: Performance optimization — AWS Compute Blog, 2022. Análisis detallado de cold starts y estrategias de optimización.
  • Lambda concurrency — AWS, 2024. Documentación de concurrencia reservada y provisionada.
  • Serverless Framework — Serverless Inc, 2024. Framework multi-cloud para aplicaciones serverless.

Contenido relacionado

  • AWS Lambda

    Servicio de cómputo serverless de AWS que ejecuta código en respuesta a eventos sin necesidad de aprovisionar ni administrar servidores, escalando automáticamente desde cero hasta miles de ejecuciones concurrentes.

  • Infrastructure as Code

    Práctica de definir y gestionar infraestructura mediante archivos de configuración versionados en lugar de procesos manuales. Fundamento de la automatización moderna de operaciones.

  • Arquitectura Orientada a Eventos

    Patrón arquitectónico donde los componentes se comunican mediante eventos asíncronos, permitiendo sistemas desacoplados, escalables y reactivos.

  • AWS Fargate

    Motor de cómputo serverless para contenedores que elimina la necesidad de gestionar servidores, permitiendo ejecutar contenedores Docker pagando solo por los recursos consumidos.

  • AWS Bedrock

    Servicio serverless de AWS que proporciona acceso a modelos fundacionales de múltiples proveedores (Anthropic, Meta, Mistral, Amazon) vía API unificada, sin gestionar infraestructura de ML.

  • Cloud Native

    Enfoque de desarrollo que aprovecha las ventajas de la nube: contenedores, microservicios, infraestructura inmutable y automatización declarativa para sistemas escalables y resilientes.

  • Optimización de Costos

    Prácticas y estrategias para minimizar el gasto en cloud sin sacrificar rendimiento, incluyendo right-sizing, reservas, spot instances y eliminación de recursos ociosos.

  • De prototipo a producción: un segundo cerebro serverless en AWS

    Diseño de arquitectura para escalar un segundo cerebro personal a un sistema de producción con AWS serverless — desde el prototipo actual hasta casos de uso especializados en legal, investigación y comunidad.

  • Construyendo un segundo cerebro en público

    Crónica de construir un segundo cerebro con grafo de conocimiento, pipeline bilingüe y endpoints para agentes — en días, no semanas, y lo que eso enseña sobre la brecha entre teoría y sistemas que funcionan.

  • Módulos Terraform para AWS Serverless

    Colección de 13 módulos Terraform publicados en el Terraform Registry para desplegar arquitecturas serverless en AWS, con 12 ejemplos que cubren desde ECS básico hasta CRUD full-stack con DynamoDB y AgentCore con MCP.

  • Presentación Serverless First

    Presentación con Slidev sobre 10 razones para adoptar una arquitectura serverless-first. Desplegada en GitHub Pages.

  • Segundo Cerebro Serverless

    Backend serverless de producción para un grafo de conocimiento personal — DynamoDB, Lambda, Bedrock, MCP, Step Functions. La implementación de la arquitectura descrita en el ensayo «Del prototipo a producción».

  • Laboratorio Serverless

    Laboratorio personal de experimentos con arquitecturas serverless: prototipos, patrones y aprendizajes sobre aplicaciones event-driven en AWS.

  • PR Auto-Approver

    GitHub App serverless que auto-aprueba pull requests después de que CI pasa, con revisión de código opcional vía Amazon Bedrock. Cinco repositorios: app TypeScript/Probot, módulo Terraform AWS (Lambda + API Gateway + Secrets Manager + SQS DLQ), módulo Terraform GitHub (webhooks), infra de despliegue y repo de pruebas.

  • Plantilla Devcontainer Serverless Fullstack

    Plantilla de devcontainer para desarrollo fullstack serverless con backend Python, frontend React y servicios AWS locales.

  • Progressive Web Apps

    Aplicaciones web que usan tecnologías modernas para ofrecer experiencias similares a apps nativas: instalables, offline-capable y con notificaciones push.

  • Next.js

    Framework de React para aplicaciones web full-stack con Server Components, routing basado en archivos, SSR/SSG y optimizaciones de rendimiento integradas.

  • Estrategias de Logging

    Prácticas para implementar logging efectivo en sistemas distribuidos: structured logging, niveles, correlación y agregación centralizada.

  • Optimización de Inferencia

    Técnicas para reducir el costo, la latencia y los recursos necesarios para ejecutar modelos de lenguaje en producción, desde cuantización hasta serving distribuido.

  • AWS Well-Architected Framework

    Framework de AWS con seis pilares de mejores prácticas para diseñar y operar sistemas confiables, seguros, eficientes y rentables en la nube.

  • AWS Step Functions

    Servicio de orquestación serverless de AWS que coordina múltiples servicios en workflows visuales usando Amazon States Language (ASL), con manejo de errores, reintentos y ejecución paralela integrados.

  • AWS SQS

    Servicio de colas de mensajes completamente administrado de AWS que desacopla componentes de aplicaciones distribuidas, garantizando la entrega de mensajes con escalabilidad ilimitada.

  • AWS SNS

    Servicio de mensajería pub/sub de AWS que distribuye mensajes a múltiples suscriptores simultáneamente, habilitando patrones de fan-out y notificaciones a escala.

  • AWS SAM

    Framework open-source de AWS para construir aplicaciones serverless con una sintaxis simplificada de CloudFormation, CLI para desarrollo local y despliegue integrado.

  • AWS S3

    Servicio de almacenamiento de objetos de AWS con durabilidad del 99.999999999%, escalabilidad ilimitada y múltiples clases de almacenamiento para optimizar costos.

  • AWS EventBridge

    Bus de eventos serverless de AWS que conecta aplicaciones usando eventos, permitiendo arquitecturas desacopladas y event-driven con enrutamiento basado en reglas.

  • AWS DynamoDB

    Base de datos NoSQL serverless de AWS con latencia de milisegundos a cualquier escala, ideal para aplicaciones que requieren alto rendimiento y escalabilidad automática.

  • AWS API Gateway

    Servicio managed de AWS para crear, publicar y gestionar APIs REST, HTTP y WebSocket que actúan como puerta de entrada a funciones Lambda y otros servicios backend.

  • Patrón API Gateway

    Patrón que proporciona un punto de entrada único para múltiples microservicios, manejando routing, autenticación, rate limiting y agregación de respuestas.

Conceptos