Choosing a Computing Option

This page describes the options available for hosting your application on Google Cloud Platform. Each option can take advantage of the entire breadth of services offered by Cloud Platform, including storage, networking, big data products, and Google-grade security.

Comparing options

Google offers options for platform-as-a-service (PaaS), containers, and infrastructure-as-a-service (IaaS). The following table lists and describes the options:

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 the 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 (beta) and Node.js (beta) ... or bring your own app runtime.
  • 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 Container Engine
Google Container 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.

Combining multiple options

You don't need to restrict yourself to a single computing choice for your whole application. You can mix options, choosing the right approach for any application component and connect them together. For example, you can:

  • Use App Engine for the front end serving layer, while running Redis in Compute Engine.
  • Use Container Engine for a rendering microservice that uses Compute Engine VMs running Windows to do the actual frame rendering.
  • Use App Engine for your web front end, Cloud SQL as your database, and Container Engine for your big data processing.

To learn more about how compute options fit into end-to-end solutions, see How to Use Google Cloud Platform.

What's next

Send feedback about...

Documentation