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.
Google offers options for platform-as-a-service (PaaS), containers, and infrastructure-as-a-service (IaaS). The following table lists and describes the options:
Virtual machines running in Google's global data center network
You need complete control over the infrastructure.
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.
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.