App Hosting Options on Google Cloud

A comparison of App Hosting Options on Google Cloud from the official documentation -


Service Compute Engine Kubernetes Engine (GKE) Cloud Run on GKEβ Cloud Runβ App Engine Flexible Environment App Engine Standard Environment Cloud Functions
Suitable for On-premises and monolithic workloads

Raw compute to meet existing infrastructure requirements

Examples:
Relational databases, SAP HANA

CRM systems

Legacy ERP systems











Self-hosted, scalable infrastructure

Self-managed hosting, with serverless scalability

Examples:
Containerized apps that need custom hardware and software (OS, GPUs)

Existing containerized stateless apps

Apps on Kubernetes Engine that can benefit from scaling to zero




Container-based apps and services

Industry standard packaging for multi-cloud infrastructure

Examples:
Custom runtime environments such as Rust, Kotlin, C++, and Bash

Legacy web apps using languages such as Python 2.7, Java 7







HTTP services and backend apps

Web frameworks, microservices

Examples:
Flask
Django
Express.js
Symfony
Spring Boot
















            
Event driven and data processing apps

Manipulate user generated data and events

Examples:
Post a comment on Slack channel following a GitHub commit

Statistical analysis

Image thumbnail generation
Features Operating system-level control

Supports custom machine types

Autoscaling support

Industry standard Docker container packaging

Highly configurable for legacy workloads and configurations

Scales to meet demand
Supports industry-standard Docker containers

Scales your containerized app automatically

Custom binaries and system dependencies

Supports API endpoints

Scales to meet sudden demand

Pay for what you use

Supports API endpoints                 
Designed for event-driven workloads

Scales to meet sudden demand

Minimal configuration
Deployment format
VM image
Cluster
Container
Container
App
or
Container
App
Function
Custom URLs Yes Yes Yes Yes Yes Yes No
Scale-to-zero No No
Maybe 1
Yes No Yes Yes
Free tier Yes No No Yes No Yes Yes
Persistent disks Yes
Yes 2
No No No No No
Websockets Yes Yes
Maybe 3
No
Yes β
No No
Run any language Yes Yes Yes Yes Yes No No
Request timeout
None
None
15 minutes
15 minutes
60 minutes
1 minute
9 minutes
Background processes Yes Yes No No Yes
Maybe 4
No
TPU/GPU access Yes Yes
Maybe 3
No No No No
VPC connectivity Yes Yes Yes No Yes
Yes β
Yes β
Service Compute Engine Kubernetes Engine (GKE) Cloud Run on GKEβ Cloud Runβ App Engine Flexible Environment App Engine Standard Environment Cloud Functions

1. Cloud Run on GKEβ scales pod counts to zero. The node count per cluster cannot scale to zero, and these nodes are billed during no-request periods.
2. Container instances on GKE do not persist data upon shutdown. However, Compute Engine persistent disks can be mounted to container instances on GKE .
3. While websocket use and TPU/GPU access are technically possible with Cloud Run on GKE, they are not officially supported.
4. App Engine standard environment supports background tasks for basic and manual scaling modes.
β. Beta software has no SLA and may not be suitable for production workloads.

Comments