Google Cloud Notes

Based on Udemy Course Google Certified Associate Cloud Engineer Collection

1. Course Info

Course Introduction

Making Comparisons

Course Outline & Student Background

2. Certification Intro

Exam Guide (Blueprint)

An Associate Cloud Engineer deploys applications, monitors operations of multiple projects, and maintains enterprise solutions to ensure that they meet target performance metrics. This individual has experience working with public clouds and on-premises solutions. They are able to use Google Cloud Console and the command-line interface to perform common platform-based tasks to maintain one or more deployed solutions that leverage Google-managed or self-managed services on Google Cloud.

3. Intro to Google Cloud Platform (GCP)

GCP Context

GCP Design and Structure

Physical Infastructure

Network Ingress and Egress

Pricing

Security

Scale and Automation

Resource Quotas (Soft Limits)

Organizations

4. Intro to GCP Products/Services

How to Cheat

gcloud-cheatsheet

Products/Services as Building Blocks

Cloud Deployment Manager

GCP Marketplace

Key Building Blocks

6. Account Setup

Free-Tier GCP Accounts

Create Free-Tier GCP Account

Explore GCP Console

Set Up Billing Export

Set up Billing Alert

Set Up (Non-Admin) User Access

7. Cloud Shell and Data Flows

Explore Cloud Shell and Editor

Cloud Shell Docs Course Resources on Github

Data Flows

Update Course Lab Files

Milestone: Open World

Projects

8. Basic Services

GCS: Google Cloud Storage

Making Data Public

GCS via gsutil in Command Line

Starting Our First GCE VM: Google Compute Engine Setup

Rundown on gcloud

Configurations Analogy

Action Directory Configuration
Make New mkdir newdir gcloud config configurations create newconfig
Switch To cd newdir gcloud config configurations activate newconfig
List Contents ls gcloud config list
List Non-Active ls ~/newdir gcloud --configuration=newconfig config list OR gcloud config configurations describe newconfig

GCE In and Out

How you can connect into and out of a Google Compute Engine instance

Labs Commands List

Filters in gcloud

Instance Metadata Reference

GCE via Console

Creating Instances

Preemptible Instances

Startup Scripts

Service Accounts and Scopes

9. Basic Services Challenge Lab

GCE-GCS Challenge Lab

GCE-GCS Challenge Lab Startup

GCE-GCS Challenge Lab Data Flow

Service Accounts (incl. scope)

GCE Instance Statuses

Long-polling for Metadata Changes

Hypervisor-Visible Metrics

Agent-visible Metrics

Installing Stackdriver Agent

Lost of Logs Sent by Agent (by Default)

Data Flow in Action

dataFlow

GCE-GCS Challenge Lab Demo

Basic Services Sample Practice Questions Breakdown

10. Scaling

Managed Instance Groups

Lab Start-Up Script

Milestone: Robust Mental Model

Resource Elasticity

11. Security

What is Security? (Data Flow)

Information Security

Public Bucket Breach

Security by Design Principles

OWASP Top 10

IAM Breakdown: Resource Hierarchy (To which thing?)

IAM Overview Docs

IAM Resource Hierarchy Docs

IAM Breakdown: Permissions and Roles (Can do what?)

Understanding Roles

Understanding Custom Roles

Predefined Roles List

IAM Breakdown: Members and Groups (Who?)

IAM Overview Docs w/ Members

IAM Breakdown: Policies (Bindings)

IAM Overview Docs w/ Policies

Granting, Changing, Revoking Access

Docs for gcloud add iam policy

IAM Wrap-up

Using IAM Securely

FAQ

Billing Access Control

Billing IAM Roles

Overview of Billing Access Control

Role Purpose Scope
Billing Account Creator Create new self-serve billing accounts. Org
Billing Account Administrator Manage billing accounts (but not create them). Billing Account
Billing Account User Link projects to billing accounts. Billing Account
Billing Account Viewer View Billing accoun tcost information and transactions Billing Account
Project Billing Manager Link/unlink the project to/from a billing account. Project
User type Billing activities Billing Cloud IAM roles
CEO Manage payment instrument; View and approve invoices. Billing Account Administrator
CTO Set budget alerts; View Spend; Create new billable projects Billing Account Administrator;Project Creator.
Development teams None None
User type Billing activities Billing Cloud IAM roles
CEO Manage payment instrument; Delegate authority Billing Account Administrator
CFO Set budget alerts; View spend Billing Account Administrator
Accounts Payable View and approve invoices Billing Account Viewer
Development teams Create new billable projects Billing Account User; Project Creator

12. Networking

Routing Overview

OSI Model of Networking

Routing - Wikipedia

Routing: To Google's Network

Premium Routing Tier Blog Post

Hot-Potato and Cold-Potato Routing

Routing: To the Right Resource (Load Balancing)

Load Balancing in GCP

Routing: Among Resources (VPC)

Getting data from one resource to another

Classless Inter-Domain Routing

IPs and CIDRs

RFC1918 Private Networks

Creating Auto-Mode VPCs (Lab)

VPC Subnet Creation Mode

Custom-Mode VPCs (Lab)

Creating the VPC

VPC Overview Docs

Creating the Custom IAM Role & Service Account

Understanding IAM Custom Roles

Creating and Managing Custom Roles

Service Accounts Overview

Creating and enabling service accounts for instances

Using the VPC and Configuring Firewall Rules

Firewall Rules Overview

Configuring Network Tags

Filtering by Service Accounts vs Network tag

Updated Managed Instance Groups

Having trouble editing the instance in Group

13. GKE Introduction: Google Kubernetes Engine

Kubernetes Deep Dive Intro

Kubernetes

14. Kubernetes Course Introduction

What You Need

Schedule

15. Kubernetes Big Picture

Kubernetes Primer

Kubernetes API

Kubernetes Objects

Spin Up a Quick Cluster

Play with Kubernetes

  1. Initialize cluster master node:
    • kubeadm init --apiserver-advertise-address $(hostname -i)
  2. Initialize cluster networking:
    • kubectl apply -n kube-system -f \ "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

16. Kubernetes Application Architecture

Kubernetes App Theory

Sample Kubernetes App

Recap

  1. Apps
    • Ideas
    • Requirements
  2. Coding
  3. Then to Docker images
  4. Then Kubernetes stuff

17. Kubernetes Networking

Common Networking Requirements

Sample App Requirements

Kubernetes Networking Basics

Service Basics

Service Types

Service Network

Demo

18. Kubernetes Storage

Storage

Big Picture

Container Storage Interface

PV and PVC

Storage Classes

19. From Code to Kubernetes

Big Picture (19)

3 Stages

  1. Code
  2. Docker
    • Build the code into an image
    • Push image to registry
  3. Kubernetes
    • Rolls image as Kubernetes deployment or other object

Demo (19)

  1. Code on repo
  2. Dockerfile (list of instructions to build a docker image)
  3. Build image
  4. Push image
  5. Web deployment on k8s
  6. Apply service in front (web-nodeport)
  7. Load balancer (if on cloud provider)

20. Kubernetes Deployments

Deployment Theory

21. Kubernetes Auto-scaling Apps

Big Picture (21)

Horizontal Pod Autoscaler (HPA) Theory

Cluster Autoscaler Theory

22. Kubernetes Security

RBAC and Admission Control

Big Picture (22)

Authentication (AuthN)

Authorization (AuthZ)

Admission Control

23. More Kubernetes Stuff

Other Kubernetes Stuff

25. GAE: Google App Engine

26. Services Breadth

Changing GEars to Breadth

Google Products List Page

Compute

Compute Engine (GCE)

Compute Engine

Google Kubernetes Engine (GKE)

Kubernetes Engine

App Engine (GAE)

App Engine

Google Cloud Functions (GCF)

Cloud Functions

Storage Services

Local SSDs

Local SSDs

Persistent Disk (PD)

Persistent Disk

Cloud Filestore

Cloud Filestore

Cloud Storage (GCS)

Cloud Storage

Databases

Cloud SQL

Cloud SQL

Cloud Spanner

Cloud Spanner

Big Query

Big Query

Cloud Bigtable

Cloud Bigtable

Cloud Datastore

Cloud Datastore

Firebase DBs

Firebase DBs

Data Transfer

Data Transfer Appliance

Data Transfer Appliance

Storage Transfer Service

Storage Transfer Service

External Networking

Google Domains

Google Domains

Cloud DNS

Cloud DNS

Static IPs

Static IPs

Cloud Load Balancing (CLB)

Cloud Load Balancing

Cloud CDN

Cloud CDN

Internal Networking

Virtual Private Cloud (VPC)

Virtual Private Cloud

Cloud Interconnect

Cloud Interconnect

Cloud VPN

Cloud VPN

Dedicated Interconnect

Dedicated Interconnect

Cloud Router

Cloud Router

CDN Interconnect

CDN Interconnect

Machine Learning / AI

Cloud Machine Learning Engine

Cloud Machine Learning Engine

Cloud Vision API

Cloud Vision API

Cloud Speech API

Cloud Speech API

Cloud Natural Language API

Cloud Natural Language API

Cloud Translation API

Cloud Translation API

DialogFlow

DialogFlow

Cloud Video Intelligence API

Cloud Video Intelligence API

Cloud Job Discovery

Cloud Job Discovery

Big Data and IoT

Big Data Lifecycle

Big Data Lifecycle

Cloud Internet of Things (IoT) Core

Cloud Iot Core 1 Cloud Iot Core 2

Cloud Pub-Sub

Cloud Pub-Sub

Cloud Dataprep

Cloud Dataprep

Cloud Dataproc

Cloud Dataproc

Cloud Dataflow

Cloud Dataflow

Cloud Datalab

Cloud Datalab

Cloud Data Studio

Cloud Data Studio

Cloud Geonomics

Cloud Geonomics

Identify and Access - Core Security

Roles

Roles

Cloud IAM

Cloud IAM Cloud IAM

Service Accounts

Service Accounts

Cloud Identity

Cloud Identity

Security Key Enforcement

Security Key Enforcement

Cloud Resource Manager

Cloud Resource Manager Cloud Resource Manager

Cloud Identity-Aware Proxy (IAP)

Cloud IAP

Cloud Audit Logging

Cloud Audit Logging

Security Management - Monitoring and Response

Cloud Armor

Cloud Armor

Cloud Security Scanner

Cloud Security Scanner

Cloud Data Loss Prevention API (DLP)

Cloud DLP API

Event Threat Detection (ETD)

Event Threat Detection

Cloud Security Command Center (SCC)

Cloud Security Command Center Cloud Security Command Center

Encryption Key Management

Cloud Key Management Service

Cloud KSS

Cloud Hardware Security Module

Cloud HSM

Operations and Management

Google Stackdriver

Stackdriver

Stackdriver Monitoring

Stackdriver Monitoring

Stackdriver Logging

Stackdriver Logging

Stackdriver Error Reporting

Stackdriver Error Reporting

Stackdriver Trace

Stackdriver Trace

Stackdriver Debugger

Stackdriver Debugger

Stackdriver Profiler

Stackdriver Profiler

Cloud Deployment Manager Rundown

Cloud Deployment Manager

Cloud Billing API

Cloud Billing API

Development and APIs

Cloud Source Repositories

Cloud Source Repositories

Cloud Build

Cloud Build

Container Registry (GCR)

Container Registry

Cloud Endpoints

Cloud Endpoints Cloud Endpoints

Apigee

Apigee

Test Lab for Android

Test Lab for Android

27. System of Services

Putting it all Together

Example Systems

API Hosting

API Hosting

Jenkins on Kubernetes

Jenkins on Kubernetes

Log Processing

Log Processing

Live Streaming

Live Streaming

Shopping Cart Analysis

Shopping Cart Analysis