Secure and customizable compute service that lets you create and run virtual machines on Google’s infrastructure.
When to use it
Use Compute Engine when you need control over operating systems or lift and shift situations
Licensing requirements
Model
IaaS
Options
Preemptible VM
A highly discounted VM compared to the price of standard VMs
Discount of 60-91% discount
VM might be terminated at any time (24 hours max)
Spot VMs
Are the latest version of Preemptible VMs
No minimum or maximum runtime
Sole-Tenant nodes
Physical Compute Engine server that is dedicated to hosting VM instances only for your specific proyect
For workloads that requires physical isolations from other workloads or virtual machines to meet compliance requirements
Shielded VMs
Offers verifiable integrity
Secure Boot
vTPM
Integrity monitoring
Confidential VMs
Allow you to encrypt data in use
Scaling
Server autoscaling
App Engine
A fully managed serverless platform for complete web applications. App Engine handles the networking, application scaling, and database scaling. You write a web application in one of the supported languages, deploy to App Engine, and it handles scaling, updating versions, and so on.
When to use it
When you just want to code up your HTTP-based application and leave the scalability and deployment of the app to Google Cloud
Model
PaaS
Environments
App Engine Standard
Runs your code in containers provided by Google.
Container instances can start in milliseconds.
Supports many languages including Python, Java, PHP, Go, and JavaScript.
Free tier of 28 instance hours per day
App Engine Flex
Is open and flexible and supports custom runtimes because the application instances run within Docker containers on Compute Engine.
Supports many languages including C#, Go, Java, Node.js, PHP, Python, and Ruby
Does not scale to zero - no free tier
Scaling
Autoscaling managed servers
Google Kubernetes Engine
Managed Kubernetes clusters. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
When to use it
When your application needs a specific OS or network protocols beyond HTTP/s
Hybrid and MultiCloud deployments
Strong CI/CD pipelines
Model
Iaas
PaaS
Scaling
Cluster
Cloud Run
A fully managed serverless platform that runs individual containers.
When to use it
Fully-managed infrastructure
Rapid auto-scaling from, and to 0
HTTP/Websockets/gRPC/Events
No fixed infrastructure footprint
Model
PaaS
Deployment methods
Fully Managed
Use when want Google Cloud to manage autoscaling, connectivity, high availability, etc.
Cloud Run for Anthos
Knative running on a GKE cluster
Use when need to
Access VPC network
Tune size of compute engine instance, use GPUs, etc.
Are running knative containers on-premise or in other clouds and want a single pane of
glass (Anthos) to manage them
Scaling
Serverless
Cloud Functions
Event-driven serverless functions. You write individual function code and Cloud Functions calls your function when events happen (for example, HTTP, Pub/Sub, and Cloud Storage changes, among others).
When to use it
When your code is a function and just performs an action based on an event/trigger from Pu/Sub or Cloud Storage.