First, they allow a maximum execution time comparable to “pure server” environments, instead of 15min.
Then, the code-first approach allows configuring the execution parameters (concurrency, retries, and more) from the function’s code and enables to write workflows by applying well-known code patterns such as recursion or map-reduce (calling child background functions is a workflow).
Finally, you can write a background function that requires any kind of dependencies, whether they be internal, external, or even native.
Does this look nice in the observability layer?
Right now our Executions list is not ideal for such pattern but we will soon release filtering based on arguments which will help to get all the executions linked to a specific sequence.