Raw WebSocket handling could be delegated to something like Pushpin [1] (disclaimer: author). This way, the backend doesn't have to maintain any long-lived connections of its own, but it retains a similar level of control over each connection that a full backend would have had.
As an experiment, we built a chat app like this (using Stamplay as the FaaS) and it actually worked.
As an experiment, we built a chat app like this (using Stamplay as the FaaS) and it actually worked.
[1] https://github.com/fanout/pushpin