Qué es el alojamiento serverless

Qué es la computación serverless
La computación serverless es un modelo de computación en la nube en el que el proveedor gestiona automáticamente la infraestructura de servidores mientras tú te centras únicamente en el código. A pesar del nombre, los servidores siguen existiendo, pero no tienes que configurarlos, mantenerlos, actualizarlos ni escalarlos. El proveedor se encarga de todo eso mientras tú escribes funciones que se ejecutan en respuesta a eventos. Solo pagas por el tiempo de ejecución del código, no por un servidor a la espera de peticiones.
El concepto de serverless evolucionó a partir de la computación en la nube. De los servidores físicos pasamos a las máquinas virtuales, luego a los contenedores y, finalmente, a las funciones serverless. Cada paso abstraía más infraestructura de los desarrolladores, permitiéndoles centrarse en la lógica de negocio. AWS Lambda, lanzado en 2014, fue el primer servicio serverless comercial y desencadenó una revolución en la forma de concebir el alojamiento.
Cómo funciona serverless
Functions as a Service (FaaS)
FaaS es el corazón de la arquitectura serverless. Escribes una función que realiza una tarea concreta, por ejemplo procesar una imagen, enviar un correo o crear un PDF. Esa función se empaqueta y se sube a la plataforma serverless. Cuando ocurre un evento que activa tu función, como una petición HTTP, la subida de un archivo o un mensaje en una cola, la plataforma inicia automáticamente una instancia de tu función, la ejecuta y devuelve el resultado. Tras la ejecución, la instancia se apaga. Si llegan 1.000 peticiones simultáneamente, la plataforma inicia 1.000 instancias en paralelo.
Backend as a Service (BaaS)
El componente BaaS de serverless proporciona servicios de backend ya listos como base de datos, autenticación, almacenamiento de archivos y notificaciones push como servicios gestionados. Firebase, de Google, es el BaaS más popular, ofreciendo base de datos en tiempo real, autenticación, almacenamiento en la nube y alojamiento en un solo paquete. AWS Amplify combina funciones Lambda con base de datos DynamoDB, autenticación Cognito y almacenamiento S3. Supabase es una alternativa de código abierto a Firebase con una base de datos PostgreSQL. BaaS elimina la necesidad de escribir código de backend estándar para operaciones habituales.
Arquitectura orientada a eventos
Las aplicaciones serverless son intrínsecamente orientadas a eventos, lo que significa que el código se ejecuta solo cuando ocurre un evento concreto. Los eventos pueden ser peticiones HTTP de usuarios, cambios en la base de datos, la subida de un archivo al almacenamiento, una hora programada como un cron job, un mensaje en una cola de mensajes o datos de un sensor IoT. Esta arquitectura es naturalmente eficiente, porque los recursos se consumen solo cuando hay trabajo que hacer. En el modelo tradicional, el servidor se ejecuta constantemente y consume recursos incluso cuando no hay tráfico.
Ventajas de serverless
Escalado automático
Las plataformas serverless escalan automáticamente tu código de cero a millones de peticiones sin ninguna configuración. No hace falta configurar reglas de autoescalado, definir el número mínimo y máximo de instancias ni preocuparse por un balanceador de carga. Si tu sitio tiene 10 visitantes a medianoche y 10.000 durante el pico de la tarde, serverless se adapta automáticamente. Esto es especialmente útil para aplicaciones con tráfico impredecible, como tiendas de comercio electrónico durante las rebajas o campañas virales en redes sociales.
Pago por uso
El alojamiento tradicional cobra un precio mensual fijo independientemente de que el servidor funcione al 1 o al 100 por cien de su capacidad. Serverless cobra solo por el tiempo de ejecución del código, normalmente en milisegundos, más el número de invocaciones de la función. AWS Lambda, por ejemplo, ofrece un millón de invocaciones gratuitas al mes y 400.000 GB-segundos de tiempo de cómputo gratuito. Para un sitio pequeño con 50.000 peticiones al mes, el alojamiento serverless puede ser prácticamente gratuito. Esto es ideal para startups y proyectos en fase inicial donde hay que controlar cuidadosamente el presupuesto.
Mantenimiento cero
No tienes que preocuparte por actualizar el sistema operativo, instalar parches de seguridad, configurar el servidor web, gestionar certificados SSL ni supervisar el hardware. El proveedor se encarga de toda la infraestructura, incluida la seguridad, la redundancia y las copias de seguridad. Esto libera tiempo de tu equipo para trabajar en el producto en lugar de en la infraestructura. Para un equipo pequeño o un desarrollador en solitario, esto supone una enorme ventaja, porque elimina la necesidad de conocimientos de DevOps.
Inconvenientes de serverless
El problema del arranque en frío
Cuando una función serverless no se ha usado durante un tiempo, la plataforma apaga su instancia para ahorrar recursos. La siguiente petición debe iniciar una nueva instancia, lo que introduce una latencia adicional conocida como arranque en frío (cold start). Un arranque en frío puede tardar desde 100 milisegundos para funciones de Node.js hasta varios segundos para funciones de Java o C#. Para aplicaciones que requieren tiempos de respuesta constantemente bajos, el arranque en frío es un problema importante. Entre las soluciones está la concurrencia aprovisionada, que mantiene las instancias calientes, pero eso elimina la ventaja del pago por uso.
Dependencia del proveedor (vendor lock-in)
Cada proveedor de nube tiene su propio ecosistema serverless con APIs, herramientas y servicios específicos. Una aplicación escrita para AWS Lambda usa API Gateway, DynamoDB y S3, que no tienen equivalentes directos en Google Cloud o Azure. Migrar a otro proveedor requiere reescribir una cantidad significativa de código. Frameworks como Serverless Framework o Terraform intentan abstraer las diferencias entre proveedores, pero la portabilidad total es poco realista, porque hay diferencias fundamentales en los servicios y las APIs.
Limitaciones de ejecución
Las funciones serverless tienen límites en la duración de ejecución, la memoria y el tamaño del paquete. AWS Lambda tiene una duración máxima de 15 minutos por ejecución, 10 GB de memoria y 250 MB para el paquete de despliegue. Esto significa que las operaciones de larga duración, como el procesamiento de archivos de vídeo grandes, el aprendizaje automático complejo o el procesamiento de datos por lotes, no son adecuadas para serverless. La depuración y la supervisión son más complejas porque no tienes acceso al servidor: usas herramientas nativas de la nube como CloudWatch o X-Ray.
Cuándo usar serverless
Casos de uso ideales
- Backend de API: las APIs REST o GraphQL con tráfico impredecible son candidatas perfectas, porque escalan automáticamente y no cuestan nada cuando no hay peticiones.
- Procesamiento de eventos: procesar eventos como la subida de imágenes, el envío de correos, la generación de informes o el procesamiento de webhooks.
- Tareas programadas: cron jobs que se ejecutan periódicamente, como la limpieza de la base de datos, la generación de informes diarios o la sincronización de datos.
- Chatbots: responder a las consultas de los usuarios cuando el tráfico es impredecible y esporádico.
- Backend de IoT: procesar datos de sensores cuando el número de dispositivos puede variar de 10 a 10.000.
Cuándo evitar serverless
Serverless no es ideal para aplicaciones con tráfico constantemente alto, porque un servidor fijo resulta más rentable bajo una carga constante. Las aplicaciones que requieren procesos de larga duración, como el renderizado de vídeo, las conexiones websocket o el streaming, no caben dentro de los límites de las funciones serverless. Las aplicaciones con requisitos específicos de sistema operativo, hardware o software no disponibles en la plataforma serverless requieren alojamiento tradicional. Las aplicaciones heredadas que usan estado entre peticiones son difíciles de migrar, porque las funciones serverless son intrínsecamente sin estado (stateless).
Serverless frente al alojamiento tradicional
Comparación para un sitio pequeño
Para un sitio pequeño con 10.000 a 50.000 visitas al mes, un plan de alojamiento compartido cuesta de 3 a 10 euros al mes y ofrece costes predecibles, sencillez y soporte para PHP, WordPress y correo electrónico. Serverless puede ser gratuito o costar menos de 1 euro al mes para el mismo tráfico, pero requiere conocimientos técnicos para configurarlo y no admite plataformas CMS tradicionales. Para los propietarios de sitios pequeños que usan WordPress, el alojamiento tradicional es la opción más práctica.
Comparación para una aplicación grande
Para una aplicación grande con millones de peticiones al día, el alojamiento avanzado con recursos dedicados cuesta de 50 a 500 euros al mes, pero requiere un equipo de DevOps para gestionarlo. Serverless escala automáticamente sin intervención, pero los costes pueden crecer rápidamente bajo una carga alta constante. Un enfoque híbrido en el que el tráfico base lo gestiona un servidor tradicional mientras que serverless absorbe los picos suele ser la solución óptima, combinando la previsibilidad de costes con la elasticidad del escalado. En BeoHosting ofrecemos planes de alojamiento tradicional optimizados para WordPress y aplicaciones web con costes predecibles y soporte técnico completo, lo que constituye una solución más práctica que la arquitectura serverless para la mayoría de los usuarios.
Conclusión
El alojamiento serverless representa una evolución de la computación en la nube que elimina las preocupaciones por la infraestructura y permite centrarse en el código y la lógica de negocio. El escalado automático, el pago por uso y el mantenimiento cero son ventajas potentes para los casos de uso adecuados. Sin embargo, el problema del arranque en frío, la dependencia del proveedor y los límites de ejecución hacen que serverless no sea adecuado para todos los tipos de aplicación. Comprender las ventajas e inconvenientes te ayuda a tomar una decisión informada sobre si serverless o el alojamiento tradicional se adapta mejor a tus necesidades.
BeoHosting Team
10+ años de experiencia — Especialistas en alojamiento web e infraestructura
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Última actualización: