Hosting Applications on Google Cloud

Google Cloud offers a wide range of options for application hosting. Take a look at the charts below to find out which one is right for your needs.


Use cases

Not sure where to start? Take a look at some common scenarios below.
HTTP services and backend apps
Web frameworks, microservices
Examples:
  • Flask
  • Django
  • Express.js
  • Symfony
  • Spring Boot
Cloud Run
  • Scales to meet sudden demand
  • Pay for what you use
  • Supports API endpoints
Cloud Run Overview
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
Cloud Run functions
  • Designed for event-driven workloads
  • Scales to meet sudden demand
  • Minimal configuration
Cloud Run functions Quickstart
Container-based apps and services
Industry standard packaging for multi-cloud infrastructure
Examples:
  • Software written in any languages using specific system packages
  • Off-the-shelf software provided as container images
Cloud Run
  • Supports industry-standard Docker containers
  • Scales your containerized app automatically
  • Custom binaries and system dependencies
  • Supports API endpoints
Cloud Run Quickstart
Monolithic workloads
Raw compute to meet existing infrastructure requirements
Examples:
  • Relational databases, SAP HANA
  • CRM systems
  • Legacy ERP systems
Compute Engine
Compute Engine Tutorials

Hosting options

Many workloads have specific technical requirements. Platforms are ordered by degree of abstraction.
Compute Engine Google Kubernetes Engine (GKE) Cloud Run
Deployment format
VM image
Container

Function,
Source,
Container

Custom URLs
Scale-to-zero
Free tier
Persistent disks
2
Custom system packages
WebSockets
Run any language
Request timeout
None
None
60 minutes
Background processes
GPU access
VPC connectivity
Managed event-driven architecture support
2
Container instances on GKE do not persist data upon shutdown. However, Compute Engine persistent disks can be mounted to container instances on GKE.
β
Beta software has no SLA and may not be suitable for production workloads.

Key terms

Deployment format

How is your code packaged upon deployment to a given platform?

  • VM images - snapshots of an entire filesystem, including the underlying OS.
  • Containers - portable cross-platform filesystems isolated from the underlying OS.
  • Sources - one service contained in a directory with one or more use cases.
  • Functions - individual code snippets each corresponding to a single use case.

Custom URLs

Can you create multi-layer URL paths (such as /abc/def) and/or use your own domain name?

Persistent disks

Can disk state be saved when an instance shuts down, or must long-term data be stored outside the instance?

Scale-to-zero

Can this product scale down to zero instances and avoid billing me for periods of zero requests?

WebSockets

Does this product support the WebSocket protocol?

Run any language

Can this product run code in arbitrary programming languages?

Request timeout

What is the maximum amount of time the platform will wait for a response from the application's code?

Background processes

Can this product run ongoing background operations outside a request period?

Use GPUs

Does this product support hardware acceleration for GPU-optimized workloads?

VPC connectivity

Can this product access resources within a Virtual Private Cloud?