GKE or Cloud Run: which should you use?
When you want to use managed Kubernetes services, Google Kubernetes Engine (GKE) is the most suitable option for a container orchestration platform.GKE will give you complete control over orchestration of containers, from networking to storage.
However, if your application doesn’t need that control over orchestration of containers, then fully managed Cloud Run will be the correct solution for you. Cloud Run makes it easy to build serverless HTTP applications.
Cloud Run is a serverless platform for stateless containerized microservices.
Features of Cloud Run:
The managed serverless Cloud Run provides number of features and benefits:
- Easy deployment of microservices: Deploy a containerized microservice with a single command without requiring any additional service-specific configuration.
- Simple and unified developer experience: Helps to quickly deploy and manage services that automatically scales up depending on traffic.
- Run HTTP services: Allow to create HTTP services that respond to all normal HTTP methods like POST, GET, etc.
- Pay‐per‐use: Only pay when your code is running
- Support for code written in any language: Cloud Run relies on containers, thus you’ll be able to write code in any language, exploitation any binary and framework.
- Integrated logging and monitoring: To ensure the health of an application, it is integrated with Stackdriver Monitoring, Logging, and Error Reporting
- Knative compatible: Cloud Run is constructed on the Knative open‐source project, enabling portability of your workloads across platforms.
Cloud Run is available in two flavours: One as a fully managed Google Cloud service, and other as a Cloud Run for Anthos
Cloud Run for Anthos can deploy containers into your cluster which allows access to custom machine types, and GPUs , additional networking support to enhance your Cloud Run services. Cloud Run and GKE clusters (both managed services) can be created and managed from the console as well as from the command line.
The best feature is you can easily switch from managed Cloud Run to Cloud Run for Anthos or vice versa without having to reimplement your service.
The right choice for the job:
Both managed Cloud Run and GKE are powerful offerings for various use cases. Ensure to know your purposeful and non-functional service needs like ability to scale to zero before selecting one over the opposite.
In fact, you may wish to use each at a similar time. Your company may need advanced microservice-based applications that need advanced configuration options of GKE, and a few that don’t, however that also wish to require advantage of Cloud Run’s easy use and measurability.