Study Guide 2023+

gcp

Warning: These notes are partial, ongoing, incomplete, and may contain typos/inaccuracies. (They are kept factually accurate, time permitting.)

They are being united from many disparate notes created in the past and the layout/organization will gradually improve with time!

Please view them on a computer as they are not optimized for mobile (although you can still view them on Mobile along with the Flashcards at your own risk)!

Topics and code examples are lazy-loaded and may require two-clicks from the TOC to correctly calculate the updated x,y coordinates (after rendering). Thanks!

GCP: Overview

College Credits

Google learning and cloud content divides into at least the following kinds:

  1. Google Certification
    • Proctored examinations through Pearson.
    • These are not ACE College Credit eligible in-of-themselves (although they are more valuable professionally).
  2. Google Certificates
    • Through skills.google/
    • Not all Google Courses, Labs, etc. result in a Certificate.
    • In fact only a handful do - and of these only those described here are ACE College Credit eligible.
  3. Coursera Certificates
    • These are offered through Coursera but don't automatically confer a Google Certificate nor a Google Certification.
    • These don't appear to be ACE College Credit eligible.

Idioms

Ways that Google defines/does things:

Some Quick Comparison with AWS

Cost Summary

Studies, models, cost comparisons:

  1. https://www.qovery.com/blog/google-cloud-vs-aws-cost-breakdown-by-service
  2. https://spot.rackspace.com/blog/cloud-computing-cost
  3. https://www.usage.ai/blogs/finops/multi-cloud/cloud-pricing-comparison/
  1. https://docs.aws.amazon.com/whitepapers/latest/real-time-communication-on-aws/cross-region-dns-based-load-balancing-and-failover.html
  2. https://www.acenet.edu/National-Guide/Pages/Organization.aspx?oid=3fdb1492-e04f-e911-a97b-000d3a363c81
  3. https://www.qovery.com/blog/google-cloud-vs-aws-cost-breakdown-by-service
  4. https://spot.rackspace.com/blog/cloud-computing-cost
  5. https://www.usage.ai/blogs/finops/multi-cloud/cloud-pricing-comparison/

GCP: Google Cloud Computing Foundations Certificate

Cloud Computing Fundamentals

Notes.

Best ways to interact with Google Cloud Resources:

Useful Google Cloud Shell Commands

Used in many Google Skill Labs and Challenges.

Note that the early Skill Labs and Challenges tend to be Imperative (emphasizing sequences of CLI commands for new users to gain familiarity).

Google Cloud Shell (gcloud through the interactive terminal):

gcloud config set compute/region asia-southeast1
gcloud config get-value compute/region
gcloud config set compute/zone asia-southeast1-a
gcloud config get-value compute/zone

gcloud compute project-info describe --project $(gcloud config get-value project)

# Define an Environment Variable
export PROJECT_ID=$(gcloud config get-value project)
export ZONE=$(gcloud config get-value compute/zone)
export REGION=$(gcloud config get-value compute/region)
echo -e "PROJECT ID: $PROJECT_ID\nZONE: $ZONE\nZONE: $REGION"
  1. https://www.skills.google/paths/36

GCP: CCF VMs

Virtual Machines

# Create VM
## Used in several skill labs
gcloud compute instances create www1 --machine-type e2-medium --zone $ZONE
gcloud compute instances create www2 \
    --zone=asia-southeast1-b \
    --tags=network-lb-tag \
    --machine-type=e2-small \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --metadata=startup-script='#!/bin/bash
      apt-get update
      apt-get install apache2 -y
      service apache2 restart
      echo "<h3>Web Server: www1</h3>" | tee /var/www/html/index.html'
## Then list and filter them
gcloud compute instances list
gcloud compute instances list --filter="name=('www1')"

# SSH
gcloud compute ssh www2 --zone $ZONE
# Deploy contents of current directory to App Engine
gcloud app deploy
gcloud app browse
  1. https://www.skills.google/paths/36

GCP: CCF Compute

Compute Services Comparison

Service Description Workload Type
GCP Compute Engine Configurable Virtual Machines. VM's IaaS
GCP App Engine Quickly deploying Applications from Source Code. Managed Serverless Applications PaaS
GCP Cloud Run Deploy Fully Managed Containerized Applications. Managed Serverless Containers PaaS
GCP Cloud Run Functions Serverless Function execution environment. Serverless Functions FaaS (PaaS)
GCP Google Kubernetes Engine Managed Kubernetes Service. Serverless Kubernetes, Containers/Pods PaaS
  1. https://www.skills.google/paths/36
  2. https://docs.cloud.google.com/compute/docs/tutorials/high-scalability-autoscaling

GCP: CCF Load Balancers

Load Balancers

gcloud config set compute/region asia-southeast1
gcloud config set compute/zone asia-southeast1-b
export ZONE=$(gcloud config get-value compute/zone)
export REGION=$(gcloud config get-value compute/region)

Network Load Balancer:

https://www.skills.google/paths/8/course_templates/648

gcloud compute instances create web1 \
  --zone=$ZONE\
  --tags=network-lb-tag \
  --machine-type=e2-small \
  --image-family=debian-12 \
  --image-project=debian-cloud \
  --metadata=startup-script='#!/bin/bash
      apt-get update
      apt-get install apache2 -y
      service apache2 restart
      echo "<h3>Web Server: web1</h3>" | tee /var/www/html/index.html'

gcloud compute firewall-rules create www-firewall-network-lb \
  --target-tags network-lb-tag --allow tcp:80
gcloud compute addresses create network-lb-ip-1 \
  --region $REGION
gcloud compute http-health-checks create basic-check
gcloud compute target-pools create www-pool \
  --region $REGION --http-health-check basic-check
gcloud compute target-pools add-instances www-pool \
    --instances web1,web2,web3
gcloud compute forwarding-rules create www-rule \
    --region $REGION \
    --ports 80 \
    --address network-lb-ip-1 \
    --target-pool www-pool

Application Load Balancer:

gcloud compute instance-templates create lb-backend-template \
   --region=$REGION \
   --network=default \
   --subnet=default \
   --tags=allow-health-check \
   --machine-type=e2-medium \
   --image-family=debian-12\
   --image-project=debian-cloud \
   --metadata=startup-script='#!/bin/bash
     apt-get update
     apt-get install apache2 -y
     a2ensite default-ssl
     a2enmod ssl
     vm_hostname="$(curl -H "Metadata-Flavor:Google" \
     http://169.254.169.254/computeMetadata/v1/instance/name)"
     echo "Page served from: $vm_hostname" | \
     tee /var/www/html/index.html
     systemctl restart apache2'

# Managed Instance Group
## Automatically creates and associates VM Instances 
## using the Template created above.
gcloud compute instance-groups managed create lb-backend-group \
  --template=lb-backend-template --size=2 --zone=$ZONE

# Health Checks, Firewall Rules
## Make sure the Tags match!
gcloud compute firewall-rules create fw-allow-health-check \
  --network=default \
  --action=allow \
  --direction=ingress \
  --source-ranges=130.211.0.0/22,35.191.0.0/16 \
  --target-tags=allow-health-check \
  --rules=tcp:80
gcloud compute addresses create lb-ipv4-1 \
  --ip-version=IPV4 \
  --global
gcloud compute health-checks create http http-basic-check \
  --port 80

# Create the Backend Service...
gcloud compute backend-services create web-backend-service \
  --protocol=HTTP \
  --port-name=http \
  --health-checks=http-basic-check \
  --global
## ...and Associate the Managed Instance Group
gcloud compute backend-services add-backend web-backend-service \
  --instance-group=lb-backend-group \
  --instance-group-zone=asia-southeast1-b \
  --global

# Expose the Application Load Balancer
gcloud compute url-maps create web-map-http \
  --default-service web-backend-service
## And define listeners
gcloud compute target-http-proxies create http-lb-proxy \
  --url-map web-map-http
gcloud compute forwarding-rules create http-content-rule \
  --address=lb-ipv4-1\
  --global \
  --target-http-proxy=http-lb-proxy \
  --ports=80
  1. https://www.skills.google/paths/36
  2. https://www.skills.google/paths/8/course_templates/648
  3. https://docs.cloud.google.com/compute/docs/tutorials/high-scalability-autoscaling

GCP: CCF Security

Secure a Bastion

export ZONE="asia-south1-b"
export REGION="asia-south1"
export TAG_ONE=accept-ssh-iap-ingress-ql-609
export TAG_TWO=accept-http-ingress-ql-609
export TAG_THREE=accept-ssh-internal-ingress-ql-609

gcloud compute firewall-rules delete open-access

gcloud compute instances start bastion --zone=$ZONE

gcloud compute instances add-tags bastion \
    --zone=$ZONE \
    --tags=$TAG_ONE

gcloud compute firewall-rules create allow-ssh-iap-ingress \
    --network acme-vpc \
    --direction=INGRESS \
    --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=35.235.240.0/20 \
    --target-tags=$TAG_ONE

gcloud compute instances add-tags juice-shop \
    --zone=$ZONE \
    --tags=$TAG_TWO

gcloud compute firewall-rules create allow-http-juice-shop \
    --network acme-vpc \
    --direction=INGRESS \
    --action=ALLOW \
    --rules=tcp:80 \
    --source-ranges=0.0.0.0/0 \
    --target-tags=$TAG_TWO

gcloud compute instances add-tags juice-shop \
    --zone=$ZONE \
    --tags=$TAG_THREE

## Subnet must be represented by exact IP Range
### Fetch it
export MGMT_SUBNET_RANGE=$(gcloud compute networks subnets describe acme-mgmt-subnet \
    --region=$REGION \
    --format="value(ipCidrRange)")

gcloud compute firewall-rules create allow-ssh-internal-ingress \
    --network=acme-vpc \
    --direction=INGRESS \
    --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=$MGMT_SUBNET_RANGE \
    --target-tags=$TAG_THREE

## SSH in then run
gcloud compute ssh juice-shop --internal-ip
  1. https://www.skills.google/paths/36

GCP: CCF Data and Storage

Big Query Dataflow

gcloud services disable dataflow.googleapis.com --project qwiklabs-gcp-02-3087b0d6e7e5 --force
gcloud services enable dataflow.googleapis.com --project qwiklabs-gcp-02-3087b0d6e7e5

bq mk lab_737
## Create Table in the UI
## Create Bucket in the UI
## Create Dataflow from batch template "Text Files on Cloud Storage to BigQuery"

Managed Apache Spark

gcloud dataproc clusters create example-cluster \
  --region=us-central1 \
  --master-machine-type=n2d-standard-2 \
  --master-boot-disk-type=pd-standard \
  --master-boot-disk-size=100GB \
  --worker-machine-type=n2d-standard-2 \
  --worker-boot-disk-type=pd-standard \
  --worker-boot-disk-size=100GB \
  --num-workers=2
## Create a Job through the UI

GCP Databases

Service Description Type
GCP Spanner Globally distributed, strongly consistent SQL relational database for structured data. Managed, SQL
GCP Firestore Serverless NoSQL document database for semi-structured and unstructured data. Managed, NoSQL
GCP Bigtable Scalable NoSQL wide-column database for large-scale, low-latency structured and semi-structured data (time series, telemetry). Managed, NoSQL
GCP Cloud Storage Scalable object storage for unstructured data such as files, images, videos, and backups. Managed, Blob
GCP Cloud SQL Managed relational database service for MySQL, PostgreSQL, and SQL Server with structured data. Managed, SQL

Of course other Databases can still be deployed and used (say from GCP Cloud Marketplace) but these aren't Managed by Google and aren't GCP products themselves (varying licensing).

A relevant example is MongoDB:

  1. Unlike AWS, MongoDB isn't a full Service offering (GCP has fewer native NoSQL solutions overall).
  2. MongoDB can still be provisioned on a VM, through GKE, or via Managed (Enterprise) Atlas MongoDB (third-party Management through MongoDB Inc., not GCP itself).
  1. https://www.skills.google/paths/36
  2. https://www.mongodb.com/products/platform/atlas-cloud-providers/google-cloud

GCP: CCF Machine Learning

Google Cloud Speech-to-Text

## Create an API Key
export API_KEY=<YOUR_API_KEY>
## SSH into a Linux VM
touch request.json

nano request.json
## Copy contents into request.json
### {
###   "config": {
###       "encoding":"FLAC",
###       "languageCode": "en-US" 
###   },
###   "audio": {
###       "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
###   }
### }

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json

## Upload and rename result.json to and within the relevant bucket

Cloud Natural Language API

export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)

gcloud iam service-accounts create my-natlang-sa \
  --display-name "my natural language service account"

gcloud iam service-accounts keys create ~/key.json \
  --iam-account my-natlang-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com

export GOOGLE_APPLICATION_CREDENTIALS="/home/USER/key.json"

## SSH into a VM
gcloud ml language analyze-entities --content="Old Norse texts portray Odin as one-eyed and long-bearded, frequently wielding a spear named Gungnir and wearing a cloak and a broad hat." > result.json
## Upload and rename result.json to and within the relevant bucket
  1. https://www.skills.google/paths/36
  2. https://www.skills.google/paths/36/course_templates/631

GCP: Associate Cloud Engineer Certification

https://cloud.google.com/learn/certification/cloud-engineer/

I'd highly recommend this great Udemy course.

gcloud

For many gcloud compute operations, these are two primary commands (not compute/zone) since many GCP Compute Engine Resources are multi-Zone.

gcloud auth login
gcloud config set project my-project

Application Default Credentials

https://docs.cloud.google.com/docs/authentication/application-default-credentials

  1. https://www.skills.google/paths/11/course_templates/1403
  2. https://docs.cloud.google.com/docs/authentication/application-default-credentials

GCP: ACE Organization

Cloud Billing

Centralized Cloud Billing Account

gcloud

For many gcloud compute operations, these are two primary commands (not compute/zone) since many GCP Compute Engine Resources are multi-Zone.

gcloud auth login
gcloud config set project my-project

IAM

GCP Hierarchy

GCP Organization Policies apply at the GCP Organization level and are akin to:

Billing typically happens at the GCP Project level.

https://docs.cloud.google.com/iam/docs/resource-hierarchy-access-control

  1. https://www.skills.google/paths/11/course_templates/1403
  2. https://docs.cloud.google.com/iam/docs/resource-hierarchy-access-control

GCP: ACE Compute

Google Cloud Dynamic Workload Scheduler

Consumption option Best for Capacity assurance Lifespan Preemptible Quota Discounts
Flex-start Short-duration workloads up to seven days that can wait for capacity. Best-effort Up to seven days No Preemptible quota Discounted (up to 53%) on supported series
Spot VMs Fault-tolerant, short-duration general GPU workloads. Best-effort Preemptible Yes Preemptible quota Deeply discounted (up to 91%)
Standard Reservations Critical general GPU workloads that require a very high level of assurance for capacity. Very high Very high User-defined No No quota consumed
Future Reservations Large-scale, long-running training on clustered GPU. Very high Unlimited within the reservation period. No Automatically increased Discounted (up to 53%) with CUDs
Future Reservations in Calendar Mode Clustered GPU workloads up to 90 days that require reserved capacity. Very high Up to 90 days No No quota consumed Discounted (up to 53%)
On-Demand VMs General GPU workloads with no specific duration. Best-effort Unlimited No On-demand quota None (pay-as-you-go)

https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler

Cloud Run Functions vs. Cloud Tasks

Entity Service Description Execution Use Scenario Retries
Cloud Tasks Cloud Tasks Fully managed work-queing and dispatching Service. Does not itself execute code. Queuing scheduled jobs (calling Cloud Run Functions at a specific time). In-built exponential back-off.
Cloud Run Functions Cloud Run Lightweight serverless compute Functions. Handling and code execution. Handling business logic. Relies on calling Service or trigger.

Both are commonly used together:

  1. A specific action is initiated by a Cloud Task acting as a Client that calls some Cloud Run Function.
  2. The Cloud Run Function processes/handles that Request eventually returning the Response back the to calling Cloud Task.

https://docs.cloud.google.com/tasks

Compute Services

Minimum number of Instances:

GCP Compute Engine Preemptible VMs can only run for up to 24 hours.

Service Accounts

GCP recommends creating a Service Account and attaching that to a Compute Engine VM with minimal IAM Roles sufficient to perform its tasks.

  1. https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler
  2. https://www.skills.google/paths/11/course_templates/1403
  3. https://docs.cloud.google.com/tasks

GCP: ACE Load Balancers

Network Load Balancers

Passthrough Network Load Balancers don't terminate the Connection between the Client and target.

By contrast:

  1. Network Load Balancer with TCP Proxy will first terminate the Connection between the Client and Load Balancer.
  2. Then open a Connection from Load Balancer to the target.

DNS

CNAME entries can't be associated with AWS Route 53 roots or GCP Load Balancer IP Addresses directly so in both cases:

  1. Use an ALIAS (A record).
  1. https://docs.cloud.google.com/load-balancing/docs/passthrough-network-load-balancer

GCP: ACE Networking

Shared VPC

  1. Create a Shared VPC in a Project (Host Project).
  2. Attach Projects to the Host Project.
  3. Hierarchical Rules, IAM Roles, Firewall Policies, etc. apply.
  1. https://docs.cloud.google.com/vpc/docs/provisioning-shared-vpc

GCP: ACE Deployments

Resource Management, Deployments

Managed Instance Group

GCP Config Connector

GCP Application Design Center

GCP Infrastructure Manager

Deployment Strategy (very high-level overview):

Service Target Unit Splitting Criteria/Mechanism Best Use Case
App Engine Versions IP Address or HTTP Cookies Persistent A/B Testing with consistent user routing
Cloud Run Immutable Revisions Direct Percentage Allocation per Container Snapshot Canary Deployments and instant operational rollbacks
GKE Kubernetes Services HTTPRoute weights, URL Paths, or custom Headers Complex microservices, routing, Resource, and Kubernetes Deployments
  1. https://docs.cloud.google.com/compute/docs/instance-groups/updating-migs
  2. https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler
  3. https://docs.cloud.google.com/vpc/docs/private-service-connect
  4. https://docs.cloud.google.com/vpc/docs/private-services-access
  5. https://docs.cloud.google.com/vpc/docs/private-google-access
  6. https://www.skills.google/paths/11/course_templates/1403
  7. https://medium.com/google-cloud/part-i-gke-managed-dranet-with-tpus-ece22b31e4d9
  8. https://github.com/GoogleCloudPlatform/cluster-toolkit/tree/main/examples/gke-tpu-v6e
  9. https://docs.cloud.google.com/kubernetes-engine/docs/concepts/about-gke-inference-gateway
  10. https://docs.cloud.google.com/application-design-center/docs/application-centric-google-cloud
  11. https://docs.cloud.google.com/tasks
  12. https://docs.cloud.google.com/alloydb/docs/overview
  13. https://cloud.google.com/database-migration
  14. https://docs.cloud.google.com/iam/docs/resource-hierarchy-access-control

GCP: ACE GKE

Features

Inference Gateway:

  1. https://docs.cloud.google.com/kubernetes-engine/docs/concepts/about-gke-inference-gateway

GKE Autopilot

  1. Teams can still manage Deployments, Services, ConfigMaps, and Horizontal Autoscaling policies.
  2. GCP will handle configuration and management of worker Nodes, Node Pools, and most Cluster infrastructure.

GKE Kubernetes LoadBalancer is the primary way to expose access to the Public Internet. (Not ClustIP which is used for coordinating IP Addresses within the Clusters.)

  1. https://docs.cloud.google.com/kubernetes-engine/docs/concepts/about-gke-inference-gateway
  2. https://www.skills.google/paths/11/course_templates/1403

GCP: ACE Machine Learning

XLA

Accelerated Linear Algebra (XLA) integrates with existing, widely used, ML libraries while offering deep compiler-level optimizations:

  1. PyTorch/XLA
  2. JAX/XLA

GKE TPU

Kubernetes added DRA in 2025:

  1. ResourceClaims were added then as well.
  2. Kubernetes workloads are often used to manage AI workloads in the cloud (GKE, TPU, DRA).

See:

  1. https://www.skills.google/paths/11/course_templates/1403
  2. https://medium.com/google-cloud/part-i-gke-managed-dranet-with-tpus-ece22b31e4d9
  3. https://github.com/GoogleCloudPlatform/cluster-toolkit/tree/main/examples/gke-tpu-v6e
  1. https://www.skills.google/paths/11/course_templates/1403
  2. https://medium.com/google-cloud/part-i-gke-managed-dranet-with-tpus-ece22b31e4d9
  3. https://github.com/GoogleCloudPlatform/cluster-toolkit/tree/main/examples/gke-tpu-v6e
  4. https://docs.cloud.google.com/kubernetes-engine/docs/concepts/about-gke-inference-gateway

GCP: ACE Data and Storage

Other Database Services

GCP AlloyDB (for PostgresSQL)

https://docs.cloud.google.com/alloydb/docs/overview

GCP Database Migration Service

https://cloud.google.com/database-migration

BigQuery

Backup and Export

GCP Cloud SQL Exports are complete, portable, logical copy of a Database.

GCP Cloud SQL Backups are Service-managed (and hence aren't standalone).

Storage

Storage Option Service or Feature Type Interface Ephermeral Description Cost Performance
Local SSD Feature Local block storage VM Yes Very fast temporary storage for caching, scratch space, and transient processing. πŸ’²πŸ’² ⚑⚑⚑⚑
RAM / tmpfs Feature Memory-backed storage Local filesystem Yes Ultra-fast temporary filesystem storage backed by VM memory. πŸ’² ⚑⚑⚑⚑⚑
Persistent Disk Feature Block storage VM No Durable block storage for OS disks, databases, and applications that persists independently of the VM. πŸ’²πŸ’² ⚑⚑⚑
Hyperdisk Feature High-performance block storage VM No Configurable, high-performance block storage for demanding databases and analytics workloads. πŸ’²πŸ’²πŸ’² ⚑⚑⚑⚑
Boot Disk Feature Block storage VM No Persistent storage containing a VM's operating system and boot files, backed by Persistent Disk or Hyperdisk. πŸ’²πŸ’² ⚑⚑⚑
Hyperdisk Storage Pools Feature Block-storage capacity pool VM No Shared pools of Hyperdisk capacity that simplify storage provisioning across large VM fleets. πŸ’²πŸ’²πŸ’² ⚑⚑⚑⚑
Cloud Storage Service Object storage API / HTTP(S) No Managed object storage for backups, media, data lakes, and long-term archives. πŸ’² ⚑⚑⚑
Filestore Service Managed file storage NFS No Managed shared file storage for enterprise applications and workloads requiring NFS. πŸ’²πŸ’²πŸ’² ⚑⚑⚑
Managed Lustre Service Parallel file storage Lustre No Managed high-throughput parallel file storage designed for HPC, AI/ML, and scientific workloads. πŸ’²πŸ’²πŸ’² ⚑⚑⚑⚑⚑
NetApp Volumes Service Enterprise file storage NFS / SMB No Managed enterprise file storage for applications, file shares, and demanding database workloads. πŸ’²πŸ’²πŸ’² ⚑⚑⚑⚑
  1. https://www.skills.google/paths/11/course_templates/1403
  2. https://docs.cloud.google.com/alloydb/docs/overview
  3. https://cloud.google.com/database-migration

GCP: ACE Pub/Sub

Pub/Sub

export SUBSCRIPTION_NAME=my-subscription-name
gcloud pubsub subscriptions list
gcloud pubsub subscriptions describe $SUBSCRIPTION_NAME

## Pull messages from a pull-based subscription
gcloud pubsub subscriptions pull $SUBSCRIPTION_NAME --limit=5

## Acknowledge receipt
gcloud pubsub subscriptions ack $SUBSCRIPTION_NAME --ack-ids=ACK_ID
  1. https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler
  2. https://www.skills.google/paths/11/course_templates/1403
  3. https://docs.cloud.google.com/tasks

GCP: ACE AWS

Comparison with AWS

Observability Analytics is GCP’s recommended capability for running SQL queries directly against log data stored in GCP Cloud Logging.

Private Service Connect Endpoint

Private Google Access

Attached Service Accounts are attached directly to a Resource (like a VM) and are analogous to both an AWS Task Role and AWS Task Execution Role.

  1. https://docs.cloud.google.com/vpc/docs/private-service-connect
  2. https://docs.cloud.google.com/vpc/docs/private-services-access
  3. https://docs.cloud.google.com/vpc/docs/private-google-access
  4. https://www.skills.google/paths/11/course_templates/1403

GCP: PCA Overview

https://cloud.google.com/learn/certification/cloud-architect/

  1. https://www.skills.google/paths/12

GCP: PCA GKE

GKE

Problem Solution
Need more pods Horizontal Pod Autoscaler (HPA)
Need more nodes Cluster Autoscaler
Pods need different resource requests Vertical Pod Autoscaler (VPA)
Pods are Pending because the cluster lacks capacity Cluster Autoscaler

Recollect that Kubernetes Secrets are akin to Kubernetes Config Maps but are specifically intended to store Secrets.

Useful Google Cloud Shell Commands

Used in many Google Skill Labs and Challenges.

https://www.skills.google/paths/11/course_templates/663

https://www.skills.google/paths/12/course_templates/783

export PROJECT_ID="qwiklabs-gcp-01-00ab3bd88327"
export REGION="us-central1"
export ZONE="us-central1-a"

export CLUSTER_NAME="hello-world-uuyh"
export NAMESPACE_NAME="gmp-t3gp"
export REPO_NAME="demo-repo"
export SERVICE_NAME="helloweb-service-5t69"

export DEFAULT_CLUSTER_VER=$(gcloud container get-server-config)

## Create Cluster with specified settings
gcloud container clusters create $CLUSTER_NAME \
  --zone=$ZONE \
  --release-channel=regular \
  --cluster-version=$DEFAULT_CLUSTER_VER \
  --enable-autoscaling \
  --num-nodes 3 \
  --min-nodes 2 \
  --max-nodes 6

## This has to be run for credit
gcloud container clusters update $CLUSTER_NAME \
  --zone=$ZONE \
  --enable-managed-prometheus

## Create Namespace
kubectl create ns $NAMESPACE_NAME

## Download yaml
gcloud storage cp gs://spls/gsp510/prometheus-app.yaml .
### Edit
nano prometheus-app.yaml

## Deploy into the Namespace
kubectl -n $NAMESPACE_NAME apply -f prometheus-app.yaml

## Download yaml
gcloud storage cp gs://spls/gsp510/pod-monitoring.yaml .
### Edit
nano pod-monitoring.yaml
kubectl -n $NAMESPACE_NAME apply -f pod-monitoring.yaml

## Download yaml
gcloud storage cp -r gs://spls/gsp510/hello-app/ .
### Edit 
cd hello-app/manifests
nano helloweb-deployment.yaml
## Deploy
kubectl create -f helloweb-deployment.yaml

## Use this filter in 'Logs explorer'
### "Error: InvalidImageName" OR "Failed to apply default image tag \"<todo>\": couldn't parse image name \"<todo>\": invalid reference format"
### severity="WARNING"
### resource.type="k8s_pod"

## This was unnecessarily convoluted
### The lab says that the repo is already created, it isn't...
### I finally figured out that you have to create it like so
export REPO_NAME=demo-repo
gcloud auth configure-docker $REGION-docker.pkg.dev
gcloud artifacts repositories list
docker build -t $REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/hello-app:v2 .
gcloud artifacts repositories create $REPO_NAME \
    --repository-format=docker \
    --location=$REGION \
    --description="Docker repository for lab"
docker push $REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/hello-app:v2

## Expose the deployment through an external kubernetes loadbalancer
kubectl expose deployment helloweb --name=helloweb-service-5t69 --type=LoadBalancer --port=8080 --target-port=8080

https://docs.cloud.google.com/sdk/gcloud/reference/container/clusters/create

export REGION=europe-west1
export ZONE=europe-west1-c
export PROJECT=qwiklabs-gcp-01-8dd3c7a798ca

gcloud config set compute/region $REGION
gcloud config set compute/zone $ZONE

source <(gcloud storage cat gs://spls/gsp318/script.sh)
gcloud storage cp gs://spls/gsp318/valkyrie-app.tgz .
tar -xzf valkyrie-app.tgz
cd valkyrie-app
touch Dockerfile
nano Dockerfile
## FROM golang:1.10
## WORKDIR /go/src/app
## COPY source .
## RUN go install -v
## ENTRYPOINT ["app","-single=true","-port=8080"]
cat Dockerfile

docker build -t valkyrie-dev:v0.0.1 .
docker images
# Find ImageID
## export IMAGEID=
docker run -p 8080:8080 $IMAGEID &
docker ps -a

gcloud auth configure-docker $REGION-docker.pkg.dev
docker images
# Retag
export REPONAME=valkyrie-repo
## Use this exact name going forward
export IMAGEID=valkyrie-dev:v0.0.1
docker tag valkyrie-dev:v0.0.1 $REGION-docker.pkg.dev/$PROJECT/$REPONAME/$IMAGEID
gcloud artifacts repositories create $REPONAME \
    --repository-format=docker \
    --location=$REGION \
    --description="Docker repository for lab"
## Verify
docker images
## Push
docker push $REGION-docker.pkg.dev/$PROJECT/$REPONAME/$IMAGEID

# Deployment and Expose 80
## Replace with the above
## e.g. - europe-west1-docker.pkg.dev/qwiklabs-gcp-01-8dd3c7a798ca/valkyrie-repo/valkyrie-dev:v0.0.1
nano k8s/deployment.yaml
cat k8s/deployment.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl expose deployment valkyrie-dev --name=valkyrie-dev --type=LoadBalancer --port=80 --target-port=80

# Info
kubectl get pods
gcloud compute instances list
kubectl get services
## Find CONTAINERID
export CONTAINERID=
docker logs $CONTAINERID
  1. https://www.skills.google/paths/12
  2. https://www.skills.google/paths/11/course_templates/663
  3. https://www.skills.google/paths/12/course_templates/783
  4. https://docs.cloud.google.com/sdk/gcloud/reference/container/clusters/create

GCP: PCA Terraform

Useful Google Cloud Shell Commands

Used in many Google Skill Labs and Challenges.

https://www.skills.google/paths/12/course_templates/636/labs

This lab uses "Modules" that are actually "Resource" definitions. This was confusing to me.

You have to install tf in the outer shell (not from within the Open Editor).

Create necessary files:

terraform --version
export REGION=europe-west1
export ZONE=europe-west1-d
export PROJECT=qwiklabs-gcp-02-1ec38e8c48e3

touch main.tf
touch variables.tf

mkdir modules && mkdir modules/instances
touch modules/instances/instances.tf
touch modules/instances/outputs.tf
touch modules/instances/variables.tf

mkdir modules/storage
touch modules/storage/storage.tf
touch modules/storage/outputs.tf
touch modules/storage/variables.tf

Create root variables.tf:

cat << EOF > variables.tf
variable "region" {
  type        = string
  default     = "$REGION"
}
variable "zone" {
  type        = string
  default     = "$ZONE"
}
variable "project_id" {
  type        = string
  default     = "$PROJECT"
}
EOF

Prepare instances.tf:

cat << EOF > modules/instances/instances.tf
resource "google_compute_instance" "tfinstance1" {
  name         = "tf-instance-1"
  machine_type = "e2-micro"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "default"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}

resource "google_compute_instance" "tfinstance2" {
  name         = "tf-instance-2"
  machine_type = "e2-micro"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "default"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}
EOF

Prep main.tf:

cat << EOF > main.tf
provider "google" {
  project = var.project_id
  region  = var.region
  zone    = var.zone
}

module "instances" {
  source = "./modules/instances"
}
EOF

So one can import by the instance name: tf-instance-1 rather than the id:

terraform init
terraform fmt
terraform import 'module.instances.google_compute_instance.tfinstance1' projects/$PROJECT/zones/$ZONE/instances/tf-instance-1
terraform import 'module.instances.google_compute_instance.tfinstance2' projects/$PROJECT/zones/$ZONE/instances/tf-instance-2
terraform show
terraform plan
terraform apply --auto-approve
export BUCKET=tf-bucket-963122
cat << EOF > modules/storage/storage.tf
resource "google_storage_bucket" "storage-bucket" {
  name          = "$BUCKET"
  location      = "US"
  force_destroy = true
  uniform_bucket_level_access = true
}
EOF

Prep main.tf:

cat << EOF > main.tf
provider "google" {
  project = var.project_id
  region  = var.region
  zone    = var.zone
}

module "instances" {
  source = "./modules/instances"
}

module "storage" {
  source = "./modules/storage"
}
EOF
terraform fmt
terraform init
terraform apply --auto-approve

The Bucket must be created in GCP before switching backends over:

cat << EOF > main.tf
terraform {
  backend "gcs" {
    bucket  = "$BUCKET"
    prefix  = "terraform/state"
  }
}
provider "google" {
  project = var.project_id
  region  = var.region
  zone    = var.zone
}

module "instances" {
  source = "./modules/instances"
}

module "storage" {
  source = "./modules/storage"
}
EOF
terraform init -migrate-state

Update instances.tf with the correct tfinstance3.name:

cat << EOF > modules/instances/instances.tf
resource "google_compute_instance" "tfinstance1" {
  name         = "tf-instance-1"
  machine_type = "e2-standard-2"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "default"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}

resource "google_compute_instance" "tfinstance2" {
  name         = "tf-instance-2"
  machine_type = "e2-standard-2"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "default"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}

resource "google_compute_instance" "tfinstance3" {
  name         = "tf-instance-230370"
  machine_type = "e2-standard-2"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "default"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}
EOF
terraform apply

Update instances.tf:

cat << EOF > modules/instances/instances.tf
resource "google_compute_instance" "tfinstance1" {
  name         = "tf-instance-1"
  machine_type = "e2-standard-2"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "default"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}

resource "google_compute_instance" "tfinstance2" {
  name         = "tf-instance-2"
  machine_type = "e2-standard-2"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "default"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}
EOF
terraform apply
export VPC=tf-vpc-803543

Update main.tf with the correct network_name:

cat << EOF > main.tf
terraform {
  backend "gcs" {
    bucket  = "$BUCKET"
    prefix  = "terraform/state"
  }
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "~> 7.46.0"
    }
  }
}
provider "google" {
  project = var.project_id
  region  = var.region
  zone    = var.zone
}

module "instances" {
  source = "./modules/instances"
}

module "storage" {
  source = "./modules/storage"
}

module "vpc" {
    source  = "terraform-google-modules/network/google"
    version = "~> 18.2"

    project_id   = "$PROJECT"
    network_name = "$VPC"
    routing_mode = "GLOBAL"

    subnets = [
        {
            subnet_name           = "subnet-01"
            subnet_ip             = "10.10.10.0/24"
            subnet_region         = "$REGION"
        },
        {
            subnet_name           = "subnet-02"
            subnet_ip             = "10.10.20.0/24"
            subnet_region         = "$REGION"
        },
    ]
}
EOF

Note that the exact combination: ~> 18.2 and ~> 7.46.0 were required to finish the lab (the lab itself states that one must use 10.0.0). Otherwise, Provider and version errors will prevent the creation of required resources.

Also note that the lab seemingly requires creating the vpc in two places you will see an error that the Resource already exists but this can be ignored.

To be clearer it requires the student to create the vpc Module in main.tf before referring to it within instances.tf - instances.tf, however, is already referenced by main.tf so it has to be added to instances.tf - this strange convention is apparently what others have done to complete the challenge as well.

rm .terraform.lock.hcl
terraform init
terraform apply

Update instances.tf:

cat << EOF > modules/instances/instances.tf
resource "google_compute_instance" "tfinstance1" {
  name         = "tf-instance-1"
  machine_type = "e2-standard-2"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "$VPC"
    subnetwork = "subnet-01"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}

resource "google_compute_instance" "tfinstance2" {
  name         = "tf-instance-2"
  machine_type = "e2-standard-2"
  zone         = "$ZONE"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-12"
    }
  }
  network_interface {
    network = "$VPC"
    subnetwork = "subnet-02"
  }
  metadata_startup_script = <<-EOT
        #!/bin/bash
    EOT
  allow_stopping_for_update = true
}

module "vpc" {
    source  = "terraform-google-modules/network/google"
    version = "~> 18.2"

    project_id   = "$PROJECT"
    network_name = "$VPC"
    routing_mode = "GLOBAL"

    subnets = [
        {
            subnet_name           = "subnet-01"
            subnet_ip             = "10.10.10.0/24"
            subnet_region         = "$REGION"
        },
        {
            subnet_name           = "subnet-02"
            subnet_ip             = "10.10.20.0/24"
            subnet_region         = "$REGION"
        },
    ]
}
EOF
terraform apply

Update main.tf one last time updating the tf-firewall.name:

cat << EOF > main.tf
terraform {
  backend "gcs" {
    bucket  = "$BUCKET"
    prefix  = "terraform/state"
  }
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "~> 7.46.0"
    }
  }
}
provider "google" {
  project = var.project_id
  region  = var.region
  zone    = var.zone
}

module "instances" {
  source = "./modules/instances"
}

module "storage" {
  source = "./modules/storage"
}

module "vpc" {
    source  = "terraform-google-modules/network/google"
    version = "~> 18.2"

    project_id   = "$PROJECT"
    network_name = "$VPC"
    routing_mode = "GLOBAL"

    subnets = [
        {
            subnet_name           = "subnet-01"
            subnet_ip             = "10.10.10.0/24"
            subnet_region         = "$REGION"
        },
        {
            subnet_name           = "subnet-02"
            subnet_ip             = "10.10.20.0/24"
            subnet_region         = "$REGION"
        },
    ]
}

resource "google_compute_firewall" "tf-firewall"{
  name    = "tf-firewall"
  network = "projects/$PROJECT/global/networks/$VPC"

  allow {
    protocol = "tcp"
    ports    = ["80"]
  }

  source_tags = ["web"]
  source_ranges = ["0.0.0.0/0"]
}
EOF
terraform apply
  1. https://www.skills.google/paths/12/course_templates/636/labs
  2. https://registry.terraform.io/providers/hashicorp/google/latest/docs
  3. https://github.com/tariqsheikhsw/GoogleCloudArchitectLabs/blob/main/Solutions/GSP345.sh <- this was helpful to prep for the PCA

GCP: PCA Serverless

Useful Google Cloud Shell Commands

Used in many Google Skill Labs and Challenges.

https://www.cloudskillsboost.google/course_templates/741

export REGION=us-west1
export REPO_NAME=lab
export PROJECT_ID=qwiklabs-gcp-02-4304b07c61f7

gcloud artifacts repositories create $REPO_NAME \
    --repository-format=docker \
    --location=$REGION \
    --description="Docker repository for lab"
gcloud auth configure-docker $REGION-docker.pkg.dev
gcloud artifacts repositories list

# Backend
export IMAGE=$REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/billing-staging-api:0.1
## From within the relevant lab directory...
docker build -t $IMAGE .
docker push $IMAGE
gcloud run deploy public-billing-service-607 \
  --image $IMAGE \
  --platform managed \
  --region $REGION \
  --max-instances=1

# Frontend
export IMAGE=$REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/frontend-staging:0.1
## From within the relevant lab directory...
docker build -t $IMAGE .
docker push $IMAGE
gcloud run deploy frontend-staging-service-740 \
  --image $IMAGE \
  --platform managed \
  --region $REGION \
  --max-instances=1

# Private
export IMAGE=$REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/billing-staging-api:0.2
## From within the relevant lab directory...
docker build -t $IMAGE .
docker push $IMAGE
gcloud run deploy private-billing-service-875 \
  --image $IMAGE \
  --platform managed \
  --region $REGION \
  --no-allow-unauthenticated \
  --max-instances=1
BILLING_URL=$(gcloud run services describe private-billing-service-875 \
--platform managed \
--region us-west1 \
--format "value(status.url)")
curl -X get -H "Authorization: Bearer $(gcloud auth print-identity-token)" $BILLING_URL

# Billing Service Account
gcloud iam service-accounts create billing-service-sa-101 --display-name "Billing Service Cloud Run"

# Associate Service Account
## And deploy Prod Billing Service
export IMAGE=$REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/billing-prod-api:0.1
docker build -t $IMAGE .
docker push $IMAGE
gcloud run deploy billing-prod-service-460 \
  --image $IMAGE \
  --platform managed \
  --region $REGION \
  --no-allow-unauthenticated \
  --max-instances=1

gcloud run services add-iam-policy-binding billing-prod-service-460 --member=serviceAccount:billing-service-sa-101@$PROJECT_ID.iam.gserviceaccount.com --role=roles/run.invoker --region $REGION

# Frontend Service Account
gcloud iam service-accounts create frontend-service-sa-119 --display-name "Billing Service Cloud Run Invoker"

## These steps were out of order in the lab
# Associate Service Account
## And deploy Prod Frontend Service
export IMAGE=$REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/frontend-prod:0.1
## From within the relevant lab directory...
docker build -t $IMAGE .
docker push $IMAGE
gcloud run deploy frontend-prod-service-711 \
  --image $IMAGE \
  --platform managed \
  --region $REGION \
  --no-allow-unauthenticated \
  --max-instances=1

gcloud run services add-iam-policy-binding frontend-prod-service-711 --member=serviceAccount:frontend-service-sa-119@$PROJECT_ID.iam.gserviceaccount.com --role=roles/run.invoker --region $REGION
  1. https://www.cloudskillsboost.google/course_templates/741

GCP: PMLE Overview

https://cloud.google.com/learn/certification/machine-learning-engineer

ChatGPT helped format and generate many tables below.

Verbiage

BigQuery ML

https://www.skills.google/paths/17/course_templates/627

SELECT
  pickup_datetime,
  pickup_longitude,
  pickup_latitude,
  dropoff_longitude,
  dropoff_latitude,
  passenger_count,
  tolls_amount,
  fare_amount AS fare_amount_910
FROM `qwiklabs-gcp-04-7085cf65a05f.taxirides.historical_taxi_rides_raw` 

# Must use reasonable values
WHERE trip_distance > 0
  AND fare_amount BETWEEN 0 and 3
  AND pickup_longitude BETWEEN -180 AND 180
  AND pickup_latitude BETWEEN -90 AND 90
  AND dropoff_longitude BETWEEN -180 AND 180
  AND dropoff_latitude BETWEEN -90 AND 90
  
LIMIT 999999
CREATE OR REPLACE MODEL `taxirides.fare_model_243`
OPTIONS
(
  model_type='linear_reg',
  input_label_cols = ['fare_amount_910']
) AS

# input_label_cols must be exposed in SELECT
# too many features with throw a label error!
SELECT
  fare_amount_910,
  passenger_count, 
  ST_Distance(ST_GeogPoint(pickup_longitude, pickup_latitude), ST_GeogPoint(dropoff_longitude, dropoff_latitude)) AS euclidean
FROM
  `qwiklabs-gcp-04-7085cf65a05f.taxirides.taxi_training_data_195`;
CREATE OR REPLACE MODEL `qwiklabs-gcp-04-7085cf65a05f`.`taxirides`.`fare_model_243` 
OPTIONS ( 
    model_type = 'LINEAR_REG',
    labels = ['fare_amount_910']
) AS SELECT
  pickup_datetime,
  pickup_longitude,
  pickup_latitude,
  dropoff_longitude,
  dropoff_latitude,
  passenger_count,
  tolls_amount,
  fare_amount_910
FROM
  `qwiklabs-gcp-04-7085cf65a05f`.`taxirides`.`taxi_training_data_195`;

CREATE OR REPLACE TABLE `qwiklabs-gcp-04-7085cf65a05f`.`taxirides`.`2015_fare_amount_predictions` 

AS SELECT *
FROM
  ML.PREDICT( MODEL `qwiklabs-gcp-04-7085cf65a05f`.`taxirides`.`fare_model_243`,
    (SELECT
      pickup_datetime,
      pickuplon AS pickup_longitude,
      pickuplat AS pickup_latitude,
      dropofflon AS dropoff_longitude,
      dropofflat AS dropoff_latitude,
      passengers AS passenger_count,
      0.0 AS tolls_amount /* Assuming tolls_amount is 0 for prediction data if not available */
    FROM
      `qwiklabs-gcp-04-7085cf65a05f`.`taxirides`.`report_prediction_data`
    WHERE
      EXTRACT(YEAR
      FROM
        pickup_datetime) = 2015 ));
  1. https://www.skills.google/paths/17
  2. https://www.skills.google/paths/17/course_templates/627

GCP: PMLE Solutions

AI and ML Solutions on GCP

AI Solutions

Name Type Service Family AI Task Description Use Scenario Documentation
Anti Money Laundering AI (AML AI)ServiceFinancial Crime AIAnomaly detection; risk scoring; financial crime detectionEnhances transaction monitoring with AI-powered risk scores.A bank prioritizes suspicious transactions for investigation.URL
Gemini Enterprise for Customer Experience (GECX)ServiceCustomer Experience AIConversational AI; customer service automationSuite for building and managing AI agents across the customer lifecycle.A retailer automates customer interactions from product discovery to post-purchase support.URL
CX Agent StudioFeatureGECXAgent development; evaluation; deployment; monitoringVisual platform for building and managing multimodal conversational agents in multiple languages.A support team creates, tests, and monitors a multilingual virtual agent.URL
Conversational AgentsFeatureGECXConversational AI; voice and text automationSelf-service agents supporting voice, text, and images.Customers ask questions or complete service requests without a human representative.URL
Flows (formerly Dialogflow CX)FeatureGECX β€” Conversational AgentsIntent classification; NLU; deterministic dialogue managementUses intents and defined flows to control conversations predictably.A customer follows a fixed troubleshooting or appointment-booking workflow.URL
PlaybooksFeatureGECX β€” Conversational AgentsGenerative dialogue; instruction following; agent orchestrationBuilds generative agents using natural-language instructions and modular components.An agent answers varied questions and invokes appropriate workflow steps.URL
Agent AssistFeatureGECXReal-time agent assistance; summarization; recommendationSupports human representatives with live coaching and automated call summaries.A contact center suggests responses during calls and drafts post-call notes.URL
CX InsightsFeatureGECXConversation analytics; classification; quality analysisAnalyzes conversations to uncover customer issues, coaching needs, and improvement opportunities.A contact center identifies recurring complaints across thousands of calls.URL
Contact Center as a Service (CCaaS)ServiceGECXOmnichannel contact-center operations; AI integrationCloud-native contact-center foundation integrating customer experience capabilities.A company manages customer support across voice and digital channels.URL
Food Ordering AI AgentServiceGECX β€” Industry AI AgentsVoice recognition; conversational ordering; speech synthesis; analyticsPrebuilt food-ordering agent using Gemini and speech technologies, with BigQuery and Looker integration.A restaurant automates drive-through orders and analyzes operational trends.URL
Automotive AI AgentServiceAutomotive AIVoice interaction; conversational assistance; on-device AIHybrid on-asset and online framework for automotive voice experiences.An automaker deploys voice assistance in a vehicle or automotive device.URL
Automotive AI Agent APIServiceAutomotive AIVoice-agent integration; agent lifecycle managementAPI for creating, managing, and deploying automotive voice agents, including supported pretrained agents.A developer integrates an automotive voice assistant into an application.URL
Automotive AI Agent Premium SoftwareFeatureAutomotive AIAutomotive conversational AI; voice-agent functionalityPremium software components associated with the Automotive AI Agent solution.An automotive product uses supported premium components to deliver voice-agent functionality.URL
Document AIServiceDocument AIOCR; document classification; information extraction; document splittingProvides document-processing models and tools, including pretrained and custom models.A financial institution extracts fields from forms, invoices, and identity documents.URL
Talent SolutionServiceTalent AICandidate matching; recruitment search; talent recommendationsApplies Google's machine learning to improve recruitment experiences on hiring platforms.A job board improves candidate-to-job matching.URL
Translation HubServiceTranslationDocument translation; multilingual content processingManaged document-translation solution for organizations.A global company translates internal documents into multiple languages.URL
Agent Search on Gemini Enterprise Agent Platform (formerly Vertex AI Search)ServiceGemini Enterprise Agent Platform β€” SearchSemantic search; retrieval; question answering; recommendationsCombines foundation models with search and recommendation technology for multimodal experiences.Employees search enterprise documents using natural-language questions.URL
Agent Search for Industry on Gemini Enterprise Agent PlatformServiceGemini Enterprise Agent Platform β€” Industry SearchVertical search; semantic retrieval; recommendationsSearch and recommendation capabilities tailored to industries such as retail and media.A media platform improves discovery of relevant content.URL
AI Commerce Search on Gemini Enterprise for Customer ExperienceServiceGECX β€” Commerce AIProduct search; ranking; product discoveryUses Google's retail search capabilities in retailer websites and applications.An online store returns relevant products for a customer's query.URL
Recommendations AIServiceGECX β€” Commerce AIPersonalization; recommendation rankingEnables personalized recommendation systems using machine-learning models.An ecommerce site recommends products based on user behavior and context.URL
Agent Search API on Gemini Enterprise Agent PlatformServiceGemini Enterprise Agent Platform β€” SearchSearch; retrieval; question answeringAPI for integrating Google's search capabilities into websites and document experiences.A company adds semantic search across its help center and documentation.URL

Pre-Trained APIs

Name Type Service Family AI Task Description Use Scenario Documentation
Cloud Natural Language APIServiceGoogle Cloud Pre-Trained APIsEntity extraction; sentiment analysis; language and syntax analysisAnalyzes text to identify entities, sentiment, language, and syntax.A company analyzes customer reviews to extract product names and sentiment.URL
Cloud Translation APIServiceGoogle Cloud Pre-Trained APIsText translation; multilingual processingTranslates text between languages using pretrained and custom translation models.An application translates user-generated content into a reader's language.URL
Cloud Vision APIServiceGoogle Cloud Pre-Trained APIsImage classification; object and face detection; OCRProvides pretrained visual detection and image-analysis capabilities.An application detects objects in images or reads text from scanned receipts.URL
Speech-to-TextServiceGoogle Cloud Pre-Trained APIsAutomatic speech recognition (ASR)Converts audio into text using machine-learning models.A call-recording pipeline transcribes conversations for analysis.URL
Text-to-SpeechServiceGoogle Cloud Pre-Trained APIsSpeech synthesis; text-to-audio generationGenerates human-like spoken audio from text in different voices and languages.An application reads notifications aloud or provides spoken navigation.URL
Timeseries Insights APIServiceGoogle Cloud Pre-Trained APIsTime-series anomaly detection; forecasting and trend analysisSupports large-scale time-series analysis and real-time anomaly detection.An operations team detects unusual changes in service metrics or business activity.URL
Video Intelligence APIServiceGoogle Cloud Pre-Trained APIsVideo analysis; entity detection; metadata extractionAnalyzes video to extract metadata, annotations, and detected entities.A media organization searches video archives for particular objects or scenes.URL

Gemini Enterprise Agent Platform

Name Type Service Family AI Task Description Use Scenario Documentation
Gemini Enterprise Agent Platform (formerly Vertex AI Platform)ServiceGemini Enterprise Agent PlatformML lifecycle management; model training; deployment; evaluation; governancePlatform for building, deploying, scaling, and governing AI agents and ML models, with datasets, pipelines, experiments, model serving, and notebooks.A team trains a custom model, evaluates it, deploys an endpoint, and manages its lifecycle.URL
Neural Architecture Search (NAS) on Gemini Enterprise Agent PlatformServiceGemini Enterprise Agent PlatformNeural architecture search; model optimizationUses neural architecture search technology to generate, evaluate, and train candidate model architectures.A team searches for a suitable neural-network architecture for a computer-vision task.URL
Gemini Enterprise Agent Platform Vision (formerly Vertex AI Vision)ServiceGemini Enterprise Agent PlatformComputer vision; visual stream processingManaged environment for developing, deploying, and managing computer-vision applications.A manufacturer builds a visual inspection pipeline to identify defects on a production line.URL

GAN

Name Type Service Family AI Task Description Use Scenario Documentation
Gemini for Google CloudServiceGemini for Google CloudGenerative assistance; code and cloud workflow supportEmbeds AI-powered assistance in Google Cloud products for developers, data scientists, and operators.A cloud engineer asks for help understanding a configuration or troubleshooting a deployment.URL
Gemini Code AssistFeatureGemini for Google CloudCode generation; code explanation; debugging; development assistanceProvides AI assistance throughout application development and operations.A developer generates unit tests, explains unfamiliar code, or investigates a bug.URL
Gemini in BigQueryFeatureGemini for Google CloudSQL generation; data exploration; data engineering assistanceHelps users understand, query, and work with data across the data lifecycle.An analyst generates SQL from a natural-language question about a dataset.URL
Generative AI on Gemini Enterprise Agent Platform (formerly Generative AI on Vertex AI)ServiceGemini Enterprise Agent Platform β€” Generative AIFoundation-model access; generative application development; agent buildingEnables production generative AI applications and agents using Google's models and infrastructure.A team builds a grounded enterprise assistant or a generative content workflow.URL
Gemini Enterprise Agent Platform API (formerly Vertex AI API)ServiceGemini Enterprise Agent Platform β€” Generative AIFoundation-model inference; text and multimodal generationAPI access to generative AI foundation models.An application sends a prompt to a model and uses the generated response.URL
Gemini Live API on Gemini Enterprise Agent PlatformServiceGemini Enterprise Agent Platform β€” Generative AIReal-time multimodal interaction; streaming voice and videoSupports low-latency, bidirectional voice and video conversations with Gemini.A live assistant responds conversationally to a user's speech and visual input.URL
Grounding with Google SearchFeatureGemini Enterprise Agent Platform β€” GroundingWeb retrieval; factual grounding; source-informed generationGrounds Gemini responses in information retrieved from Google Search.An assistant answers questions about recent events using current web information.URL
Web Grounding for EnterpriseFeatureGemini Enterprise Agent Platform β€” GroundingEnterprise web grounding; retrieval-augmented generationProvides web-grounding capability for Gemini models in enterprise contexts.An enterprise application grounds generated answers in relevant web information.URL
Grounding with Google MapsFeatureGemini Enterprise Agent Platform β€” GroundingGeospatial retrieval; place-based question answeringConnects Gemini models with geospatial information from Google Maps.A travel assistant answers questions about nearby places and location-based options.URL
Embeddings APIServiceGemini Enterprise Agent Platform β€” EmbeddingsVector embeddings; semantic similarity; multimodal retrievalGenerates vector embeddings for text, images, video, and audio to support semantic search, classification, and retrieval workflows.A knowledge system finds documents semantically related to a user's question.URL
NotebookLM EnterpriseServiceNotebookLM EnterpriseDocument-grounded summarization; information extraction; question answeringUses generative AI to summarize and extract information from user-provided data.An employee asks questions across a collection of reports and receives source-grounded summaries.URL

Agentic

Name Type Service Family AI Task Description Use Scenario Documentation
Gemini EnterpriseServiceGemini EnterpriseEnterprise search; agent orchestration; workflow automation; generative AICombines AI agents, Gemini models, and Google search technologies to connect enterprise data and applications and automate employee workflows.An employee searches internal knowledge sources and uses an agent to complete a multistep business workflow.URL
Computer UseServiceAgentic AIVisual UI understanding; browser and operating-system interaction; action executionEnables agents to interact with computer browsers, operating systems, or mobile devices based on visual screen input.An agent navigates a website and completes a permitted workflow through its user interface.URL
Firebase AI LogicServiceFirebase AI LogicApplication-integrated generative AI; model inference; multimodal AIProvides a proxy service, client SDKs, and related capabilities for adding generative AI to web and mobile applications, with configurable model providers and models.A mobile application adds a conversational assistant or image-understanding feature.URL
  1. https://cloud.google.com/terms/services?hl=en

GCP: PMLE Challenges

Common AI Challenges

AI Challenge PMLE Example Prompt / Question Description Recommendation Related GCP Services Remedy Type Documentation URL
Data imbalance (class imbalance) A fraud model misses most fraudulent transactions because positive examples are rare. How can minority-class detection improve? Unequal representation of target classes can impair minority-class performance. Apply class weighting, resampling, threshold tuning and suitable metrics such as recall and PR-AUC. Vertex AI Training, BigQuery ML, Vertex AI Model Evaluation Methodological Model evaluation
Data drift (feature drift) Production feature distributions change significantly from the training baseline. How can this be detected? Input distributions change over time or differ from a reference dataset. Configure supported skew/drift monitoring, investigate changes and validate model performance before retraining. Vertex AI Model Monitoring, BigQuery GCP Feature/Service, Methodological Model Monitoring
Concept drift Accuracy declines although feature distributions remain stable. What should you investigate? The relationship between features and the target changes over time. Evaluate against newly labeled outcomes; investigate changing relationships and retrain or recalibrate if justified. Vertex AI Model Monitoring, BigQuery, Vertex AI Pipelines GCP Feature/Service, Methodological ML best practices
Training-serving skew Offline evaluation is strong, but production predictions are poor because transformations differ. How should this be addressed? Training and serving data or preprocessing differ. Standardize feature transformations and monitor training-serving distributions. Vertex AI Model Monitoring, BigQuery, Dataflow GCP Feature/Service, Methodological Model Monitoring
Data leakage A feature records an event that happens after the outcome being predicted. What should change? Training uses information unavailable at prediction time, inflating evaluation results. Remove leakage-prone features, use time-aware splits and fit preprocessing only on training data. BigQuery, Vertex AI Pipelines Methodological ML best practices
Sampling bias / selection bias A model performs well in one region but poorly in another. What data issue might explain this? Training data does not adequately represent the target population. Improve sampling coverage and assess subgroup and population differences. BigQuery, Vertex AI, Vertex AI Model Evaluation Methodological Responsible AI
Overfitting Training accuracy is high while validation accuracy is low. Which techniques improve generalization? The model learns training-specific patterns that do not generalize. Use regularization, early stopping, appropriate validation splits and representative test data. Vertex AI Training, Vertex AI Experiments, BigQuery ML Methodological Vertex AI
Underfitting Both training and validation performance are poor. What should you investigate? The model has insufficient capacity, inadequate training or ineffective features. Improve features, increase capacity where appropriate and tune hyperparameters. Vertex AI Training, Vertex AI Experiments, BigQuery ML Methodological Vertex AI
Vanishing gradients Early layers of a deep network learn very slowly. What training problem could explain this? Gradients become extremely small during backpropagation. Consider residual connections, suitable activations, normalization, initialization and learning-rate tuning. Vertex AI Custom Training, Vertex AI TensorBoard Methodological Custom training
Catastrophic forgetting Fine-tuning improves a domain task but degrades previously learned capabilities. How can this be mitigated? New training degrades previously learned capabilities. Evaluate old and new tasks; consider replay data, parameter-efficient tuning or multi-task training. Vertex AI supervised tuning, Vertex AI Model Evaluation GCP Feature/Service, Methodological Tune foundation models
Context loss / limited context window An LLM misses important details in a lengthy document. How can this improve? Relevant information may exceed the context window or be poorly utilized. Retrieve relevant passages, summarize history, manage token limits and cache repeated content when appropriate. Gemini on Vertex AI, Vertex AI RAG Engine GCP Feature/Service, Methodological Context caching
Hallucinations / factuality errors A chatbot invents policy details. How can unsupported answers be reduced? A model produces plausible but incorrect or unsupported claims. Ground answers in trusted sources, evaluate factuality and abstain when evidence is insufficient. Gemini on Vertex AI, Vertex AI RAG Engine, Vertex AI Search GCP Feature/Service, Methodological Grounding overview
Knowledge cutoff / stale knowledge A model cannot accurately answer questions about a policy published yesterday. What should be used? Learned model knowledge may not include current information. Retrieve current information at inference time from authoritative sources. Gemini on Vertex AI, Grounding with Google Search, Vertex AI Search GCP Feature/Service, Methodological Grounding with Google Search
Irrelevant responses / poor relevance RAG retrieves documents related to the topic but not to the actual question. How can retrieval improve? Responses or retrieved passages fail to address the user's intent. Improve query formulation, chunking, metadata filters, embeddings and ranking; evaluate retrieval separately from generation. Vertex AI RAG Engine, Vertex AI Search, Vertex AI embeddings GCP Feature/Service, Methodological Grounding with search APIs
Low accuracy / poor predictive performance A team needs to determine whether a candidate model is production-ready. What should it evaluate? The model fails to meet required performance for its task. Choose appropriate metrics, use representative evaluation data, compare baselines and validate before deployment. Vertex AI Model Evaluation, Gen AI evaluation, BigQuery ML GCP Feature/Service, Methodological Model evaluation
Memorization and parroting ("parrot effect") How can you test whether an LLM generalizes rather than reproduces familiar training examples? The model reproduces memorized content or familiar patterns without reliably handling novel cases. Test novel and counterfactual examples, assess memorization risks and measure generalization. Gemini on Vertex AI, Gen AI evaluation, Vertex AI tuning Methodological Generative AI evaluation
Prompt sensitivity / prompt degradation A minor prompt edit causes response quality to deteriorate. How should changes be evaluated? Prompt changes can cause inconsistent or lower-quality outputs. Clarify instructions and output constraints; run repeatable regression evaluations. Vertex AI Studio, Gemini on Vertex AI, Gen AI evaluation GCP Feature/Service, Methodological Prompt design strategies
Adversarial attacks / prompt injection An agent follows malicious instructions embedded in a retrieved document. How should it be secured? Malicious inputs or retrieved content manipulate model behavior or attempt to bypass safeguards. Treat retrieved content as untrusted, enforce permissions outside the model, validate tool calls and screen prompts and responses. Model Armor, Gemini on Vertex AI, IAM, VPC Service Controls GCP Feature/Service, Methodological Model Armor
Model bias / unfairness A model has different error rates across demographic groups. How should fairness be assessed? Data or model behavior systematically disadvantages certain groups. Audit subgroup metrics, review representation and apply appropriate mitigation and human oversight. Vertex AI Model Evaluation, Vertex Explainable AI, BigQuery GCP Feature/Service, Methodological Responsible AI
Limited interpretability / black-box behavior A regulated organization needs explanations for individual predictions. Which capability should it consider? Complex models can be difficult to explain or audit. Use supported feature-attribution methods, document limitations and retain audit records. Vertex Explainable AI, Vertex AI Model Monitoring GCP Feature/Service, Methodological Vertex Explainable AI
Insufficient or low-quality training data Inconsistent labels cause poor performance. How can the data pipeline catch these problems? Missing values, mislabeled examples, duplicates and noise reduce model quality. Profile data, validate schemas, audit labels and automate quality checks. BigQuery, Dataflow, Vertex AI, TensorFlow Data Validation GCP Feature/Service, Methodological ML best practices
Retrieval failure / poor RAG grounding A RAG chatbot returns outdated information despite using retrieval. What should be investigated? Retrieval misses relevant sources, selects stale documents or supplies insufficient evidence. Check document freshness, retrieval recall, ranking, chunking and metadata. Vertex AI RAG Engine, Vertex AI Search, Vertex AI embeddings GCP Feature/Service, Methodological RAG Engine
Unsafe or toxic output (content filter) How can harmful responses be reduced while accounting for false positives from stricter safety thresholds? Generated responses may contain harmful, abusive or disallowed content. Configure appropriate Gemini safety filters; use Model Armor for supported prompt/response screening and evaluate false positives and false negatives. Gemini on Vertex AI, Model Armor GCP Feature/Service, Methodological Safety filters; Model Armor
Sensitive data exposure / privacy leakage A chatbot must prevent users from retrieving another department's confidential documents. How should access be enforced? Prompts, logs, retrieved documents or outputs expose confidential or personal information. Enforce authorization in the application and retrieval layers, apply least-privilege IAM, minimize sensitive data and redact where appropriate. IAM, Sensitive Data Protection, Model Armor, VPC Service Controls GCP Feature/Service, Methodological Generative AI security controls
Model serving latency, throughput or availability Prediction latency spikes during traffic surges. Which serving and monitoring strategies should be applied? Inference is too slow, exceeds resource limits or becomes unavailable under load. Load-test, configure scaling, optimize requests and monitor latency and errors. Vertex AI endpoints, Cloud Monitoring, Cloud Logging GCP Feature/Service, Methodological Deploy models
Model versioning and reproducibility A team must reproduce a prior release and identify its training data and parameters. Which services help? Models, datasets, parameters and pipelines cannot be reliably traced or reproduced. Version model artifacts, track lineage and experiments, and retain evaluation results before release. Vertex AI Model Registry, Vertex AI Experiments, Vertex AI Pipelines, Vertex ML Metadata GCP Feature/Service, Methodological MLOps on Vertex AI
  1. https://docs.cloud.google.com/architecture/ml-on-gcp-best-practices
  2. https://docs.cloud.google.com/architecture/guidelines-for-developing-high-quality-ml-solutions

GCP: PMLE Architecture

Machine Learning

Neural Network Architecture

Name Type Topic AI Task Description Use Scenario PMLE In-Scope
Artificial Neural Network (ANN)ArchitectureDeep LearningNonlinear prediction; classification; regressionNetwork of interconnected computational units that learn patterns from data.Predict customer churn from structured customer attributes.βœ“
Convolutional Neural Network (CNN)ArchitectureComputer VisionImage classification; spatial feature extractionUses convolutional filters to learn local spatial patterns, often in images.Classify product images or detect defects in manufacturing images.βœ“
Recurrent Neural Network (RNN)ArchitectureSequence ModelingSequential prediction; temporal pattern learningProcesses sequences using recurrent hidden states that carry information across time steps.Model sensor readings or sequences of events.βœ“
Long Short-Term Memory (LSTM)ArchitectureSequence ModelingLong-range sequence dependenciesRNN variant with gates and a memory cell designed to preserve information over longer sequences.Forecast demand from historical time-series data.βœ“
Gated Recurrent Unit (GRU)ArchitectureSequence ModelingSequential modeling; temporal predictionGated recurrent architecture that is often simpler than an LSTM.Build a compact sequence model when recurrent modeling is appropriate.βœ“
TransformerArchitectureDeep Learning; Generative AI; NLPAttention-based sequence modeling; multimodal learningUses attention mechanisms to model relationships between sequence elements, enabling parallel processing during training.Build language models, translation systems, or multimodal models.βœ“
Encoder–DecoderArchitecture PatternSequence Modeling; Generative AISequence-to-sequence transformationAn encoder transforms input into a representation and a decoder produces the output. Transformers and recurrent networks can use this pattern.Translate a sentence into another language or summarize a document.βœ“
AutoencoderArchitectureRepresentation Learning; Unsupervised LearningDimensionality reduction; reconstruction; anomaly detectionLearns a compressed representation by reconstructing its input.Identify unusual equipment behavior from high reconstruction error.βœ“
Variational Autoencoder (VAE)ArchitectureGenerative AI; Representation LearningProbabilistic latent-variable modeling; generationLearns a probability distribution over latent representations, enabling sampling and generation.Generate new samples similar to a training dataset.-
Generative Adversarial Network (GAN)ArchitectureGenerative AISynthetic data generation; image synthesisTrains a generator and discriminator in an adversarial process: the generator creates samples while the discriminator tries to distinguish generated from real samples.Generate realistic synthetic images for experimentation or data augmentation.-
Diffusion ModelArchitecture / Generative MethodGenerative AIImage, audio, or other data generationLearns to reverse a gradual noising process to generate data from noise.Generate images from text prompts.-
Large Language Model (LLM)Model TypeGenerative AI; NLPText generation; language understanding; reasoningA large model trained on extensive text or multimodal data, commonly using a Transformer architecture.Build a question-answering assistant or summarize reports.βœ“
Vision Transformer (ViT)ArchitectureComputer VisionImage representation; classificationApplies Transformer attention to image patches rather than relying solely on convolutional layers.Classify images using an attention-based vision model.-
Graph Neural Network (GNN)ArchitectureGraph Machine LearningGraph classification; node prediction; link predictionLearns from entities and their relationships by propagating information across graph connections.Predict suspicious links in a financial transaction network.-
Mixture of Experts (MoE)Architecture PatternDeep Learning; LLMsConditional computation; scalable model capacityUses a gating or routing mechanism to activate selected expert subnetworks for each input.Serve a large model while activating only a subset of its experts per token.-
Multilayer Perceptron (MLP)ArchitectureDeep LearningTabular prediction; nonlinear function approximationFeed-forward network of fully connected layers with nonlinear activations.Predict a numeric outcome from a fixed set of input features.βœ“
PerceptronModel / Neural UnitNeural NetworksLinear classification; learn a decision boundaryA simple computational unit that applies a weighted sum and activation function; the single-layer perceptron is a basic linear classifier.Introduce the foundations of neural-network learning and classification.βœ“

Training, Optimization, and Regularization

Name Type Topic AI Task Description Use Scenario PMLE In-Scope
Gradient DescentOptimization AlgorithmModel TrainingMinimize a loss functionUpdates model parameters in the direction that reduces the loss, using gradient information.Train a regression model by minimizing prediction error.βœ“
Stochastic Gradient Descent (SGD)Optimization AlgorithmModel TrainingIterative parameter optimizationUpdates parameters using individual examples or small batches, producing noisy but often efficient updates.Train a neural network on a large dataset using mini-batches.βœ“
Mini-Batch Gradient DescentOptimization MethodModel TrainingEfficient gradient estimationComputes each update from a subset of training examples, balancing memory use and gradient stability.Train a deep-learning model without loading the entire dataset into memory.βœ“
Adam OptimizerOptimization AlgorithmModel TrainingAdaptive learning-rate optimizationCombines momentum-like first-moment estimates with second-moment estimates to adapt parameter updates.Use a strong general-purpose starting optimizer when training a neural network.βœ“
AdamWOptimization AlgorithmModel TrainingAdaptive optimization with decoupled weight decaySeparates weight decay from the gradient update, commonly used for Transformer and language-model training.Fine-tune a Transformer while controlling weight magnitudes.βœ“
MomentumOptimization TechniqueModel TrainingSmoother, faster gradient updatesAccumulates a moving average of past gradients to reduce oscillation and improve progress in consistent directions.Improve optimization when gradients fluctuate across dimensions.βœ“
Learning-Rate SchedulingOptimization TechniqueModel TrainingControl optimization step sizeChanges the learning rate during training using a schedule, such as decay, cosine annealing, or warmup.Start with gradual warmup and reduce the learning rate later in training.βœ“
WarmupOptimization TechniqueModel TrainingStabilize early trainingGradually increases the learning rate at the beginning of training before reaching the target rate.Reduce unstable early updates when training a large Transformer.βœ“
BackpropagationTraining AlgorithmNeural Network TrainingCompute gradientsUses the chain rule to calculate how each parameter contributes to the loss.Compute parameter gradients before an optimizer updates a network.βœ“
Batch NormalizationTechnique / LayerDeep LearningNormalize intermediate activationsNormalizes activations using batch statistics during training and tracked statistics during inference.Help stabilize and accelerate training in a suitable CNN architecture.βœ“
Layer NormalizationTechnique / LayerDeep Learning; TransformersNormalize hidden representationsNormalizes activations across features within an example, rather than across the batch.Stabilize Transformer training and inference.βœ“
DropoutRegularization TechniqueDeep LearningReduce overfittingRandomly disables selected activations during training to discourage reliance on particular units.Reduce a neural network's tendency to memorize training examples.βœ“
L1 RegularizationRegularization TechniqueModel TrainingSparsity; overfitting reductionAdds a penalty proportional to the absolute values of parameters to the training objective.Encourage a sparse set of influential model coefficients.βœ“
L2 Regularization / Weight DecayRegularization TechniqueModel TrainingLimit parameter magnitude; reduce overfittingPenalizes large parameter values. Its exact relationship to weight decay depends on the optimizer implementation.Reduce excessively large weights in a model.βœ“
Early StoppingRegularization TechniqueModel TrainingPrevent overfittingStops training when a monitored validation metric no longer improves, often restoring the best checkpoint.Stop training before validation loss begins to rise.βœ“
Gradient ClippingOptimization TechniqueNeural Network TrainingControl exploding gradientsLimits gradient magnitude or norm before parameter updates.Stabilize training when occasional gradients become excessively large.βœ“
Weight InitializationTraining TechniqueNeural Network TrainingImprove training stabilitySets initial parameter values using methods such as Xavier/Glorot or He initialization.Reduce activation or gradient scale problems at the beginning of training.βœ“
Hyperparameter TuningOptimization ProcessModel DevelopmentModel selection; performance improvementSearches for training settings such as learning rate, batch size, regularization strength, and architecture choices.Compare configurations to improve validation performance.βœ“

Learning Paradigms, Classical ML, and Data Techniques

Name Type Topic AI Task Description Use Scenario PMLE In-Scope
Supervised LearningLearning ParadigmMachine LearningClassification; regressionLearns a mapping from input features to known target labels or values.Predict whether a transaction is fraudulent using labeled examples.βœ“
Unsupervised LearningLearning ParadigmMachine LearningClustering; structure discovery; representation learningFinds patterns in data without requiring target labels.Group customers by purchasing behavior without predefined customer categories.βœ“
Semi-Supervised LearningLearning ParadigmMachine LearningLearn from limited labeled dataCombines a small labeled dataset with a larger unlabeled dataset.Classify images when labeling every image is expensive.βœ“
Self-Supervised LearningLearning ParadigmDeep Learning; Foundation ModelsPretraining; representation learningCreates training signals from the data itself, such as predicting masked tokens or missing input portions.Pretrain a language model on text before task-specific fine-tuning.βœ“
Reinforcement Learning (RL)Learning ParadigmDecision SystemsSequential decision-making; reward optimizationAn agent learns a policy through interactions with an environment and feedback in the form of rewards.Train an agent to make a sequence of decisions that maximizes cumulative reward.βœ“
Transfer LearningLearning TechniqueModel AdaptationReuse learned representationsAdapts a model trained on one task or dataset to a related target task.Fine-tune a pretrained image model using a small labeled dataset.βœ“
Fine-TuningTraining TechniqueModel Adaptation; Foundation ModelsTask-specific adaptationContinues training a pretrained model on task-specific or domain-specific examples.Adapt a language model to follow a particular response format or domain style.βœ“
Few-Shot LearningLearning TechniqueFoundation ModelsLearn or perform tasks with few examplesUses a small number of labeled examples or demonstrations to guide task performance.Provide a few example input-output pairs in a prompt.βœ“
Zero-Shot LearningLearning TechniqueFoundation ModelsPerform a task without task-specific examplesUses prior model knowledge or semantic descriptions to handle a task without labeled examples for that task.Ask a pretrained model to classify text into categories described in the prompt.βœ“
Active LearningData Selection TechniqueData-Centric MLChoose high-value samples for labelingSelects examples for human annotation, often based on uncertainty or expected information gain.Send the most uncertain model predictions to experts for labeling.βœ“
Data AugmentationData TechniqueData-Centric ML; Computer Vision; NLPIncrease training diversityCreates modified training examples using valid transformations or synthetic generation.Apply suitable image flips, crops, or color changes to improve generalization.βœ“
Feature EngineeringData TechniqueClassical MLConstruct informative model inputsCreates, transforms, or selects features that help a model learn useful patterns.Derive transaction frequency and rolling spending statistics from event history.βœ“
Feature Scaling / StandardizationPreprocessing TechniqueClassical ML; Deep LearningNormalize numeric feature scalesTransforms features to comparable scales, such as zero mean and unit variance.Prepare numeric features for a distance-based model or gradient-based learner.βœ“
One-Hot EncodingPreprocessing TechniqueClassical MLRepresent categorical variablesRepresents each category as a binary indicator feature.Encode product category for a model that requires numeric inputs.βœ“
ImputationPreprocessing TechniqueData-Centric MLHandle missing valuesFills missing values using methods such as median, most frequent category, or model-based estimates.Prepare incomplete customer records for model training.βœ“
Data InterpolationPreprocessing TechniqueData-Centric ML; Time-Series AnalysisEstimate values between observed data pointsEstimates missing or intermediate values from nearby observations using methods such as linear or spline interpolation; it assumes a meaningful ordering or geometry in the data.Fill gaps in regularly sampled sensor readings before analysis while avoiding information leakage across evaluation boundaries.βœ“
Feature SelectionData TechniqueClassical MLSelect informative input featuresSelects a relevant subset of input features to improve generalization, reduce complexity, or improve interpretability.Remove redundant or uninformative features before fitting a model.βœ“
Class WeightingTraining TechniqueImbalanced ClassificationAddress class imbalanceChanges the loss contribution of examples from different classes to increase the importance of underrepresented classes.Increase the penalty for missing rare fraud cases.βœ“
Oversampling / UndersamplingData Sampling TechniqueImbalanced ClassificationRebalance training dataOversampling increases minority-class representation; undersampling reduces majority-class representation.Adjust training data for a rare-event classifier while preserving an untouched evaluation set.βœ“
SMOTEData Sampling TechniqueImbalanced ClassificationSynthetic minority-class sample generationCreates synthetic minority-class examples by interpolating between nearby minority examples.Test a resampling approach for an imbalanced tabular classification problem.βœ“
Ensemble LearningModeling TechniqueClassical MLCombine predictions; improve robustnessCombines multiple models to improve predictive performance or stability.Combine several diverse classifiers to improve predictions.βœ“
Linear RegressionModel AlgorithmClassical ML; RegressionPredict continuous valuesModels a target as a linear combination of input features, typically by minimizing a squared-error objective.Estimate a numeric outcome such as demand or price from known features.βœ“
Logistic RegressionModel AlgorithmClassical ML; ClassificationBinary or multiclass classificationModels class probabilities using a linear decision function and a logistic or softmax link.Estimate the probability that a customer will churn.βœ“
Decision TreeModel AlgorithmClassical MLClassification; regressionLearns a tree of feature-based decisions that partition examples into prediction regions.Build an interpretable baseline for a structured classification task.βœ“
Random ForestModel AlgorithmClassical ML; Ensemble LearningClassification; regressionCombines predictions from many decision trees trained with randomized data samples and feature selection.Build a robust baseline for structured tabular data.βœ“
Gradient BoostingModel Algorithm FamilyClassical ML; Ensemble LearningClassification; regression; rankingBuilds an ensemble sequentially, with each new learner improving on errors made by the current ensemble.Predict customer churn from structured business data.βœ“
XGBoostModel AlgorithmClassical ML; Gradient BoostingTabular classification and regressionAn optimized gradient-boosted tree implementation with regularization and efficient training options.Develop a high-performing model on structured numerical and categorical features.βœ“
Support Vector Machine (SVM)Model AlgorithmClassical MLClassification; regressionLearns a decision boundary that maximizes the margin between classes; kernels can model nonlinear boundaries.Classify a moderate-sized dataset with informative features.βœ“
Naive BayesModel AlgorithmClassical ML; Probabilistic ClassificationClassificationUses Bayes' theorem with a conditional-independence assumption among features given the class.Classify documents or messages using word-frequency features.βœ“
k-Nearest Neighbors (k-NN)Model AlgorithmClassical MLSimilarity-based classification; regressionPredicts using labels or values from nearby examples under a distance metric.Classify a new example based on similar historical observations.βœ“
Time-Series ForecastingProblem / Technique FamilyTime-Series AnalysisPredict future values from ordered observationsUses temporal patterns, trend, seasonality, and relevant covariates to forecast future observations; evaluation should preserve time order.Forecast future product demand using historical sales and calendar features.βœ“
Principal Component Analysis (PCA)Dimensionality Reduction TechniqueUnsupervised LearningDimensionality reduction; variance analysisProjects data onto orthogonal directions that capture the greatest variance.Reduce correlated numeric features before visualization or modeling.βœ“
k-Means ClusteringClustering AlgorithmUnsupervised LearningPartition data into clustersAssigns examples to clusters by minimizing within-cluster squared distance to cluster centroids.Segment customers using selected behavioral features.βœ“
DBSCANClustering AlgorithmUnsupervised LearningDensity-based clustering; noise detectionFinds dense regions of points and can label isolated points as noise without requiring a preset number of clusters.Identify spatial clusters and outliers in location data.βœ“
Anomaly DetectionProblem / Technique FamilyUnsupervised Learning; MonitoringIdentify unusual observationsDetects observations that differ substantially from learned normal patterns or expected behavior.Flag unusual server metrics or potentially suspicious transactions.βœ“
Markov Networks (Markov Random Fields)Probabilistic Graphical ModelProbabilistic ModelingRepresent joint probability distributionsUndirected graphical models that represent dependencies among variables using a graph and associated potential functions.Model dependencies among a set of related variables.-
Monte Carlo MethodsSampling / Inference MethodProbabilistic ModelingApproximate quantities using random samplingUse repeated random samples to estimate expectations, probabilities, or other quantities that are difficult to compute exactly.Approximate an expectation when an exact calculation is impractical.-
Automated Theorem ProvingAI TechniqueAutomated ReasoningProve or disprove formal statementsUses algorithms to derive proofs from formal axioms and inference rules; it is a symbolic-AI topic rather than a core machine-learning method.Verify whether a proposition follows from a formal specification.-

Evaluation, Validation, and Model Reliability

Name Type Topic AI Task Description Use Scenario PMLE In-Scope
Train / Validation / Test SplitEvaluation TechniqueModel EvaluationMeasure generalization; tune modelsSeparates data for fitting parameters, selecting configurations, and final unbiased evaluation.Use validation data for model selection and reserve test data for final evaluation.βœ“
Cross-ValidationEvaluation TechniqueModel EvaluationEstimate generalization performanceRepeats model fitting and evaluation across multiple folds of the available data.Compare algorithms when the labeled dataset is relatively small.βœ“
Data LeakageModeling PitfallData Quality; Model EvaluationPrevent invalid evaluationOccurs when training or preprocessing uses information unavailable at prediction time or information from evaluation data.Fit preprocessing only on training folds and exclude post-outcome features.βœ“
OverfittingModeling ProblemModel GeneralizationImprove generalizationA model learns training-specific noise or details and performs poorly on unseen data.Use regularization, data augmentation, simpler models, or early stopping.βœ“
UnderfittingModeling ProblemModel GeneralizationImprove model capacity or learningA model fails to capture important patterns, performing poorly on training and unseen data.Increase model capacity, improve features, or train more effectively.βœ“
Learning CurvesDiagnostic TechniqueModel Development; Model GeneralizationDiagnose model performance as training data or training progress changesPlots training and validation performance against training-set size or training iterations to help identify high bias, high variance, and data-related limitations.Determine whether adding training data is likely to improve validation performance.βœ“
Bias–Variance Trade-offConceptModel GeneralizationBalance systematic error and sensitivityDescribes the tension between overly simple models and models overly sensitive to training data.Diagnose whether poor generalization calls for greater model capacity or stronger regularization.βœ“
Confusion MatrixEvaluation ToolClassification EvaluationAnalyze classification errorsCounts true positives, true negatives, false positives, and false negatives.Determine whether a fraud detector misses fraud or incorrectly flags legitimate transactions.βœ“
AccuracyEvaluation MetricClassification EvaluationMeasure overall classification correctnessFraction of predictions that are correct across all evaluated examples.Evaluate a reasonably balanced classification problem when error types have similar costs.βœ“
PrecisionEvaluation MetricClassification EvaluationMeasure correctness of positive predictionsOf predicted positives, the fraction that are actually positive.Minimize false fraud alerts that create costly manual investigations.βœ“
Recall / SensitivityEvaluation MetricClassification EvaluationMeasure detection of actual positivesOf actual positives, the fraction correctly identified by the model.Prioritize detecting as many genuine fraud cases as possible.βœ“
F1 ScoreEvaluation MetricClassification EvaluationBalance precision and recallHarmonic mean of precision and recall.Compare classifiers when both false positives and false negatives matter.βœ“
ROC-AUCEvaluation MetricClassification EvaluationMeasure ranking discriminationMeasures the area under the receiver operating characteristic curve across classification thresholds.Compare how well models rank positive examples above negative examples.βœ“
PR-AUCEvaluation MetricClassification EvaluationEvaluate precision-recall trade-offMeasures area under a precision-recall curve and is often informative for rare positive classes.Compare rare-event classifiers when positive-class detection is the main concern.βœ“
Log Loss / Cross-Entropy LossLoss Function / MetricClassification EvaluationEvaluate probabilistic predictionsPenalizes incorrect predicted probabilities, especially confident incorrect predictions.Compare probabilistic classifiers rather than only their thresholded labels.βœ“
Mean Absolute Error (MAE)Evaluation MetricRegression EvaluationMeasure absolute prediction errorAverage absolute difference between predicted and actual numeric values.Evaluate demand forecasts when errors should be interpreted in the target's units.βœ“
Mean Squared Error (MSE) / RMSEEvaluation MetricRegression EvaluationMeasure squared prediction errorMSE averages squared errors; RMSE takes its square root and returns to the target's units.Penalize large forecast errors more heavily than smaller errors.βœ“
CalibrationEvaluation TechniqueProbabilistic PredictionAlign predicted probabilities with observed frequenciesChecks whether predictions assigned a probability are correct at approximately that frequency over comparable examples.Verify that predictions assigned 0.8 probability are positive roughly 80% of the time.βœ“
Threshold TuningDecision TechniqueClassification EvaluationTrade off false positives and false negativesAdjusts the decision threshold applied to model scores or probabilities.Lower a fraud detection threshold when missing fraud is more costly than investigating false alerts.βœ“
Data DriftMonitoring ConceptModel MonitoringDetect changes in input dataOccurs when the distribution or characteristics of production inputs change relative to a reference dataset.Monitor changes in customer attributes after a product or market shift.βœ“
Concept DriftMonitoring ConceptModel MonitoringDetect changes in input-to-target relationshipsOccurs when the relationship between features and the target changes over time.Retrain a fraud model when fraud patterns evolve despite similar input distributions.βœ“
Training–Serving SkewModel Reliability ProblemModel Monitoring; MLOpsMaintain consistent training and inference behaviorOccurs when feature definitions or transformations differ between training and production inference.Share preprocessing logic or validate feature parity between training and serving.βœ“
Explainability / InterpretabilityTechnique FamilyResponsible AIExplain model predictionsUses methods such as feature attribution or interpretable model structures to explain predictions.Explain which factors contributed to a loan-risk prediction.βœ“
SHAPExplainability MethodResponsible AIFeature attributionUses Shapley-value concepts to estimate each feature's contribution to a prediction under a defined explanation setup.Inspect which features increased or decreased a particular model prediction.βœ“
Fairness MetricsEvaluation TechniqueResponsible AIMeasure performance disparitiesEvaluates differences in outcomes or error rates across groups, using metrics appropriate to the context.Compare false-negative rates across relevant demographic groups.βœ“
ReproducibilityEngineering PracticeMLOpsRecreate training and evaluation resultsTracks data, code, configuration, dependencies, and random seeds or other sources of variability.Rebuild a model version for an audit or regression investigation.βœ“

GAN, LLM, and RAG

Name Type Service Family AI Task Description Use Scenario PMLE In-Scope
TokenizationPreprocessing TechniqueNLP; LLMsConvert text into model input unitsSplits text into tokens, which may be words, subwords, characters, or other learned units.Estimate prompt length and prepare text for model inference.βœ“
Attention MechanismArchitecture ComponentDeep Learning; TransformersModel relationships between input elementsComputes context-dependent weights that determine how elements contribute to a representation.Enable a language model to relate words or tokens across a sequence.βœ“
Self-AttentionArchitecture ComponentTransformers; LLMsContextual representation learningAllows tokens within a sequence to attend to other tokens in that sequence.Represent a word differently depending on the surrounding sentence.βœ“
Positional Encoding / Positional EmbeddingArchitecture ComponentTransformers; LLMsRepresent token position or orderSupplies information about sequence positions so the model can distinguish ordering and relative positions.Help a Transformer distinguish different word orders in sentences.βœ“
Masked Language Modeling (MLM)Pretraining ObjectiveNLP; Foundation ModelsPredict masked tokens using contextTrains a model to reconstruct hidden tokens using surrounding context.Pretrain a bidirectional language representation model.-
Causal Language ModelingPretraining ObjectiveGenerative AI; LLMsNext-token predictionTrains a model to predict the next token based on preceding tokens.Pretrain an autoregressive model that generates text sequentially.-
Prompt EngineeringTechniqueGenerative AISteer model behavior through instructionsDesigns instructions, context, constraints, and examples to improve model responses without necessarily changing model weights.Require a model to return a structured response with explicit constraints.βœ“
Few-Shot PromptingPrompting TechniqueGenerative AIDemonstration-based task guidanceIncludes several examples in the prompt to demonstrate the desired task or output format.Provide labeled sentiment examples before asking the model to classify new reviews.βœ“
Chain-of-Thought PromptingPrompting TechniqueGenerative AIMulti-step reasoning supportUses reasoning-oriented instructions or examples to encourage intermediate problem-solving steps. Exposed reasoning should not be treated as a guaranteed faithful explanation.Improve performance on a multistep math or logic problem.-
Structured Output / Constrained DecodingGeneration TechniqueGenerative AISchema-constrained generationConstrains generated output to a defined format, such as a supported JSON schema.Generate machine-readable records for downstream application processing.βœ“
Retrieval-Augmented Generation (RAG)Architecture PatternGenerative AI; SearchKnowledge retrieval; grounded generationRetrieves relevant external content and supplies it to a generative model as context for answering.Answer questions using a company's internal policies and documentation.βœ“
Vector EmbeddingsRepresentation TechniqueSemantic Search; RAGSemantic representation; similarity searchMaps data into numeric vectors that encode useful semantic or other learned relationships.Retrieve documents whose meaning is similar to a user's question.βœ“
Vector SearchRetrieval TechniqueSemantic Search; RAGNearest-neighbor retrievalRetrieves vectors close to a query vector using a selected similarity or distance measure.Find semantically related passages for a RAG system.βœ“
Hybrid SearchRetrieval TechniqueInformation Retrieval; RAGCombine lexical and semantic retrievalCombines keyword-based search with semantic or vector-based retrieval.Find a document using both an exact policy identifier and semantically related language.βœ“
RerankingRetrieval TechniqueInformation Retrieval; RAGImprove retrieved-result orderingScores an initial candidate set with a more targeted relevance model and reorders the results.Reorder retrieved passages so the most relevant evidence reaches the LLM.βœ“
ChunkingData Preparation TechniqueRAG; Document ProcessingSegment documents for retrievalSplits documents into manageable passages, potentially with overlap or structure-aware boundaries.Prepare lengthy manuals for embedding and retrieval.βœ“
GroundingGeneration TechniqueGenerative AI; RAGConnect generated responses to evidenceProvides relevant, trusted context or sources to support generated answers.Answer product questions using retrieved specifications instead of relying only on model memory.βœ“
Hallucination MitigationReliability TechniqueGenerative AIReduce unsupported or fabricated claimsUses grounding, constrained output, verification, abstention policies, and evaluation to reduce factual errors.Require citations and an explicit uncertainty response when evidence is insufficient.βœ“
Retrieval EvaluationEvaluation TechniqueRAG; Information RetrievalMeasure retrieval qualityMeasures whether retrieval returns relevant and sufficiently complete evidence, using metrics such as recall@k, precision@k, or ranking metrics.Identify whether a RAG system fails because relevant passages are not retrieved.βœ“
LLM EvaluationEvaluation TechniqueGenerative AIMeasure response quality and task performanceEvaluates outputs using reference answers, task-specific metrics, human ratings, model-based judges, or combinations of methods.Compare two model versions on correctness, relevance, safety, and instruction following.βœ“
RLHFAlignment TechniqueGenerative AIAlign model behavior with human preferencesReinforcement Learning from Human Feedback uses preference feedback as part of an optimization process to steer model behavior.Adapt a conversational model toward preferred helpful and appropriate responses.-
DPO (Direct Preference Optimization)Alignment TechniqueGenerative AIPreference-based model alignmentOptimizes a model using preference pairs without requiring the traditional separate reward-model-and-RL training pipeline.Fine-tune a model using pairs of preferred and dispreferred answers.-
LoRA (Low-Rank Adaptation)Parameter-Efficient Fine-Tuning TechniqueGenerative AI; LLMsEfficient model adaptationTrains low-rank adapter parameters while keeping most pretrained model weights frozen.Adapt a large language model to a specialized task with fewer trainable parameters.βœ“
QLoRAParameter-Efficient Fine-Tuning TechniqueGenerative AI; LLMsMemory-efficient fine-tuningCombines quantized base-model weights with trainable low-rank adapters to reduce fine-tuning memory requirements.Fine-tune a large model when GPU memory is limited.-
QuantizationModel Optimization TechniqueModel Deployment; Edge AIReduce model size and inference costRepresents weights or activations at lower numerical precision, trading off resource usage against potential quality loss.Deploy a model with lower memory consumption or improved inference efficiency.βœ“
Knowledge DistillationModel Compression TechniqueModel Deployment; Deep LearningTransfer model behavior to a smaller modelTrains a student model to approximate outputs or behavior from a larger teacher model.Create a smaller model for latency-sensitive inference.-
Speculative DecodingInference Optimization TechniqueLLM ServingAccelerate autoregressive generationUses a draft model to propose tokens that a larger target model verifies, potentially reducing generation latency.Improve token-generation speed when model and serving conditions support it.-
Context WindowModel CapabilityLLMsProcess input and conversation contextDefines how many tokens a model can consider in a request, including relevant input and generated context according to the model's limits.Determine whether a large document can fit in one request or needs chunking and retrieval.βœ“
TemperatureGeneration ParameterGenerative AIControl sampling randomnessAdjusts the sharpness of token-selection probabilities during sampling; lower values generally make outputs more predictable.Use lower temperature for consistent structured answers and higher temperature for more varied creative output.βœ“
Top-k SamplingGeneration TechniqueGenerative AIRestrict next-token candidatesSamples from the k most likely candidate tokens.Limit token choices during text generation.βœ“
Top-p / Nucleus SamplingGeneration TechniqueGenerative AIProbability-based token samplingSamples from the smallest candidate set whose cumulative probability reaches a selected threshold.Control generation diversity by restricting sampling to likely candidates.βœ“
Prompt InjectionSecurity ThreatLLM SecurityExploit instruction-following behaviorAttempts to manipulate model behavior through malicious instructions in prompts or retrieved content.Test whether an agent follows malicious instructions embedded in an external document.βœ“
Guardrails / Safety FiltersSafety TechniqueResponsible Generative AIReduce unsafe or disallowed outputsApplies policies, classifiers, filters, or validation steps to screen inputs and outputs.Block disallowed content and require confirmation before sensitive actions.βœ“
Tool Calling / Function CallingAgent TechniqueAgentic AIInvoke external functions and APIsLets a model select a defined tool and provide arguments that an application validates and executes.Allow an assistant to query inventory or retrieve an order status.-
Agent PlanningAgent TechniqueAgentic AIDecompose tasks into stepsOrganizes a goal into actions or subgoals, potentially adapting the plan based on tool results.Coordinate a multistep research workflow across search, retrieval, and summarization.-
Retrieval-Augmented AgentArchitecture PatternAgentic AI; RAGGround agent decisions in retrieved knowledgeCombines agent orchestration and tool use with retrieval of external or enterprise information.An internal assistant retrieves the applicable policy before initiating a workflow.-

Cloud and Infrastructure

MCP Authorization and Security

GCP recommends "positioning Apigee between MCP clients and enterprise backends":

https://cloud.google.com/blog/products/ai-machine-learning/mcp-support-for-apigee

  1. https://cloud.google.com/blog/products/ai-machine-learning/mcp-support-for-apigee

Code samples:

  1. https://github.com/Thoughtscript/tcg_data_science/tree/main/jupyter
  2. https://github.com/Thoughtscript/python_api_2023/tree/main/backend/ml
  3. https://github.com/Thoughtscript/kaggle_jupyter_notebook_2025
  4. https://github.com/Thoughtscript/Hugging_Face_LLM_2025