Which compute service should I choose and when? - GCP

Syed Tauseef Ahmed
5 min readFeb 24, 2023

In learning about GCP services, I’ve always pondered which compute service I should choose and why.?

Google Cloud Platform is the first and only cloud provider with a defined multi-cloud strategy and a cutting-edge cloud infrastructure built on open source at its core providing 100+ products.

credits:https://cloud.google.com/

Primarily to distinguish between and comprehend an overview of the GCP feature products. Compute options can be divided into two main groups:

Server-based: (IaaS)
- Compute Engine
- Google Kubernetes Engine
- VMware Engine

Server-less: (PaaS)
- App Engine
- Cloud Run
- Cloud Function

Lets move forward with each of these services.

Server-Based

Compute Engine

— A secure and customizable compute service that lets you create, run, and manage virtual machines on Google’s infrastructure.
— You may create and operate virtual machines (VMs) on Google’s extensive infrastructure using Compute Engine, which offers a fully flexible infrastructure as a service (IaaS) platform.
— The VMs are entirely under your control, and you may pick from a variety of CPU, memory, and storage combinations. Together with these functionalities, Compute Engine also provides load balancing and autoscaling for managing and automating VMs.
— If you require total control over the infrastructure and wish to run a specialised operating system or application, Compute Engine is an excellent option.
— If your applications need high performance computation, GPU instances, or a lot of I/O, Compute Engine is a suitable option as well.

credits:https://thecloudgirl.dev/gcpsketchnote2.html

Google Kubernetes Engine

— GKE is a managed service that makes it easy to deploy, manage, and scale containerized applications.
— Kubernetes Engine is a managed platform for executing Kubernetes-based containerized applications.
— You can concentrate on creating and deploying your applications rather than worrying about managing the underlying infrastructure while using Kubernetes Engine.
— With little to no cluster operations experience needed, putting your containers on autopilot eliminates the need to manage nodes or capacity and lowers cluster expenditures.
— To make managing your containers simpler, Kubernetes Engine provides features like automated upgrades, horizontal scalability, and self-healing capabilities.

credits:https://thecloudgirl.dev/GKE.html

VMware Engine

— VMware Engine is a fully managed VMware service offered by Google Cloud Platform (GCP). It allows customers to run VMware-based workloads natively on GCP, providing a seamless and consistent experience between on-premises and cloud environments.
— It allows you to easily lift and shift your VMware-based applications to Google Cloud without changes to your apps, tools, or processes. It includes all the hardware and VMware licenses to run in a dedicated VMware SDDC in Google Cloud.
— VMware Engine makes it easy to migrate existing VMware workloads to GCP without the need for refactoring or rewriting applications. This allows customers to take advantage of GCP’s global infrastructure and services while maintaining their existing VMware investments.

credits:https://thecloudgirl.dev/VMwareEngine.html

Server-less

App Engine

Build monolithic server-side rendered websites. App Engine supports popular development languages with a range of developer tools.
— You can create and deploy web and mobile applications using App Engine, a fully managed platform as a service (PaaS), without worrying about infrastructure administration.
— Auto-scaling, load balancing, and a built-in database are all features that App Engine provides to make it simpler to design and deploy apps quickly.
— App Engine allows connectivity with other GCP services and supports a number of well-known programming languages. If you want to quickly design and deploy web and mobile applications without bothering about infrastructure administration, App Engine is a smart option.
— In addition, App Engine is a wise solution if your apps need to scale quickly and deal with large traffic.

credits:https://thecloudgirl.dev/appengine.html

Cloud Run

— You can build and deploy scalable containerized apps written in any language (including Go, Python, Java, Node.js, .NET, and Ruby) on a fully managed platform.
— You can execute containers on demand in a stateless environment with Cloud Run, a fully managed serverless container platform. Bring your own container images and deploy them easily with Cloud Run.
— You may use Cloud Run to create and deploy web applications, APIs, and more. It supports a number of well-known programming languages.
— If you have applications that must scale quickly and deal with significant traffic, Cloud Run is a suitable option as well.

credits:https://thecloudgirl.dev/run.html

Cloud Function

— A server-less compute service that enables event-driven execution of code without the need to manage infrastructure.
— You can run your code in the cloud with no servers or containers to manage with scalability, which is a functions as a service (FaaS) product.
— It supports several programming languages and automatically scales your application as necessary.
— If your event-driven applications need quick and automatic scaling, Cloud Functions is a viable option.
— If you have apps that don’t need a server and can run on brief bursts of compute time, Cloud Functions is a suitable option as well.

credits:https://thecloudgirl.dev/CloudFunctions.html

Learnings: In a nutshell, this is the simplest form to explain how things
work, where and when to use them. My article contains images from
Priyanka Vergadia, currently Developer Advocate at Google. I’ve learned
and understand many things from her sketchnotes. Kudos to her!!

--

--