This tutorial is adapted from the Web Age course Google Cloud Primer.
1.1 What is Google Cloud?
Google Cloud offers its clients services, infrastructure, and on-demand virtualized resources using the pay-as-you-go business model. All Google Cloud’s resources are hosted in multiple data centers. Data centers are physical facilities located in multiple regions across the globe: in Asia, Australia, Europe, North America, and South America. Each region contains one or more zones isolated from each other within the region. Google Cloud computing and storage provide a number of tangible and cost-efficient benefits, including redundancy in case of failure, reduced response latency (which is ensured by the ability to move resources closer to clients, and many more.
1.2 Google Cloud circa 2021
Notes:
2021 Stats:
24 cloud regions
73 zones
144 network edge locations
Available in 200+ countries & territories
Keys (legends) to the slide’s graphs
1.3 What is Google Cloud Platform (GCP)?
For more information about GCP, visit https://cloud.google.com/docs/overview/
1.4 Google Cloud Products (Services)
Google Cloud started with the announcement in April 2008 of their App Engine public offering, a platform for developing and hosting web applications in Google-managed data centers. As of 2021, Google offers over 90 products under the Google Cloud brand discussed in the subsequent slides. In cloud computing, software and hardware products are referred to as services that users combine together to build their cloud-based applications and solutions
For a list of the most current and exhaustive list of Google Cloud services, visit https://cloud.google.com/products
1.5 GCP at a Glance
1.6 What is a GCP Project?
1.7 Identifying a Project
- A project name
- Provided by you
- A project ID
- Provided either by your or Google Cloud
- A project number
- Provide by Google Cloud
Notes:
Project IDs are unique across the entire Google Cloud. The Project ID cannot be reused once the project has been deleted.
Google recommendations:” A project name must be between 4 and 30 characters. When you type the name, the form suggests a project ID, which you can edit. The project ID must be between 6 and 30 characters, with a lowercase letter as the first character. The last character cannot be a hyphen. Project identifiers might be retained beyond the life of your project, so do not use sensitive information for the project name or ID.”
1.8 Billing and Projects
1.9 Creating a Project in Cloud Console
1.10 Ways to Interact with Google Cloud
- Google Cloud Console (Web UI)
- You start by either creating a new project or using an existing project
- Command-line interface (CLI)
- Backed by the gcloud command-line tool available either through the Google Cloud SDK (that you can install and run locally) or browser-based Cloud Shell (available through Google Cloud Console)
- Client libraries
- Come with the Cloud SDK
- Google API client libraries
- Allow you to access such products as Maps, Drive, and YouTube
1.11 Cloud Shell
Notes:
The top command’s output in Cloud Shell reveals the pre-installed software components:
top - 20:21:19 up 4 min, 4 users, load average: 0.96, 0.49, 0.21 Tasks: 28 total, 1 running, 27 sleeping, 0 stopped, 0 zombie %Cpu(s): 4.0 us, 2.9 sy, 0.0 ni, 93.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7965.5 total, 6416.6 free, 574.9 used, 974.1 buff/cache MiB Swap: 768.0 total, 752.7 free, 15.2 used. 7151.3 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 218 root 20 0 948712 89616 49868 S 1.7 1.1 0:00.30 dockerd 253 root 20 0 898648 46928 26204 S 0.3 0.6 0:00.30 containerd 1 root 20 0 3736 2808 2540 S 0.0 0.0 0:00.01 bash 8 root 20 0 225824 2296 1824 S 0.0 0.0 0:00.67 rsyslogd 25 root 20 0 26384 20372 7376 S 0.0 0.2 0:00.39 python 26 root 20 0 4708 1040 876 S 0.0 0.0 0:00.00 logger 74 root 10 -10 15852 4308 3448 S 0.0 0.1 0:00.00 sshd 351 root 20 0 1078088 6420 5564 S 0.0 0.1 0:00.00 theia-proxy 353 root 20 0 7288 3296 2936 S 0.0 0.0 0:00.00 sudo 368 root 20 0 703524 2324 1736 S 0.0 0.0 0:00.00 tmux-agent 430 root 10 -10 16440 7784 6736 S 0.0 0.1 0:00.01 sshd 463 root 20 0 2296 740 676 S 0.0 0.0 0:00.00 sleep 464 root 10 -10 16440 7884 6836 S 0.0 0.1 0:00.01 sshd
1.12 Location of the Cloud Shell Icon in the Cloud Console
1.13 The gcloud CLI Tool
The gcloud tool comes with a default configuration that is suitable for most practical situations. The tool’s default configuration parameters can be changed by running either gcloud init or gcloud config set …. commands. Good candidates for practical default settings (that you do not need to set explicitly when running your gcloud commands, making your command simpler) are the project ID and compute zone in which you want to work.
1.14 Google Cloud Service Categories
1.15 Google Cloud Console Navigation Menu Options (1 of 3)
1.16 Google Cloud Console Navigation Menu Options (2 of 3)
1.17Google Cloud Console Navigation Menu Options (3 of 3)
1.18 Computing Options
-
-
- This option gives you the most control and flexibility
-
1.19 Compute Capabilities
-
-
- PaaS capability:
- App Engine that supports deployment of Java, PHP, Node.js, Python, C#, .Net, Ruby and Go applications
- IaaS capability:
- Microsoft Windows ® and Linux VMs
- Kubernetes-based Containers-as-a-Service:
- Kubernetes Engine (GKE) or GKE on-prem offered as part of Anthos platform
- Functions-as-a-Service:
- Event-driven programming paradigm (currently supporting Node.js, Python, and Go) using the serverless processing fabric
- Cloud Run:
- Compute execution environment based on Knative
- Offered either as a fully-managed service or as Cloud Run for Anthos (currently supports GCP, AWS, and VMware)
- PaaS capability:
-
Notes:
Cloud Run is a managed compute platform that enables developers to run HTTP-aware applications in stateless containers. Cloud Run, essentially, abstracts away all infrastructure management hassle, which is made possible due to Knative, a Kubernetes-based platform that offers such features as scale-to-zero, autoscaling, in-cluster builds, and eventing for cloud-native applications on Kubernetes (GKE).
1.20 Storage and Databases
-
-
- Cloud Storage
- Object/unstructured data storage
- Integrated with Google’s edge points caching
- Object/unstructured data storage
- Cloud SQL (Database-as-a-Service)
- Supports MySQL, PostgreSQL and Microsoft® SQL Server
- Cloud Bigtable
- Google’s flagship NoSQL database
- Cloud Spanner
- Horizontally scalable, strongly consistent relational database service
- Cloud Datastore
- NoSQL database for web and mobile applications
- Cloud Storage
-
-
-
- Persistent Disk
- Block storage for Compute Engine VMs
- Local SSD
- High-performance, transient, local block storage
- Cloud Memorystore
- In-memory data store based on Redis and Memcached
- Filestore
- High-performance file storage
- Persistent Disk
-
1.21 Networking
-
-
- VPC (Virtual Private Cloud)
- Used for managing software-defined networks
- Cloud Load Balancing
- Managed software-defined service for traffic load balancing
- Cloud Armor
- Web application firewall to protect workloads from DDoS attacks
- Cloud CDN (Content Delivery Network)
- Leverages Google’s globally distributed edge points of presence
- Cloud Interconnect
- Service to link on-premise resources with GCP
- Cloud DNS
- Managed service that is also used by Google itself
- Network Service Tiers
- Offers a choice between the Premium (for higher-performing networks) or Standard network tier
- VPC (Virtual Private Cloud)
-
1.22 Points of Presence (POPs)
-
-
- Google Cloud’s POPs are part of the Cloud Content Delivery Network (CDN)
- POPs are used as caches at CDN’s edge locations to help bring contents closer to their clients
- POP locations are distributed around the world
- In some ways, Google Cloud POPs are similar to the AWS CloudFront service integrated with Amazon S3 Transfer Acceleration and Lambda@Edge
-
1.23 The Google Cloud POPs Locations
Source: https://peering.google.com/#/infrastructure
1.24 Big Data
-
-
- BigQuery
- Managed enterprise data warehouse
- Cloud Dataflow
- Managed service based on Apache Beam for data streaming and batch processing
- Cloud Dataproc
- Platform for running Apache Hadoop and Apache Spark jobs
- Cloud Composer
- Workflow orchestration service based on Apache Airflow
- BigQuery
-
-
-
- Cloud Datalab
- Jupyter Notebook-based service for EDA, visualization, and machine learning
- Cloud Dataprep
- Data preparation tool based on Trifacta
- Cloud Pub/Sub
- Data ingestion service based on message queues
- Cloud Data Studio
- BI tool for building dashboards and reports
- Cloud Datalab
-
1.25 Cloud AI
-
-
- Some of the services in this group are:
- Cloud AutoML
- Service for training/testing and deploying user ML models
- Cloud Machine Learning Engine
- Managed ML service based on mainstream frameworks
- Cloud Natural Language
- Text analysis service based on Google Deep Learning models
- Cloud Speech-to-Text
- Speech-to-text conversion
- Cloud Text-to-Speech
- Text-to-speech conversion service
- Cloud Translation API
- Cloud Vision API
- Image analysis service based on machine learning
- Cloud Video Intelligence
- Video analysis service based on machine learning
-
1.26 Management Tools
-
-
- Operations suite (formerly Stackdriver)
- Monitoring, logging, and diagnostics for applications on Google Cloud Platform and AWS
- Cloud Deployment Manager
- GCP resource provisioning tool
- Uses templates created in YAML, Python or Jinja2
- GCP resource provisioning tool
- Cloud APIs
- Programmatic access to GCP resources
- Cloud Console
- Web UI to manage GCP resources
- Cloud Shell
- The browser-based shell that offers CLI to access and manage GCP resources
- Cloud Console Mobile App
- Android and iOS app for managing GCP resources
- Operations suite (formerly Stackdriver)
-
1.27 Identity & Security
-
-
- Cloud Identity
- Single sign-on (SSO) service based on SAML 2.0 and OpenID
- Cloud IAM
- Identity & Access Management (IAM) service for defining policies based on role-based access control
- Cloud Identity-Aware Proxy
- Service to control access to cloud applications running on GCP without using a VPN
- Cloud Data Loss Prevention API
- Service to automatically discover, classify, and redact sensitive data
- Security Key Enforcement
- Two-step verification service based on a security key
- Cloud Key Management Service
- Cloud-hosted key management service integrated with IAM and audit logging
- Cloud Identity
-
-
-
- Cloud Resource Manager
- Service to manage resources organized hierarchically by project, folder, and organization
- Cloud Security Command Center
- Security and data risk platform for data and services running in GCP
- Cloud Security Scanner
- Automated vulnerability scanning service for applications deployed in App Engine
- Access Transparency
- Near real-time log auditing capability
- VPC Service Controls
- Security perimeter protection service
- Cloud Resource Manager
-
1.28 IoT (the Internet of Things)
-
-
- Cloud IoT Core
- Secure device connection and management service
- Edge TPU
- Hardware-based ASIC (Application-Specific Integrated Circuit) designed to run inference at the edge
- Cloud IoT Edge
- Brings AI to the edge computing layer
- Cloud IoT Core
-
1.29 The API Platform
-
-
- Maps Platform
- APIs for geographical maps, routes, and places
- Based on Google Maps
- APIs for geographical maps, routes, and places
- Apigee API Platform
- API management solution
- API Monetization
- Tool for API providers
- Handles revenue models, reports, payment gateways, and developer portal integrations
- Tool for API providers
- Developer Portal
- Self-service platform for developers to publish and manage APIs
- API Analytics
- Service to analyze API-driven programs
- Apigee Sense
- Identifies and alerts administrators to suspicious API activities
- Cloud Endpoints
- A proxy for deploying and managing APIs
- Service Infrastructure
- A set of services for building Google Cloud products
- Maps Platform
-
1.30 Other Cloud Provider Services Comparison Chart
1.31 Regions and Zones
-
-
- As of 2021, GCP is available in 24 regions and 73 zones
- A region is a Google’s data center in a specific geographical location where users can deploy cloud resources
- Regions are available in Asia, Australia, Europe, North America, and South America
- Each region consists of two or more zones that are physically isolated from each other
- Zones are GCP deployment locations
- Zone names are made up of two parts: the region name and a lower-case letter (a,b,c, etc.) suffixed to the region name via a dash, e.g.
- A zone in the East Asia region is named asia-east1-a
- Region and zones help with resource redundancy in case of a single data center failure
-
1.32 Setting the Default Compute Zone Using gcloud
gcloud config set compute/zone us-central1-a
1.33 Global, Regional, and Zonal Resources
-
-
- Global resources are available across regions and zones
- Examples: Pre-configured disk images, disk snapshots, and networks
- Regional resources can be accessed only by resources located in the same region
- Examples: Static external IP addresses
-
- Global resources are available across regions and zones
-
Notes:
GCP would not allow certain cross-regional operations such as attaching a disk located in one region to a VM in a different region even if you think this is possible. This restriction is put in place because such a topology would create a poor performance situation due to high cross-region traffic latency. GCP would only allow disks to be attached to computers in the same zone.
1.34 Global, Regional, and Zonal Resources Relationship Diagram
1.35 Summary
-
- In this tutorial, we discussed the following topics:
- Google Cloud
- Google Cloud Platform (GCP)
- Components of Google’s network infrastructure, including:
- points of presence,
- data centers,
- regions, and zones
- Interacting with Google Cloud
- In this tutorial, we discussed the following topics: