Una ilustración de estilo plano de camiones y paquetes

La informática a gran escala simplificada

Las flotas sin servidor proporcionan una manera fácil de implementar cargas de trabajo de computación intensiva de manera eficiente y segura en máquinas virtuales o GPU.

Obtenga más información ahora

¿Qué es la informática sin servidor?

Vista aérea de Shanghai Lujiazui en nubes estratosféricas

Autores

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

¿Qué es la informática sin servidor?

La informática sin servidor es un modelo de desarrollo y ejecución de aplicaciones que permite a los desarrolladores crear y ejecutar código de aplicación sin aprovisionar ni gestionar servidores ni infraestructura de back-end.

Sin servidor no significa que "no haya servidores". A pesar del nombre, los servidores en la informática sin servidor son gestionados por un proveedor de servicios en la nube (CSP). "Sin servidor" describe la experiencia del desarrollador con esos servidores: son invisibles para el desarrollador, que no los ve, no los gestiona ni interactúa con ellos de ninguna manera.

Los desarrolladores pueden centrarse en escribir el mejor código de aplicación front-end y la lógica empresarial con la computación sin servidor. Todo lo que necesitan hacer es escribir el código de su aplicación e implementarlo en contenedores administrados por un CSP.

El proveedor de servicios en la nube se encarga del resto, el aprovisionamiento de la infraestructura en la nube necesaria para ejecutar el código y la ampliación y reducción de la infraestructura en función de las necesidades, y también es responsable de toda la gestión y el mantenimiento rutinarios de la infraestructura, como las actualizaciones y los parches del sistema operativo, la gestión de la seguridad, la planificación de la capacidad, la monitorización del sistema, etc.

Además, los desarrolladores nunca pagan por la capacidad inactiva con sin servidor. El proveedor de servicios en la nube pone en marcha y suministra los recursos informáticos necesarios cuando se ejecuta el código, después los vuelve a reducir, llevando a cabo lo que se conoce como "escalado a cero" cuando se detiene la ejecución. La facturación comienza cuando se inicia la ejecución y termina cuando se detiene; normalmente, la tarificación se basa en el tiempo de ejecución y los recursos necesarios.

Junto con la infraestructura como servicio (IaaS), la plataforma como servicio (PaaS), la función como servicio (FaaS) y el software como servicio (SaaS), sin servidor se ha convertido en una oferta líder de servicios en la nube. Según un informe de SkyQuest Technology, el tamaño del mercado mundial de arquitectura sin servidores se valoró en 8010 millones de dólares en 2022 y se espera que pase de 9840 millones de dólares en 2023 a 50 860 millones de dólares en 20311. Hoy en día, todos los principales proveedores de servicios en la nube ofrecen una plataforma sin servidor, incluidos Amazon Web Services (AWS Lambda), Microsoft Azure (Azure), Google Cloud (Google Cloud Cloud Cloud Code Engine).

Juntos, la informática sin servidor, los microservicioslos contenedores forman un triunvirato de tecnologías en el núcleo del desarrollo de aplicaciones nativas de la nube.

Eche un vistazo a este vídeo para obtener una explicación detallada de sin servidor y la pila sin servidor (6:37).

Los orígenes de sin servidor

Sin servidor se originó en 2008 cuando Google lanzó Google App Engine (GAE), una plataforma para desarrollar y alojar aplicaciones web en centros de datos gestionados por Google. Con GAE, un desarrollador de software podría crear e iniciar software en la nube de Google sin preocuparse por tareas de gestión de servidores como parches o equilibrio de carga, que Google gestionó.

El término "sin servidor" apareció por primera vez en un artículo técnico por el especialista en cloud computing Ken Fromm en 20122. En 2014, Amazon introdujo AWS Lambda, la primera plataforma sin servidor. AWS Lambda, un modelo de FaaS, que lleva el nombre de funciones de cálculo y programación lambda, ayudó a que el marco de computación sin servidor ganara atractivo en el mercado masivo y se adoptara rápidamente entre los desarrolladores de software, ya que les permitió ejecutar código en respuesta a eventos sin necesidad de administrar servidores. En 2016, Microsoft Azure Functions y Google Cloud Functions lanzaron sus plataformas sin servidor.

Otros actores importantes en el mercado actual de plataformas sin servidor son IBM Cloud Code Engine, Oracle Cloud Infrastructure (OCI) Functions, Cloudflare Workers y Alibaba Function Compute.

Vista aérea de autopista

Mantenga su cabeza en la nube

Reciba el boletín semanal Think para obtener orientación de expertos sobre cómo optimizar la configuración multinube en la era de la IA.

El ecosistema sin servidor

Sin servidor y FaaS

Sin servidor es mucho más que una función como servicio (FaaS), el servicio de cloud computing que permite a los desarrolladores ejecutar código o contenedores en respuesta a eventos o solicitudes específicos sin especificar ni gestionar la infraestructura necesaria para ejecutar el código.

FaaS es el modelo de computación central para sin servidor, y los dos términos se utilizan a menudo indistintamente. En comparación con FaaS, sin servidor es una pila completa de servicios que pueden responder a eventos o solicitudes específicos y escalar a cero cuando ya no están en uso, y para los que el proveedor, la administración y la facturación son gestionados por el proveedor de la nube e invisibles para los desarrolladores.

Además de FaaS, estos servicios incluyen bases de datos y almacenamiento, pasarelas de interfaz de programación de aplicaciones (API) y arquitectura basada en eventos.

Bases de datos y almacenamiento sin servidor

Las bases de datos (SQL y NoSQL) y el almacenamiento (en particular el almacenamiento de objetos) son la base de la capa de datos. Un enfoque sin servidor de estas tecnologías implica pasar de aprovisionar "instancias" con límites definidos de capacidad, conexión y consulta a modelos que se escalan linealmente con la demanda, tanto en infraestructura como en precios.

Pasarelas de API

Las pasarelas de API actúan como proxies de las acciones web y proporcionan enrutamiento de métodos HTTP, ID y secretos de los clientes, límites de velocidad, CORS, visualización del uso de la API, visualización de registros de respuesta y políticas de uso compartido de API

Arquitectura sin servidor y basada en eventos

Las arquitecturas sin servidor funcionan bien para cargas de trabajo de procesamiento basadas en eventos y flujos de trabajo, sobre todo la plataforma de transmisión de eventos de código abierto Apache Kafka.

Las funciones automatizadas sin servidor no tienen estado y están diseñadas para controlar eventos individuales. Estas funciones se han convertido en una parte esencial de la arquitectura basada en eventos (EDA): un modelo de diseño de software construido en torno a la publicación, captura, procesamiento y almacenamiento de eventos. En un marco EDA, los productores de eventos (por ejemplo, microservicios, API, dispositivos IoT) envían notificaciones de eventos en tiempo real a los consumidores de eventos, activando rutinas de procesamiento específicas. Por ejemplo, cuando Netflix estrena una nueva serie original, varios servicios de EDA están a la espera de la notificación del estreno, lo que desencadena una cascada de actualizaciones para informar a los usuarios. Muchas otras empresas basadas en aplicaciones web y móviles orientadas al usuario (por ejemplo, Uber, DoorDash, Instacart) se basan en la arquitectura basada en eventos.

Sin servidor frente a PaaS, contenedores y máquinas virtuales

Dado que sin servidor, la plataforma como servicio (PaaS), los contenedores y las máquinas virtuales (VM) desempeñan un papel crucial en el ecosistema de computación y desarrollo de aplicaciones en la nube, resulta útil medir cómo se comparan los servicios sin servidor con los demás en algunos atributos clave.

  • Tiempo de suministro: se mide en milisegundos para modelos sin servidor, frente a los minutos u horas de los otros modelos.
  • Carga administrativa: ninguna para sin servidor, en comparación con un continuo de ligera a media a pesada para PaaS, contenedores y VMs, respectivamente.
  • Mantenimiento: las arquitecturas sin servidor las gestionan al 100 % los CSP. Lo mismo ocurre con PaaS, pero los contenedores y las máquinas virtuales requieren un mantenimiento significativo, incluida la actualización y administración de sistemas operativos, imágenes de contenedores, conexiones, etc.
  • Escalado: el autoescalado, incluido el autoescalado a cero, es instantáneo e inherente a la tecnología sin servidor. Los otros modelos ofrecen un escalado automático pero lento, que requiere un ajuste cuidadoso de las reglas de escalado automático y ningún escalado a cero.
  • Planificación de la capacidad: no se necesita para sin servidor. Los demás modelos precisan una mezcla de escalabilidad automática y de planificación de la capacidad.
  • Sin estado: inherente para sin servidor, lo que significa que la escalabilidad nunca supone un problema. El estado se mantiene en un servicio o recurso externo. PaaS, contenedores y máquinas virtuales pueden aprovechar HTTP, mantener un socket o conexión abiertos durante largos periodos de tiempo y almacenar el estado en la memoria entre llamadas.
  • Alta disponibilidad (HA) y recuperación ante desastres (DR): sin servidor ofrece alta disponibilidad y recuperación ante desastres sin esfuerzo ni coste adicional. Los otros modelos requieren costes y esfuerzos de gestión adicionales. La infraestructura se puede reiniciar automáticamente con máquinas virtuales y contenedores.
  • Uso de los recursos: sin servidor es eficiente al 100 % porque no hay capacidad inactiva; solo se invoca a petición. Todos los demás modelos presentan al menos cierto grado de capacidad desocupada.
  • Facturación y ahorro en la facturación: sin servidor se mide en unidades de 100 milisegundos. La PaaS, los contenedores y las máquinas virtuales suelen medirse en horas o minutos.

Sin servidor, Kubernetes y Knative

Kubernetes es una plataforma de orquestación de contenedores de código abierto que automatiza la implementación, la gestión y el escalado de contenedores. La automatización de Kubernetes simplifica drásticamente el desarrollo de aplicaciones basadas en contenedores.

Las aplicaciones sin servidor suelen implementarse en contenedores. Sin embargo, Kubernetes solo puede ejecutar aplicaciones sin servidor de forma independiente con un software especializado que integre Kubernetes con la plataforma sin servidor de un proveedor de nube específico.

Knative es una extensión de código abierto para Kubernetes que proporciona un marco sin servidor. Permite que cualquier contenedor se ejecute como una carga de trabajo sin servidor en cualquier plataforma en la nube que ejecute Kubernetes, tanto si el contenedor está construido en torno a una función sin servidor como a algún otro código de aplicación (por ejemplo, microservicios). Knative funciona abstrayendo el código y gestionando el enrutamiento de red, los activadores de eventos y el autoescalado para la ejecución sin servidor.

Knative es transparente para los desarrolladores. Construyen un contenedor utilizando Kubernetes, y Knative hace el resto, mediante la ejecución del contenedor como una carga de trabajo sin servidor.

AI Academy

Cómo prepararse para la IA con la nube híbrida

El plan de estudios, dirigido por los principales líderes de pensamiento de IBM, está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

Ventajas y desventajas de sin servidor

Ventajas

La informática sin servidor ofrece a los desarrolladores individuales y a los equipos de desarrollo empresarial muchas ventajas técnicas y empresariales:

  • Mejora de la productividad de los desarrolladores: como se ha señalado anteriormente, sin servidor permite a los equipos de desarrollo centrarse en escribir código, no en gestionar la infraestructura. Así, los desarrolladores tienen mucho más tiempo para innovar y optimizar la funcionalidad y la lógica empresarial de sus aplicaciones front-end.
  • Pague sólo por la ejecución: el contador comienza cuando se realiza la solicitud y termina cuando finaliza la ejecución. Compare esto con el modelo informático IaaS, en el que los clientes pagan por los servidores físicos, las máquinas virtuales y otros recursos necesarios para ejecutar aplicaciones, desde el momento en que aprovisionan esos recursos hasta que los retiran explícitamente.
  • Desarrollar en cualquier lenguaje: sin servidor es un entorno políglota que permite a los desarrolladores codificar en cualquier lenguaje o marco(Java, Python, JavaScript, node.js) con el que se sienten cómodos.
  • Racionalización de los ciclos de desarrollo/DevOps: sin servidor simplifica la implementación y, en un sentido más amplio, también simplifica DevOps porque los desarrolladores no pierden tiempo definiendo la infraestructura necesaria para integrar, probar, entregar e implementar compilaciones de código en producción.
  • Rendimiento rentable: para cargas de trabajo específicas (por ejemplo, el procesamiento lamentablemente paralelo, el procesamiento de flujos, tareas específicas de procesamiento de datos), la informática sin servidor puede ser más rápida y rentable que otras formas de procesamiento.
  • Reducir latencia: en un entorno sin servidor, el código puede ejecutarse más cerca del usuario final, lo que reduce la latencia.
  • Visibilidad de uso: las plataformas sin servidor proporcionan una visibilidad casi total de los tiempos del sistema y de los usuarios y pueden agregar información de uso de forma sistemática.

Desventajas

Aunque sin servidor tiene muchas ventajas, es esencial tener en cuenta algunas desventajas:

  • Menos control: en un entorno sin servidor, una organización entrega el control del servidor a un CSP de terceros, renunciando así a la gestión del hardware y los entornos de ejecución.
  • Bloqueo del proveedor: cada proveedor de servicios ofrece capacidades y características únicas sin servidor que son incompatibles con otros proveedores.
  • Inicio lento: también conocido como "arranque en frío", el inicio lento puede afectar el rendimiento y la capacidad de respuesta de las aplicaciones sin servidor, especialmente en entornos de demanda en tiempo real.
  • Pruebas y depuración complejas: la depuración puede ser más complicada con un modelo de informática sin servidor, ya que los desarrolladores carecen de visibilidad de los procesos back-end.
  • Mayor coste para la ejecución de aplicaciones largas: los modelos de ejecución sin servidor no están diseñados para ejecutar código durante períodos prolongados. Por lo tanto, los procesos de larga duración pueden costar más que los entornos tradicionales de servidores especializados o máquinas virtuales.

Sin servidor y seguridad

Aunque los CSP proporcionan medidas de seguridad para gestionar las aplicaciones sin servidor, el cliente también es responsable de asegurar el código y los datos de la aplicación según un modelo de responsabilidad compartida. Las medidas de seguridad basadas en la nube para sin servidor incluyen políticas de seguridad automatizadas y soluciones como la gestión de eventos e información de seguridad (SIEM), la gestión de identidades y accesos (IAM) y la detección y respuesta ante amenazas.

Seguir las prácticas de DevSecOps ayuda a los equipos de desarrollo a proteger sin servidor. DevSecOps, que son las siglas de "desarrollo, seguridad y operaciones", es una práctica de desarrollo de aplicaciones que automatiza la integración de la seguridad y las prácticas de seguridad en cada fase del ciclo de vida del desarrollo de software, desde el diseño inicial hasta la integración, las pruebas, la entrega y la implantación.

Sin servidor y sostenibilidad

A diferencia de los entornos tradicionales de centros de datos locales, un modelo de informática sin servidor puede ayudar a las organizaciones a reducir el consumo de energía y disminuir su huella de carbono para las operaciones de TI.

Además, un modelo sin servidor permite a las empresas optimizar sus emisiones a través de la eficiencia de los recursos, al pagar únicamente por los recursos necesarios y utilizarlos. Esta característica da como resultado menos energía desperdiciada en procesos inactivos o excesivos.

Casos de uso sin servidores

Dados sus atributos y beneficios únicos, la arquitectura sin servidor funciona mejor para casos de uso que involucran microservicios, back-ends móviles y procesamiento de flujos de datos y eventos.

Sin servidor y microservicios

El caso práctico más común sin servidor hoy en día es dar soporte a arquitecturas de microservicios. El modelo de microservicios se centra en la creación de pequeños servicios que realizan una única tarea y se comunican entre sí mediante API. Aunque los microservicios también pueden construirse y operarse a través de PaaS o contenedores, sin servidor ha cobrado un impulso significativo debido a sus atributos en torno a pequeños fragmentos de código, escalado inherente y automático, aprovisionamiento rápido y un modelo de precios que nunca cobra por capacidad ociosa.

Backends de API

Cualquier acción (o función) en una plataforma sin servidor puede convertirse en un endpoint HTTP listo para ser consumido por clientes web. Cuando se habilitan para la web, estas acciones se denominan acciones web. Una vez que disponga de acciones web, puede ensamblarlas en una API completa con una pasarela API que aporte más seguridad, compatibilidad conOAuth3, limitación de tarifas y compatibilidad con dominios personalizados.

Open Liberty InstantOn (CRIU)

Open Liberty InstantOn4 adopta un enfoque novedoso para admitir el inicio rápido de aplicaciones sin servidor. Con InstantOn, puede tomar un punto de control de su proceso de aplicación Java en ejecución durante la compilación de la aplicación y, a continuación, restaurar ese punto de control en producción. La restauración es rápida (en el bajo 100 s de milisegundos), lo que lo hace ideal para sin servidor. Dado que InstantOn es un punto de control de su aplicación existente, su comportamiento después de la restauración es idéntico, incluido el mismo rendimiento excelente. Este proceso permite a las organizaciones adoptar sin servidor para las nuevas aplicaciones nativas de la nube y ofrece la oportunidad de llevar la tecnología sin servidor a las empresas existentes.

Tratamiento de datos

Sin servidor es ideal para trabajar con datos estructurados de texto, audio, imagen y vídeo en torno a tareas como el enriquecimiento, la transformación, la validación y la limpieza de datos. Los desarrolladores también pueden usarlo para el procesamiento de PDF, la normalización de audio, el procesamiento de imágenes (rotación, nitidez, reducción de ruido, generación de miniaturas), el reconocimiento óptico de caracteres (OCR) y la transcodificación de video.

Operaciones de cálculo paralelo masivo y "map"

Cualquier tipo de tarea lamentablemente paralela es un buen caso de uso para un tiempo de ejecución sin servidor, con cada tarea paralelizable resultando en una invocación de acción. Entre las tareas de muestra se incluyen desde la búsqueda y el procesamiento de datos (en concreto, el almacenamiento de objetos en la nube), operaciones MapReduce y raspado web hasta la automatización de procesos empresariales, el ajuste de hiperparámetros, las simulaciones Monte Carlo y el procesamiento de genomas.

Cargas de trabajo de procesamiento de flujos

La combinación de Apache Kafka administrado con FaaS y base de datos o almacenamiento ofrece una base sólida para desarrollos en tiempo real de canales de datos y aplicaciones de transmisión. Estas arquitecturas son ideales para trabajar con todo tipo de entradas de flujos de datos (para validación, limpieza, enriquecimiento, transformación), incluidos datos de sensores IoT, datos de registro de aplicaciones, datos de mercados financieros y flujos de datos empresariales (de otras fuentes de datos).

IA y sin servidor

Sin servidor proporciona la escalabilidad automatizada necesaria para ejecutar cargas de trabajo de inteligencia artificial (IA) y machine learning (ML), lo que garantiza un rendimiento óptimo y acelera la innovación.

Nube híbrida y sin servidor

La informática sin servidor admite una estrategia de nube híbrida al proporcionar la agilidad, flexibilidad y escalabilidad necesarias para acomodar cargas de trabajo fluctuantes en entornos locales, nube pública, nube privada y perimetral.

Aplicaciones comunes para sin servidor

Sin servidor admite muchas de las aplicaciones más comunes actuales, como gestión de relaciones con los clientes (CRM), informática de alto rendimiento (HPC), análisis de big data, automatización de procesos empresariales, streaming de vídeo, juegos, telemedicina, comercio digital, creación de chatbots y más.

Tutoriales: Introducción a sin servidor

Puede ampliar sus conocimientos de informática serverless con los siguientes tutoriales:

  • Experimente Liberty InstantOn (CRIU): desbloquee nuevo valor para su organización con IBM WebSphere Liberty optimizando su implementación en la nube y mejorando la eficiencia operativa. Liberty InstantOn muestra una forma mejor de lograr un rendimiento sin servidores sin concesiones.
  • Ejecute trabajos por lotes: aprenda a ejecutar un trabajo por lotes utilizando la consola de Code Engine. Un trabajo ejecuta una o más instancias de su código ejecutable. A diferencia de las aplicaciones que manejan solicitudes HTTP, los trabajos están diseñados para ejecutarse una vez y salir.
Soluciones relacionadas
IBM Cloud Virtual Server for VPC

IBM Cloud Virtual Server for VPC es una familia de servidores virtuales Intel x86, IBM Z e IBM LinuxONE creados en IBM Cloud Virtual Private Cloud.

Explore los servidores virtuales en la nube
Alojamiento web en la nube 

Los servidores específicos de IBM Cloud proporcionan una solución de alojamiento web escalable con tráfico de retorno ilimitado sin coste y amplias opciones de personalización.

Explore las soluciones de alojamiento web
Servicios de consultoría en la nube 

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de consultoría de nube de IBM. Descubra cómo cocrear soluciones, acelerar la transformación digital y optimizar el rendimiento mediante estrategias de nube híbrida y colaboraciones con expertos.

Servicio en la nube
Dé el siguiente paso

Potencie su presencia web con soluciones de alojamiento web fiables y seguras de IBM Cloud. Desde sitios web con mucho tráfico hasta aplicaciones empresariales, IBM Cloud Bare Metal Servers ofrece flexibilidad, transferencia de datos ilimitada y un alcance global adaptado a sus necesidades de alojamiento.

Explore el alojamiento web de IBM Cloud Cree su cuenta gratuita de IBM Cloud
Notas a pie de página

(Enlaces externos a ibm.com)

Global Serverless Architecture Market Report. SkyQuest. Marzo de 2024.

Why The Future Of Software And Apps Is Serverless. ReadWrite. Octubre de 2012.

3 About OAuth 2.0. OAuth.

4 Faster startup for containerized applications with Open Liberty InstantOn. Open Liberty.