Once you have decided to build/migrate your application on the Google Cloud Platform, the first thing that would come to
your mind is what are the compute choices that are available and which would be the best-suited
for the application to efficiently use the available resources. GCP offers a range of computer
services that go from giving users full control (for eg., Compute Engine) to highly-abstracted (for
eg., Firebase and Cloud Functions), letting Google to take care of the management and operations
along the way. The following are the compute options provided by Google.
Compute Engine (Iaas)If you are comfortable with managing VM instance and want to
have full control over the management of Infrastructure and DevOps, this is the best-suited
option for you.
App Engine (PaaS - Serverless and Ops Free) If you want to focus on building your
application and want to avoid managing overhead that comes with Infrastructure, you can opt for
AppEngine. Just code and run your application on AppEngine Instance. AppEnige are of two types:
StandardYou can not change a single thing in this instance. For example, if you
have chosen an instance with python 2.7, you can not upgrade it later to any other
FlexibleIt provides some control over the instance. For example, if you have
chosen Python 2 or Java 7 for your instance, you can upgrade the versions later to
Python 3 or Java 8 whatever suits your requirement.
Container EngineIt lies between IaaS and PaaS, it's a cluster of machines running
Kubernetes and hosting containers running Docker, best-suited for containerized Application.
Cloud Functions (Fully managed and Serverless execution)It provides a cost-effective
way to run your code. It allows you to pay only while your code runs. If you want to focus
purely on code and build microservices that expose API endpoints for your applications, use
Cloud Functions. Here is a detailed article on Google
Cloud Functions and the beauty of serverless execution
This Picture Explains the Computes choices and the best available option for your Application. If you
want to have less management overhead of Infrastructure chose from right else chose from left.