- When setting up a service control plane (for example commands such as
CreateTenant
, orDeleteTenant
) Serverless is useful as the commands aren't executed often, and the latency is not really a constraint. - Processing events from an event stream up to a certain throughput when cost starts to dominate and running dedicated servers (which possibly is "roll your own serverless") becomes a more economical choice.
- When setting up a service data plane (for example, proxying a request with minimal latency), Serverless doesn't work well due to unpredictable startup times, as well as lack of ability to stream data through a serverless function (functions typically require whole events in order to start processing).
- Processing events from an event stream beyond a certain throughput where cost starts to dominate and running dedicated servers (which possibly is "roll your own serverless") becomes a more economical choice.