¿Qué es la función como servicio (FaaS)?

Copiar URL

La función como servicio (FaaS) es un tipo de servicio de cloud computing que permite que los desarrolladores diseñen, ejecuten y gestionen paquetes de aplicaciones como funciones sin tener que ocuparse del mantenimiento de su propia infraestructura.

Es un modelo de ejecución que se basa en los eventos y se ejecuta en contenedores sin estado. Las funciones son las que gestionan la lógica y el estado de los servidores mediante el uso de los servicios de un proveedor de FaaS.

Las soluciones de FaaS están disponibles en las principales nubes públicas y pueden implementarse de manera local, lo cual agrega funciones nuevas e importantes a la TI empresarial para el desarrollo de las aplicaciones. Obtenga la guía sobre la estrategia original de la nube y prepárese para implementar un enfoque sin servidor con la FaaS.

Estos son algunos ejemplos conocidos de FaaS:

  • IBM Cloud Functions
  • AWS Lambda de Amazon
  • Google Cloud Functions
  • Microsoft Azure Functions (open source)
  • OpenFaaS (open source)
La tecnología nativa de la nube se combina con la nube híbrida: guía estratégica

La FaaS es una forma de implementar la informática sin servidor: los desarrolladores escriben la lógica empresarial que luego se ejecuta en los contenedores de Linux totalmente gestionados por una plataforma.

Aunque por lo general se trata de una plataforma de cloud computing que usa los servicios de nube, el modelo se está expandiendo para incluir implementaciones locales e híbridas.

En la informática sin servidor, hay una plataforma (como Red Hat® OpenShift®) que se encarga de las tareas relacionadas con la infraestructura, como la gestión o la preparación de los servidores y la asignación de los recursos, para que los desarrolladores no deban ocuparse de ellas y puedan concentrarse en escribir el código y generar valor empresarial.

Una función es una parte del sistema de software que ejecuta la lógica empresarial en el sistema operativo. Las aplicaciones pueden estar compuestas por varias funciones.

Se puede utilizar un modelo de FaaS para diseñar aplicaciones con una arquitectura sin servidor, pero debido a que la informática sin servidor es cada vez más popular, los desarrolladores buscan soluciones que admitan el desarrollo de microservicios de este tipo y de contenedores sin estado.

Obtenga el ebook: El camino hacia las aplicaciones nativas de la nube

Recursos de Red Hat

La FaaS permite que los desarrolladores ejecuten las aplicaciones web en respuesta a ciertos eventos, sin tener que gestionar los servidores. Por ejemplo, cuando se carga un archivo podría activarse un código personalizado que lo convirtiera a diferentes formatos.

En general, el proveedor del servicio proporciona la infraestructura de la FaaS según se solicite, principalmente a través de un modelo de ejecución basado en eventos. Esto significa que está a su disposición si la necesita, pero no es necesario que los procesos del servidor se ejecuten en segundo plano de forma permanente, como ocurre con la plataforma como servicio (PaaS)

Las soluciones modernas de PaaS ofrecen funciones sin servidor como parte de los flujos de trabajo comunes que los desarrolladores pueden utilizar para implementar aplicaciones, lo cual atenúa las diferencias entre la PaaS y la FaaS. 

De hecho, habrá aplicaciones enteras compuestas por una combinación de funciones, microservicios y servicios de larga duración.

Un proveedor pone la función a su disposición mediante una interfaz de programación de aplicaciones (API) y gestiona la asignación de los recursos. Dado que las funciones se basan en los eventos y no en los recursos, se pueden adaptar con facilidad, lo cual aumenta su eficiencia y valor.

Hay ciertas condiciones en cuanto a la arquitectura para obtener algunos de estos beneficios, como los límites de tiempo en la ejecución de una función, por lo cual se debe poder iniciar y ejecutar una función rápidamente. 

Las funciones se inician en cuestión de milisegundos y procesan solicitudes individuales. En caso de que haya varias solicitudes simultáneas para una función, el sistema creará tantas copias como sean necesarias para satisfacer la demanda.

Una de las ventajas de la FaaS es la adaptación dinámica, lo cual significa que cuando disminuye la demanda, la capacidad de la aplicación se reduce automáticamente. Además es rentable, ya que los proveedores solo cobran por los recursos que se utilizan y no por el tiempo de inactividad.

Cuando se ejecuta en las instalaciones, esta naturaleza dinámica también puede aumentar la densidad de su plataforma, lo cual le permite ejecutar más cargas de trabajo y optimizar el uso de los recursos y las funciones.

Un servicio basado en eventos que debe ampliarse a través de la incorporación de recursos puede funcionar bien como una función o como aplicaciones de RESTful

La FaaS es ideal para las operaciones de gran volumen y las cargas de trabajo esporádicas, como la elaboración de informes, el procesamiento de imágenes o cualquier tarea programada. Los casos prácticos comunes de la FaaS son el procesamiento de datos, los servicios de IoT y las aplicaciones móviles o web.

Puede diseñar una aplicación completamente sin servidor utilizando la FaaS, o crear una aplicación que contenga elementos sin servidor y microservicios tradicionales para aprovechar las tecnologías y los sistemas más nuevos de organización en contenedores, como Kubernetes.

Obtenga más información sobre las prácticas recomendadas para migrar a las aplicaciones en contenedores
  • Se mejora la productividad de los desarrolladores y se agiliza la implementación.
  • No debe ocuparse de la gestión de los servidores.
  • Es fácil de ampliar, y la plataforma gestiona la incorporación de equipos.
  • Solo se utilizan los recursos cuando es necesario y se paga únicamente por aquellos utilizados.
  • Las funciones pueden escribirse en casi todos los lenguajes de programación.

Al principio, ambos términos significaban más o menos lo mismo, pero la informática sin servidor se ha expandido para incluir un conjunto más amplio de prácticas y patrones de arquitectura que hacen un mayor uso de los servicios comunes además de la lógica empresarial personalizada codificada en la FaaS.

Tanto los microservicios como las aplicaciones tradicionales pueden utilizar la informática sin servidor, siempre y cuando puedan organizarse en contenedores y cumplir los requisitos de adaptación dinámica y gestión del estado. 

La expresión "sin servidor" también se utiliza para representar a los servicios gestionados, como las bases de datos y los sistemas de mensajería, donde no es necesario que el desarrollador o el administrador gestione el sistema, ya que el proveedor de nube o la empresa externa se encarga de hacerlo.  

Lo que más beneficia a los desarrolladores de la informática sin servidor es la combinación de la FaaS con los servicios comunes de backend (como las bases de datos, la mensajería y la autenticación), que se conectan principalmente a través de una arquitectura basada en eventos.

Obtenga más información sobre la informática sin servidor
Hub

Blogs de Red Hat

Aquí encuentras la información más reciente sobre nuestros clientes, partners y comunidades open source.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

Los proveedores de servicios de nube: qué son y cómo elegir el mejor para su estrategia de nube

Los proveedores de servicios de nube son empresas que ofrecen infraestructuras, plataformas y sistemas de software a través de la red. Elija el proveedor de servicios de nube más adecuado para su empresa.

¿Qué es la IaaS?

La Infraestructura como servicio (IaaS) es una modalidad del cloud computing en la cual se prestan servicios de infraestructura al usuario a través de la nube.

SaaS: qué es, cómo funciona, y diferencias entre PaaS, IaaS y SaaS

El software como servicio (SaaS) es un tipo de cloud computing que ofrece a los usuarios una aplicación junto con toda su infraestructura de TI y las plataformas subyacentes por medio de un explorador de Internet.

Servicios de nube: lecturas recomendadas