Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Google App Engine and Google Cloud Run?

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

Thanks

like image 268
Nipu Avatar asked Apr 10 '19 18:04

Nipu


People also ask

What is the difference between cloud run and App Engine?

App Engine is for deploying code, Cloud Run for deploying containers, and containers are today's requirements. Cloud Run runs containers, so for each release you have to build a container and push it to GCP.

Is Google App Engine and Google Cloud same?

It is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search and YouTube. Google App Engine and Google Cloud Platform are primarily classified as "Platform as a Service" and "Cloud Hosting" tools respectively.

What does Google Cloud run do?

Cloud Run is a managed compute platform that lets you run containers directly on top of Google's scalable infrastructure. You can deploy code written in any programming language on Cloud Run if you can build a container image from it. In fact, building container images is optional. If you're using Go, Node.

What is the difference between Google Cloud run and Google cloud functions?

Cloud Functions lets you deploy snippets of code (functions) written in a limited set of programming languages, while Cloud Run lets you deploy container images using the programming language of your choice.


2 Answers

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.

like image 72
Jerry101 Avatar answered Nov 03 '22 23:11

Jerry101


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.

like image 43
FainTMako Avatar answered Nov 03 '22 21:11

FainTMako