Comparison of Compute options in GCP

GCP Compute: a decision tree
click on image for enlarged view

Deciding between compute options boils down to the following three criteria:
  • Level of abstraction (what you want to think about).
  • Technical requirements and constraints.
  • Where your team and organization are going.


Another view from the Google Cloud docs -
Product Your needs Product features Typical use cases
Google App Engine
Google App Engine
A flexible, zero ops platform for building highly available apps
  • You want to focus on writing code, and never want to touch a server, cluster, or infrastructure.
  • You want to build a highly reliable and scalable serving app or component without doing it all yourself.
  • You value developer velocity over infrastructure control.
  • You want to minimize operational overhead.
  • A range of curated serving stacks with smart defaults and deep customizability.
  • Support for Java, Python, PHP, Go, Ruby, Node.js, and ASP.NET Core (beta) ... or bring your own app runtime (Custom Runtimes are supported in App Engine Flexible)
  • Integrated SDK, managed services, and local development environment.
  • App versioning with zero-downtime upgrades.
  • Traffic splitting.
  • Automatic high availability with built-in auto-scaling.
  • Web sites.
  • Mobile app and gaming backends.
  • RESTful APIs.
  • Internal Line of Business (LOB) apps.
  • Internet of things (IoT) apps.
Google Kubernetes Engine
Google Kubernetes Engine
Logical infrastructure powered by Kubernetes, the open source container orchestration system.
  • You want to increase velocity and improve operability dramatically by separating the app from the OS.
  • You need a secure, scalable way to manage containers in production.
  • You don’t have dependencies on a specific operating system.
  • Logical infrastructure - focus on your app components, not virtual machines.
  • Easy mechanisms for building loosely-coupled distributed systems.
  • Run the same application on your laptop, on premise and in the cloud.
  • Containerized workloads.
  • Cloud-native distributed systems.
  • Hybrid applications.
Google Compute Engine
Google Compute Engine
Virtual machines running in Google's global data center network
  • You need complete control over your infrastructure and direct access to high-performance hardware such as GPUs and local SSDs.
  • You need to make OS-level changes, such as providing your own network or graphic drivers, to squeeze out the last drop of performance.
  • You want to move your application from your own colo or datacenter to the cloud without rewriting it.
  • You need to run a software package that can’t easily be containerized or you want to use existing VM images.
  • Virtual machines with network-attached and ultra-high performance local storage options.
  • Preemptible virtual machines for inexpensive batch jobs and fault-tolerant workloads.
  • Customizable load-balancing and auto-scaling across homogeneous VMs.
  • Direct access to GPUs that you can use to accelerate specific workloads.
  • Support for the most popular flavors of Linux and Windows operating systems.
  • Any workload requiring a specific OS or OS configuration.
  • Currently deployed, on-premises software that you want to run in the cloud.

Source: Google Cloud Platform Blog

Related:
Comparison of Azure Compute services
Options for Hosting Containers in Azure

Comments

Popular posts from this blog

The "Read aloud selection" feature in Edge browser

The Mercurial Grok AI Assistant Understands & Speaks Indian Languages

HOW TO copy a doc / spreadsheet from Google Docs to OneDrive without saving to local computer