GCP Compute Option - ghdrako/doc_snipets GitHub Wiki
It's usually a safer choice to start at a higher abstraction level (with services such as Cloud Functions or GAE) than at a lower abstraction level (with services such as GKE or GCE). There are two reasons for this. First of all, a higher abstraction level means the platform is more managed and you've got fewer things to do because the cloud does more. Secondly, moving down the abstraction chain is easier than moving up. If you start at Cloud Functions, you'll probably find it easier to move to Cloud Run since you're essentially getting more functionality for the increasing requirements of a growing application. Starting off at GKE means you'll have more things to set up, most of which you may not be able to use if you decide to use a less abstracted version, such as Cloud Functions or GAE.