Actualmente estoy aprendiendo Firebase Cloud Functions y quería saber si la aplicación Express siempre se está ejecutando. Mi suposición es que siempre se está ejecutando en la plataforma Firebase; de lo contrario, ¿cómo maneja una solicitud?
Su aplicación Express en Cloud Functions se ejecuta en un contenedor y el comportamiento predeterminado es desactivar ese contenedor después de que no haya habido ninguna solicitud durante un tiempo (el período exacto no está documentado). Dado que solo está pagando por el tiempo que en realidad está procesando activamente las solicitudes, de lo contrario, Cloud Functions terminaría con muchos contenedores por los que nadie está pagando.
Cuando llega una nueva solicitud cuando no hay una instancia de contenedor, o mientras todos los contenedores existentes están ocupados, Cloud Functions activa un nuevo contenedor para procesar esa solicitud, que luego también cerrará cuando haya estado inactivo por un tiempo.
Dado que la activación del contenedor lleva algo de tiempo, puede configurar Cloud Functions para mantener una determinada cantidad mínima de contenedores activos . Pero, por lo general, recomendaría solo mirar eso cuando esté experimentando problemas de rendimiento debido al tiempo de inicio de los nuevos contenedores, ya que pagará (una cantidad menor) por cada contenedor que se mantenga activo mientras no se procesa una solicitud.