Serverless cold start / configurable scaling to zero
Description
Currently whenever your Knative cluster scales your function down to zero, it takes around 15 seconds to start it again.
15 seconds is a really slow cold start. It might be really inconvenient when a function is going to be called sporadically.
Proposal
Make the scale-to-zero timeout configurable, make scaling to zero an option.
Justification
Scaling does to zero does not make much sense when you actually can't scale your cluster down to zero. This problem has been described in https://gitlab.com/gitlab-org/gitlab-ce/issues/57851.
Currently the difference in costs with 1 container and 0 containers for a function is negligible because you still need to pay for entire Kubernetes cluster with Knative installed.
Scaling to zero makes sense when you have hundreds of functions, and you are not using most of them. In most cases it makes more sense to have just 1 container for a function running all the time.