¿Qué es la Función como Servicio (FaaS)?

La función como servicio (FaaS) permite a los desarrolladores crear y ejecutar código modular en respuesta a eventos sin gestionar infraestructura subyacente.

La FaaS (Function-as-a-Service, función como servicio) permite a los desarrolladores ejecutar código en respuesta a eventos sin tener que gestionar la infraestructura subyacente. Es un componente clave de la arquitectura serverless, permitiendo a las organizaciones construir y ejecutar aplicaciones web modulares y servicios sin pensar en la gestión de servidores.

El concepto surgió cuando la computación en la cloud evolucionó de los modelos tradicionales de IaaS (Infrastructure-as-a-Service, infraestructura como servicio) y PaaS (Platform-as-a-Service, plataforma como servicio). A medida que las empresas buscaban más agilidad y eficiencia en costos, la FaaS contibuyó positivamente al ofrecer su modelo de pago por uso y escalado automático.

Comprendiendo los fundamentos de la FaaS

En su esencia, la función como servicio se dedica a ejecutar funciones pequeñas y de propósito único en la cloud. Estas funciones son activadas por eventos, se ejecutan rápidamente y luego terminan, liberando recursos para otras tareas.

Sus conceptos clave son:

  • Ejecución basada en eventos: Las funciones se invocan en respuesta a eventos o desencadenantes específicos.

  • Operaciones sin estado: Las funciones no mantienen estado entre invocaciones.

  • Escalado automático: La plataforma escala automáticamente los recursos según la demanda.

  • Instancias de corta duración: Las funciones están diseñadas para iniciarse rápidamente y ejecutarse por un corto período.

La función como servicio difiere de otros modelos de computación en la cloud con relación a varios aspectos:

  • A diferencia de la IaaS, donde gestionamos máquinas virtuales, la FaaS abstrae toda la gestión de infraestructura.

  • Comparado con la PaaS, que típicamente ejecuta aplicaciones completas, la FaaS se enfoca en funciones individuales.

  • Mientras que la CaaS (Container-as-a-Service, contenedor como servicio) requiere la gestión de contenedores, la FaaS los gestiona automáticamente.

La arquitectura FaaS

Una arquitectura típica de función como servicio consta de varios componentes:

  1. Fuentes de eventos: Estos desencadenan la ejecución de funciones (por ejemplo, solicitudes HTTP, cambios en la base de datos, upload de archivos, etc.).

  2. Código de función: Es el código real que realiza una tarea específica.

  3. Plataforma FaaS: Gestiona la ejecución de funciones, el escalado y la asignación de recursos.

  4. Servicios de soporte: Como autenticación, registro y monitoreo.

La naturaleza basada en eventos de la FaaS es algo central de su arquitectura. Cuando ocurre un evento, desencadena la ejecución de una función. Este modelo permite una utilización eficiente de los recursos, ya que las funciones solo consumen recursos cuando están activamente en ejecución.

La escalabilidad es manejada automáticamente por la plataforma. A medida que aumenta el número de eventos, la plataforma crea más instancias de la función para manejar la carga. Por otro lado, cuando la demanda disminuye, las instancias se terminan para ahorrar recursos.

Beneficios de la función como servicio (FaaS)

La FaaS ofrece diversas ventajas:

  1. Eficiencia de costos: Con su modelo de pago por uso, solo pagas por el tiempo de cómputo real utilizado por tus funciones.

  2. Mejora de la productividad del desarrollador: Los desarrolladores pueden enfocarse en escribir código en lugar de tener que gastar su tiempo gestionando infraestructura.

  3. Escalado automático: Las plataformas FaaS manejan el escalado automáticamente, asegurando que tu aplicación pueda manejar cargas variables.

  4. Reducción de la sobrecarga operativa: Sin servidores que gestionar, las tareas operativas se reducen significativamente.

Para maximizar los beneficios de la FaaS, diseña funciones sin estado, asegurando que las funciones no dependan del estado local entre invocaciones, y empaqueta solo las dependencias necesarias para reducir el tamaño de la función.

Estos beneficios hacen de la FaaS una opción muy atractiva para las empresas que buscan optimizar sus costos de computación en la cloud y acelerar los ciclos de desarrollo.


mantente actualizado

Suscríbete a nuestro boletín informativo

Recibe las últimas actualizaciones de productos, destacados de eventos y conocimientos de la industria tecnológica directamente en tu bandeja de entrada.