La función como servicio ( en inglés function-as-a-service, FaaS ) es un patrón arquitectónico que asume la capacidad de llamar a una instancia de código de control sin necesidad de administrar servidores y una aplicación de servidor ; un componente clave de la computación sin servidor [1] . Una de las primeras implementaciones conocidas es el servicio AWS Lambda presentado en 2014, Google (Cloud Functions [3] ), IBM (en Apache OpenWhisk como parte de la plataforma Bluemix ) y Microsoft (Azure Functions) tienen público similar [2]. Ofrece PaaS , Oracle ( Fn , código publicado en GitHub).
La idea es que la parte del servidor se divida en un conjunto de funciones sin estado para manejar eventos (que pueden ser solicitudes HTTP entrantes , la aparición de nuevos mensajes en la cola, la ocurrencia del tiempo especificado en el programador y eventos similares) . El estado en este caso se entiende en el contexto de implementación ( deployment ), es decir, el resultado de la ejecución de la función no debe depender del estado de la memoria del servidor (menos los parámetros de llamada pasados) y el contenido del sistema de archivos local . Con tales limitaciones, el escalado horizontal lo realiza automáticamente el proveedor , que puede usar cualquier dispositivo informático actualmente disponible que proporcione el nivel de rendimiento requerido. Además, como regla general, el tiempo de ejecución de la función se limita a la fuerza a unos pocos minutos [4] .