I agree that setting min instances as 1 should reduce cold starts as shown on this blog entry New Cloud Functions min instances reduces serverless cold starts, but they cannot be eliminated as explained in this Stack Overflow answer:
“With all "serverless" compute providers, there is always going to be some form of cold start cost that you can't eliminate. Even if you are able to keep a single instance alive by pinging it, the system may spin up any number of other instances to handle current load. Those new instances will have a cold start cost. Then, when load decreases, the unnecessary instances will be shut down.”
You need to consider these Cold starts as the documentation itself warns about them. This doesn’t mean the service is not good, but instead that it has a different approach. In this case, Cloud Functions are great for a service that is constantly running and not paused.
It is possible to reduce the cold starts and it has been a widely discussed topic.
There are:
- This great Medium Article: Improving Cloud Functions cold start time
-An official vide with Doug Stevenson: Minimizing cold start time (Firecasts)
-The Tips & Tricks where there are a few more details on how to improve your project to reduce them.
-And what has been already discussed about min instances.
If you want a service that is always up and running with a quick response, as you previously stated I would go for Cloud Run or App Engine.