Google Cloud Run vs. AWS App Runner - Who wins the serverless endpoint race today?

AWS App Runner VS Google Cloud Run

With the adoption of containerized services, the vast majority of companies started using container orchestration platforms like Kubernetes, AWS ECS, Hashicorp Nomad…  However, these platforms have many complexities, they are hard to learn and they are costly to manage.

That’s why Google offered a service called Cloud Run which is a serverless container platform.  Cloud Run deploys your applications to a containerized production environment and abstracts most of the operational components such as:

  • Scaling your container instances
  • Load balancing
  • TLS management (you do not have to worry about your TLS certificate expiration; Cloud Run renews certificates for you)
  • Managing the servers behind this platform
  • Log/metrics collection

Sounds great, right?   Cloud Run does not stop there, it also uses the Knative API. 

With the adaption of Google Cloud Run, AWS wanted to get into this serverless container platform game and launched the AWS App Runner service.  In AWS’s words: “AWS App Runner is a fully managed service that makes it easy for developers to quickly deploy containerized web applications and APIs”

At a glance, both services look similar; however let’s compare these services by looking at their similarities and differences:

Similarities
  • Both services can deploy a containerized web application from a Docker Registry  (ECR or GCR)
  • Both services work well with build tools of their Cloud Platform and build Docker images from Dockerfile, or deploy from source code if the language/framework is supported.
  • Both services create and renew TLS certificates automatically for the load balancer they use.
  • Both services scale their container instances automatically based on concurrent requests served.
  • Both services collect logs/metrics without agents or exporters.
  • Both services provide an HTTPS endpoint which you can point to a custom domain of yours.
Differences

Summary:
Google Cloud Run is a great service to run your containerized workloads  (or any workload if the runtime is supported).
AWS App Runner lags behind in features such as (no canary blue/green deployments) and (no traffic splitting/revisions).
Check out a simple live example and a HOWTO article below of a Google Cloud Run managed WordPress container endpoint connected to a Cloud SQL Backend.
https://blog.carlscloud.com

Google Cloud Run Pricing:  https://cloud.google.com/run/pricing