¿Qué es la computación serverless? Una explicación en lenguaje sencillo
¿Qué es la computación serverless? Una explicación en lenguaje sencillo
TL;DR — Respuesta rápida
2 min de lecturaLa computación serverless significa que el proveedor de nube gestiona toda la administración de servidores mientras tú escribes código. Solo pagas por el tiempo de cómputo real, se escala automáticamente desde cero, pero tiene compromisos como arranques en frío y límites de tiempo de ejecución.
A pesar del nombre, la computación serverless absolutamente involucra servidores. La etiqueta "serverless" significa que tú, el desarrollador, no gestionas esos servidores. El proveedor de nube se encarga del aprovisionamiento, escalado, parcheado y mantenimiento. Tú escribes código; ellos lo ejecutan.
Cómo funciona serverless
En el alojamiento tradicional, alquilas o gestionas un servidor que funciona 24/7, lo use o no alguien tu aplicación. Pagas por el servidor independientemente del tráfico, y eres responsable de mantenerlo actualizado, seguro y con el tamaño adecuado.
En la computación serverless, tu código se ejecuta en respuesta a eventos (solicitudes HTTP, cargas de archivos, cambios en bases de datos, disparadores programados). El proveedor de nube crea un entorno de ejecución temporal, ejecuta tu código y luego libera los recursos. Solo pagas por el tiempo de cómputo real consumido.
Características clave
Escalado automático. Las plataformas serverless escalan desde cero hasta miles de ejecuciones concurrentes automáticamente. No se requiere planificación de capacidad.
Pago por uso. Se te factura por los milisegundos que tu código se ejecuta, no por tiempo inactivo. Una aplicación sin tráfico no cuesta nada.
Sin gestión de servidores. Sin parches de sistema operativo, sin actualizaciones de seguridad, sin monitoreo de espacio en disco. El proveedor se encarga de todo lo que está por debajo de la capa de aplicación.
Basado en eventos. Las funciones se ejecutan en respuesta a disparadores específicos en lugar de ejecutarse continuamente.
Plataformas serverless populares
- AWS Lambda -- La plataforma serverless más establecida, compatible con muchos lenguajes de programación incluyendo PHP (a través de runtimes personalizados y herramientas como Laravel Vapor)
- Google Cloud Functions -- La oferta serverless de Google
- Azure Functions -- El equivalente de Microsoft
- Cloudflare Workers -- Serverless en el edge, ejecutándose cerca de los usuarios globalmente
Compromisos
Arranques en frío. Cuando una función no ha sido llamada recientemente, la primera invocación puede tardar más mientras la plataforma crea un nuevo entorno de ejecución. Esto puede mitigarse con estrategias de precalentamiento.
Límites de tiempo de ejecución. La mayoría de las plataformas serverless imponen tiempos máximos de ejecución (15 minutos para AWS Lambda). Los procesos de larga duración necesitan arquitecturas diferentes.
Dependencia del proveedor. Las aplicaciones serverless a menudo dependen de servicios específicos del proveedor, haciendo más compleja la migración entre proveedores.
Complejidad de depuración. Las funciones distribuidas son más difíciles de depurar que las aplicaciones monolíticas ejecutándose en un solo servidor.
Gestión de estado. Las funciones serverless son stateless por diseño. Cualquier dato persistente debe almacenarse externamente en bases de datos, cachés o almacenamiento de objetos.
Cuándo usar serverless
Serverless funciona bien para: APIs y aplicaciones web con tráfico variable, procesamiento de eventos y pipelines de datos, tareas programadas y cron jobs, y prototipos que necesitan lanzarse rápidamente sin configuración de infraestructura.
Serverless puede no ser ideal para: aplicaciones con tráfico alto consistente (donde la capacidad reservada es más económica), cargas de trabajo que requieren conexiones persistentes, y equipos sin experiencia en sistemas distribuidos.
Conclusión
La computación serverless elimina la gestión de infraestructura de las responsabilidades del desarrollador, permitiendo a los equipos enfocarse en la lógica de la aplicación. No es universalmente superior al alojamiento tradicional, pero ofrece ventajas convincentes para muchos patrones de carga de trabajo, particularmente aplicaciones con tráfico variable y equipos que quieren minimizar la sobrecarga operativa.
¿Te resultó útil este artículo?
¡Cuéntanos qué opinas!
Antes de irte...
Artículos relacionados
Puede Laravel manejar hiperescala? Un analisis practico
El debate 'Escala Laravel?' resuelto con datos del mundo real. Spoiler: el framework nunca es el cuello de botella -- las bases de datos, las caches y los servicios externos lo son.
Un ano con Laravel Vapor: lecciones de ejecutar PHP serverless en produccion
Despues de un ano completo ejecutando Laravel de alto trafico en AWS Lambda a traves de Vapor, aqui estan los logros, desafios y datos de rendimiento honestos desde produccion.
Como mejorar los tiempos de respuesta de Laravel Vapor con precalentamiento
El precalentamiento de contenedores Lambda en Laravel Vapor elimina los arranques en frio por centavos al mes. Asi se configura y por que siempre deberias activarlo en produccion.