28

Does anyone know, difference between Google App Engine Flex and Google Cloud Run?

Thanks

Nipu
  • 653
  • 1
  • 8
  • 15
  • 2
    There were some new presentations on Cloud Run posted on You Tube from the Google Next 19 conference. Here is a good start: https://www.youtube.com/watch?v=Zfnhg1wneiA – Kolban Apr 11 '19 at 04:10
  • so, you read the documentation and came to the conclusion that they are the same or similar? – suren Apr 12 '19 at 09:02

3 Answers3

19

The Cloud Run documentation is not yet very informative but the new video Where Should I Run My Code? Choosing From 5+ Compute Options (Cloud Next '19) compares Cloud Run with App Engine and also Cloud Functions, Google Kubernetes Engine, and Google Compute Engine.

  • You can choose to deploy your Cloud Run app on fully managed infrastructure ("serverless", pay per use, auto-scaling up rapidly and down to 0 depending on traffic) or on a Google Kubernetes Engine cluster. App Engine is always fully managed, with auto-scaling. App Engine Flex auto-scales gradually and down to 1. App Engine Second Generation auto-scales up rapidly and down to 0.
  • Cloud Run requires your app to run in a container. App Engine Flex runs your container for any language runtime. App Engine Second Generation provides a few language runtimes.
  • Cloud Run services can now respond to HTTPS requests (which don't have to be from web browsers), gRPC requests, Pub/Sub triggers, or scheduled triggers. It can be configured to allow up to 15 minutes to process a request. App Engine runs HTTP web apps. It has different request timeouts for App Engine Classic, Standard, and Flex, and it varies for Automatic scaling, Basic scaling, and Manual scaling.
  • Cloud Run is designed for teams that include both software developers and ops experts. App Engine is designed for developers.
  • Cloud Run is generally available (as of Nov. 14, 2019). App Engine has been battle tested for years and is serving many billions of requests per day.

Investigate Cloud Run's limitations before getting started. E.g. the payload container can be configured with up to 2GB RAM (more with a GKE cluster) with no disk space (only RAM disk). See the Cloud Run How-To Guides and the rest of the Cloud Run Documentation.

Also see the App Engine Documentation.

Jerry101
  • 12,157
  • 5
  • 44
  • 63
  • But is AppEngine passe or languishing and perhaps a choice that should be deemphasized for new projects? (I am geniuinely asking; I am not sure myself.) For example, it didn't make Google's sketch here: https://cloud.google.com/blog/topics/developers-practitioners/where-should-i-run-my-stuff-choosing-google-cloud-compute-option . – Patrick Szalapski Jul 22 '22 at 17:33
2

Google cloud runs utilizes stateless applications inside docker containers. The service can scale up and down automatically and will scale to 0 when not in use. From what I understand app engine flex cannot scale to 0 and is generally not considered a stateless architecture.

FainTMako
  • 41
  • 4
2

Cloud Run (managed) allows 5 min default timeout, configurable up to 15 min. No limits on Cloud Run on Kubernetes Cluster. source

App Engine allows up to 24h timeout depending on option. source

Also Cloud Run (managed) pricing policy seems to be better (probably depending on use case). You pay only for time took by requests. It doesn't matter when instance will auto-scale to 0, because you won't pay for idle time. source

enter image description here

Karol Zlot
  • 2,887
  • 2
  • 20
  • 37