Architecting with Google Kubernetes Engine Specialization

1. Introduction

Getting Started with Google Kubernetes Engine

Kubernetes is an orchestration framework for software containers. Containers are a way to package and run code that’s more efficient than virtual machines. Kubernetes provides the tools you need to run containerized applications in production and at scale.

Google Computing Services:

  1. Computer Engine :
    • IaaS (Infrastructure as a service) offering - compute, stroage, network.
    • Predefined and customized VMs - complete control over infrastructure.
    • Presistent disks and local SSDs.
    • Managed instance groups.
    • Pre-second billing.
  2. Google Kubernetes Engine:
    • Runs containerized applications.
    • Code packaged with all its dependencies.
  3. App Engine: (focus on building application, instead of deploying and managing env)
    • Fully managed PaaS (Platform as a service) offering.
    • Focused on application logic.
    • Bind code to libraries. Deploys required infrastructure (java, nodejs, py, php, c#, .net, ruby, go)
    • Integrated with Cloud tools. Support version control + traffic splitting.
    • Use cases : Website, Mobili Gaming backends, Apis interfaces.
  4. Cloud Functions:
    • lightweight, event-based, asynchronous compute solution, without needs of a server or a runtime env.
    • Execute codes in response to events. Function as a service offering. Deploys the computing capacity to run code.
    • Can connect and extend cloud services.
    • Bills to nearest 100 millisecond.
    • Use cases : part of a microservices application architecture; simple serveless mobili or IoT backendsl; part of intelligent applications.
  5. Cloud Run.
    • A managed compute platform, runs stateless containers.
    • Serverless (without infrastructure). Built on Knative.
    • Fast, charges only for resources used.

Google Cloud locations

Resource management, policy managements.

flowchart TD
ON["Organization Node"] --> Folder
Folder --> Project1
Folder --> Project2
Project1 --> Resources1
Project2 --> Resources2

Interaction methods:

  1. Google Cloud Console.
  2. Cloud SDK (gcluod tool, gsutil, bq) and Cloud Shell (command-line access).
  3. APIS : control by code.
  4. Google Cloud App. (start, stop, ssh, etc)