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

FaaS es un servicio backend sin servidor que permite que los desarrolladores escriban piezas modulares de código sobre la marcha que pueden ejecutarse en respuesta a determinados eventos.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Definir FaaS
  • Explorar las ventajas y desventajas de FaaS
  • Describir por qué una red grande en el perímetro es fundamental para el rendimiento de las aplicaciones FaaS

Copiar el enlace del artículo

¿Qué es la función como servicio?

Función como servicio (FaaS) es una forma sin servidor de ejecutar piezas de código modulares en el perímetro. FaaS permite a los desarrolladores escribir y actualizar un fragmento de código sobre la marcha, que luego puede ejecutarse en respuesta a un evento, como un usuario que hace clic en un elemento de una aplicación web. Esto facilita la escalabilidad del código y es una forma rentable de implementar los microservicios.

¿Qué son los microservicios?

Si una aplicación web fuera una obra de arte visual, el uso de la arquitectura de microservicios sería como realizar una colección de mosaicos. El artista puede añadir, sustituir y reparar fácilmente una tesela cada vez. La arquitectura monolítica sería como pintar toda la obra en un solo lienzo.

Microservicios vs. arquitectura monolítica

Este enfoque de crear una aplicación a partir de un conjunto de componentes modulares se conoce como arquitectura de microservicios. Dividir una aplicación en microservicios es atractivo para los desarrolladores, porque significa que pueden crear y modificar pequeñas piezas de código que pueden ser fácilmente implementadas en sus bases de código. Esto se diferencia de la arquitectura monolítica, en la que todo el código está entrelazado en un gran sistema. Con los grandes sistemas monolíticos, incluso un pequeño cambio en la aplicación requiere un proceso de implementación considerable. FaaS acaba con esta complejidad de implementación.

Al usar código sin servidor como FaaS, los desarrolladores web pueden centrarse en escribir el código de la aplicación, mientras que el proveedor sin servidor se encarga de la asignación del servidor y de los servicios de backend.

¿Cuáles son las ventajas de utilizar FaaS?

Mejora de la velocidad de los desarrolladores

Con FaaS, los desarrolladores pueden dedicar más tiempo a escribir la lógica de la aplicación, y menos a preocuparse de los servidores y las implementaciones. Esto suele significar un tiempo de desarrollo mucho más rápido.

Escalabilidad incorporada

Debido a que el código de FaaS es intrínsecamente escalable, los desarrolladores no tienen que preocuparse de crear contingencias para tráfico elevado o uso excesivo. El proveedor sin servidor se encargará de todos los problemas de escalado.

Rentable

A diferencia de los proveedores tradicionales de la nube, los proveedores de FaaS sin servidor no cobran a sus clientes por el tiempo de cálculo en reposo. Por ello, los clientes solo pagan por el tiempo de cálculo que utilizan, y no necesitan malgastar dinero en el sobreaprovisionamiento de los recursos en la nube.

¿Cuáles son los inconvenientes del FaaS?

Menos control del sistema

El hecho de que un tercero gestione parte de la infraestructura dificulta la comprensión de todo el sistema y añade retos de depuración.

Se requiere más complejidad para las pruebas

Puede ser muy difícil incorporar el código FaaS en un entorno de pruebas local, lo que hace que las pruebas exhaustivas de una aplicación sean una tarea más intensa.

Cómo empezar con FaaS

Los desarrolladores deben crear una relación con un proveedor sin servidor para habilitar la funcionalidad FaaS para una aplicación web. Ya que la integración FaaS significa que parte del código de la aplicación se entregará desde el perímetro, la disponibilidad y la distribución geográfica de los servidores perimetrales es una consideración importante. Un usuario de Italia que acceda a un sitio que dependa de código perimetral FaaS servido desde un centro de datos sobrecargado en Brasil se encontrará con el tipo de retraso que conduce a altas tasas de rebote. Cloudflare Workers es una solución FaaS que aprovecha la red global de Cloudflare con centros de datos en más de 330 ciudades, lo que hace que sea una opción muy popular.