GKE Foundations — Google Cloud's Compute Workload Options

 

GKE Foundations — Google Cloud's Compute Workload Options

Google Cloud provides different services to run applications. The best choice depends on how much control you need over the infrastructure and how you want to deploy your application.

Let's understand each service from a beginner's perspective.

1. The main compute services

Google Kubernetes Engine: Simplifying Containerization on Cloud

1. Kubernetes Engine (GKE)

Containers

A managed environment for deploying and managing containerized applications using Kubernetes.

Example: Deploy multiple Spring Boot microservices in Docker containers and let Kubernetes manage scaling and recovery.

From Virtual Machines to Kubernetes: My Journey Migrating a Legacy App to GKE & Cloud SQL | by Jon Michaelson-Swain | Medium

2. Compute Engine

Virtual machines

Provides virtual machines (VMs) where you control the operating system, software, and runtime configuration.

Example: Create a Linux VM, install Java, and run your Spring Boot JAR file.

Google App Engine Diagram

3. App Engine

Platform as a service

A managed platform for deploying applications without managing the underlying servers directly.

Example: Deploy a supported web application and let App Engine manage much of the infrastructure and scaling.

What is Serverless Computing? (How it Works & Pros/Cons)

4. Cloud Functions

Functions / serverless

Run small pieces of code in response to events or requests without managing servers. This service is now presented within the Cloud Run functions offering.

Example: Execute a function when a file is uploaded to Cloud Storage.

2. Understand the difference with a real example

Suppose you want to run a Java Spring Boot application.

Feature

GKE

Compute Engine

App Engine

Cloud Functions

Main unit

Containerized workloads

Virtual machine

Application

Function

Server management

Kubernetes infrastructure is managed, depending on cluster mode

You manage the VM OS

Mostly managed

Mostly managed

Control

High over Kubernetes workloads

High over the VM

Lower infrastructure control

Focus on function code

Best suited for

Microservices and container orchestration

Custom OS/software requirements

Managed web applications

Event-driven tasks

3. How to choose?

Choose GKE when you need Kubernetes, container orchestration, and management of multiple services.

Choose Compute Engine when you need control over the virtual machine and operating system.

Choose App Engine when you want to deploy a supported application with less infrastructure management.

Choose Cloud Functions when you want to execute code in response to a particular event or request.

Comments

Popular posts from this blog

Async/await

Valid Parentheses

kafka