Google Cloud Platform
Overview and how it’s Different
(Compute, Storage and Network)
Agenda
● Cloud Computing 101
● Compute
● Networking
● Storage and Databases
Confidential & Proprietary
Cloud Computing 101
1 What is the Cloud?
2 Why do customers care?
3 Where does Google fit in?
1 What is the Cloud?
2 Why do customers care?
3 Where does Google fit in?
Let’s start simple: Defining “Cloud”
Compute = Storage Network
Server
= + +
What is a server?
Server = A
computer
Server
What they do
● Servers host software/applications
remotely
● Servers can host “Instances” in the
cloud because they are designed to
be disposable.
Server
How is compute measured?
● Instances are “Virtual Machines”
● VMs are measured via cores (vCPU)
and RAM.
● [Link]
VXjl4SwVo
Virtual
Machine
Confidential & Proprietary
What is storage?
Storage
What is storage?
Block Blob/Object
What is Block storage?
Block
What is Blob storage?
Blob
Block vs. Blob
[Link]
[Link]
Confidential & Proprietary
What is Blob storage?
Blob
What is network?
● A network is a way to get “stuff” between 2 or more “things”
● Examples: Mail, phone system, conversations, railroad
system, highways and roads.
● [Link]
● [Link]
Cloud
Deployment
Models
Confidential & Proprietary
Cloud Service
Models
Confidential & Proprietary
1 What is the Cloud?
2 Why do customers care?
3 Where does Google fit in?
Public Cloud
Benefits
Confidential & Proprietary
Cloud Computing Patterns
Unpredictable Bursting Predictable Bursting
• Unexpected/unplanned peak in • Services with micro seasonality trends
demand • Peaks due to periodic increased demand
• Sudden spike impacts performance • IT complexity and wasted capacity
• Can’t over provision for extreme cases
Reliability comes from software
MTBF = 10 years
1 device
MTBF < 1 hour
100K devices
(servers, routers, networking,
power supplies, cooling, …)
On Premise
still #1
Confidential & Proprietary
1 What is the Cloud?
2 Why do customers care?
3 Where does Google fit in?
Cloud Computing
IaaS PaaS SaaS
Infrastructure-as-a-Service Platform-as-a-Service Software-as-a-Service
Google Cloud Platform
Public Cloud
Market
Confidential & Proprietary
Public Cloud
Market
Founded 2006 2010
Market Share (2017) 40% 12%
Key Advantage First Mover Enterprise
relationships
Featureset (Low to High Medium
High)
Partner Ecosystem Large Large
(Large to small)
Website [Link] [Link]
Confidential & Proprietary
What does this mean for customers?
Probe customers for cloud
● If it’s running on AWS, there’s room
for Google
● Leverage our open culture
● Focus on new projects
Activity 1
Confidential & Proprietary
Group Activity
Divide yourselfs in 3 groups. Each group research a topic (20 min)
and then presents on the topics (5-10 min).
Confidential & Proprietary
Describe the Cloud Deployment Models
(Group 1)
Private Hybrid Public
Confidential & Proprietary
Describe the Cloud Service Models (Group
2)
IaaS PaaS SaaS
Confidential & Proprietary
Pros and Cons of Public Cloud vs On Premise (Group 3)
Confidential & Proprietary
GCP 101 - Compute, Networking
and Storage
Compute Storage Networking Management Tools
From virtual machines with Scalable, resilient, high State-of-the-art software- Monitoring, logging, and
proven price/performance performance object defined networking diagnostics and more, all a easy
advantages to a fully storage and databases for products on Google’s to use web management
managed app development your applications. private fiber network. console or mobile app.
platform. Cloud Storage Cloud Virtual Network Stackdriver Overview
Compute Engine Cloud Bigtable Cloud Load Balancing Monitoring
App Engine Cloud Datastore Cloud CDN Logging
Container Engine Cloud SQL Cloud Interconnect Error Reporting
Container Registry Cloud Spanner Cloud DNS Debugger
Cloud Functions Deployment Manager &
More
Big Data Machine Learning Developer Tools Identity & Security
Fully managed data Fast, scalable, easy to use ML Develop and deploy your Control access and visibility to
warehousing, batch and services. Use our pre-trained applications using our resources running on a platform
stream processing, data models or train custom command-line interface and protected by Google’s security
exploration, Hadoop/Spark, models on your data. other developer tools. model.
and reliable messaging. Cloud Machine Learning Cloud SDK Cloud IAM
BigQuery Platform Deployment Manager Cloud IAP
Cloud Dataflow Vision API Cloud Source Cloud KMS
Cloud Dataproc Video Intelligence API Repositories
Cloud Resource Manager
Cloud Dataprep Speech API Cloud Endpoints
Cloud Security Scanner
Cloud Datalab Translate API Cloud Tools for Android
Cloud Platform Security
Cloud Pub/Sub NLP API Studio
Overview
Genomics Cloud Tools for IntelliJ
Google Plugin for Eclipse
Cloud Test Lab
Cloud Container Builder
Proprietary + Confidential
What are Google Cloud Platform’s
computing products?
App Engine Container Compute Engine
Engine
A flexible, zero Cluster manager Virtual machines
ops platform for and orchestration with industry-
building highly engine built on leading
available apps Google’s container price/performance
experience
Why use Google Compute Engine?
You have an infrastructure-centric view of the
world.
● You need complete control over the virtual-
machine infrastructure. Compute Engine
● You need to make changes to the kernel,
Virtual machines
such as providing your own network or graphic
with industry-
drivers, to squeeze out the last drop of
leading
performance. price/performance
● You need to run a software package that
can’t easily be containerized or you have
existing VM images to move to the cloud.
Why use Google App Engine?
You have an app-centric view of the world.
● You want to focus on writing code and
never touch a server, cluster, or
infrastructure. App Engine
● Building quickly and time to market are
A flexible, zero ops
highly valued.
platform for building
● You want to sleep at night and not worry highly available
about a pager going off or 5xx errors. apps
● You expect your app to have high
availability without a complex
architecture.
Why use Google Container Engine?
You have a container-centric view of the
world.
● Deploying or maintaining a fleet of
VMs has been a challenge and you’ve Container
determined that containers are the Engine
solution. Cluster manager
● You’ve containerized your workload and orchestration
and need a system on which to run and engine built on
Google’s container
manage it.
experience
● You never want to touch a server or
infrastructure.
● You don’t have dependencies on kernel
Computing Service Layer
Your Code
Your
Code App Engine
Your
Managed
Your Code
Runtimes
Code
Google App Engine
Google Container Engine
Google Compute Engine
Proprietary + Confidential
Proprietary + Confidential
What is Compute Engine?
Proprietary + Confidential
Compute Engine Core Concepts
[Link]
Proprietary + Confidential
Quick Test
T
● Compute Engine is a type of infrastructure as a service (IaaS).
● Compute Engine is a computing platform provided as a service, called a “platform as
F
a service” (PaaS).
● Compute Engine provides practically unlimited computing power using virtual
T
machines (VMs) in the cloud.
Proprietary + Confidential
Demo - Creating an Instance
[Link]
Proprietary + Confidential
GCP Regions and network
Finland
Netherland
s 3
Belgium 2
Montrea London 3
Iow 3 3 Frankfurt
l
Oregon 2 a 3
3
4
3 3
Tokyo
California 3
3
N Virginia 3
S Carolina Taiwan
Mumbai 3 3
3
SJC (JP, HK, SG) 2013
2 Singapore
São Paulo
3
Sydney
3
Leased and owned fiber
#
Edge points of presence (>100)
Future region and number of
$29.4 Billion
zones
Current region and number of
Trailing 3 Year CAPEX Investment
#
zones
Glossary
Machine Types
Boot Disk
Service Accounts
SSH Key
Proprietary + Confidential
Proprietary + Confidential
Cloud users
wasting up to Three-year
45
Estimated
Self-Reported
Waste VM leases
Fixed, inflexible
of their spend VM configurations
% Additional
Wasted Spend Per-hour billing
(measured by Rightscale)
Rightscale State of Cloud
2017
Sustained Use Discounts
30 Monthly
Savings
–10%
%
–20%
–30%
Price
Monthl
y
Usage
Committed-Use C C C C C C C C
Cores
C C C C C C C C
Discounts C C C C
M M M M M M M M
● Deploy as you choose, reconfigure whenever
M M M M M M M M
Memory
you want. No need for “conversion” - change M M M M M M M M
VM shapes or move zones in a region at will. M M M M M M
No penalty or fee for this flexibility.
1 year 3 year
● No upfront payments - pay monthly commitment, save commitment, save
● Any usage above your commitment still earns 40% 57%
Sustained Use Discounts
2017 Product Roadmap | Confidential • Do not share
AWS Spot vs. GCP preemptible
AWS spot GCP preemptible
Instance types vcpu Memory Storage Spot price vcpu Memory Preemptible GCP/AWS
c5.18xlarg
e 72 144 EBS only $1.17 72 144 $0.61 52%
c5.2xlarge 8 16 EBS only $0.14 8 16 $0.07 49%
c5.4xlarge 16 32 EBS only $0.30 16 32 $0.14 44%
c5.9xlarge 36 72 EBS only $0.58 36 72 $0.30 52%
[Link] 2 4 EBS only $0.03 2 4 $0.02 52%
m5.24xlarg
e 96 384 EBS only $1.63 96 360 $0.96 59%
m5.2xlarge 8 32 EBS only $0.18 8 30 $0.08 45%
m5.4xlarge 16 64 EBS only $0.27 16 60 $0.16 59%
[Link] 2 8 EBS only $0.03 2 7.5 $0.02 59%
[Link] 4 16 EBS only $0.09 4 15 $0.04 43%
Custom Machine Types & Rightsizing
Recommendations
Any CPU, Any Memory
with Average 19% Savings
Proprietary + Confidential
App Engine
● Your App, At Scale with Google App Engine
● What is App Engine?
● Getting Started with App Engine
● App Engine Architecture and Services
Proprietary + Confidential
Proprietary + Confidential
Proprietary + Confidential
Proprietary + Confidential
Proprietary + Confidential
[Link]
ture=[Link]
Proprietary + Confidential
Proprietary + Confidential
Activity 2
Confidential & Proprietary
Group Activity
Divide yourselfs in 3 groups. Each group research a topic (20 min)
and then presents on the topics (5-10 min).
● DNS
● CDN
● Load Balancing
Confidential & Proprietary
What’s DNS
[Link]
Proprietary + Confidential
What’s CDN
[Link]
[Link]
Proprietary + Confidential
What’s Load Balancing
[Link]
● Distribute incoming traffic to the network by
efficiently distributing across multiple
servers.
● Reliability and high availability is maintained
by redirecting requests only to the servers
which are available.
● Ease of use in adding removing servers in the
network as per demand.
Proprietary + Confidential
Load Balancing Common Algorithms
● Round Robin
○ Sequential request distribution
● Least Connections
○ Request sent to the least used server in
the network
● IP Hash
○ Request sent to the server based on Client
IP
Proprietary + Confidential
What’s VPC
Cloud OnAir: Google Cloud Networking 101
● VPC is a cloud computing service in which a public cloud provider isolates a specific portion of
their public cloud infrastructure to be provisioned for private use.
● With Virtual Private Cloud, customers can connect their Google Cloud Platform (GCP)
resources in a VPC, and isolate them from each other for purposes of security, compliance,
and development vs. test vs. production."
● Customers can also define fine-grained networking policies to govern how GCP communicates
with their on-premises software or other public cloud.
Proprietary + Confidential
Proprietary + Confidential
What’s Cloud Interconnect
Proprietary + Confidential
Google Network Infra
[Link] Proprietary + Confidential
Google Network Infra
Proprietary + Confidential
Google Network Infra
Proprietary + Confidential
Google Network Infra
Proprietary + Confidential
GCP Networking
Standard Tier
Premium Tier
GCP Network Latency is lower than othe provider by 30%
( JP - US West )
Fully Managed Storage & Database
Services
Object Key-value Non-relational Relational Warehouse
Cloud App Engine Cloud Cloud Cloud Cloud BigQuery
Storage Memcache Datastore Bigtable SQL Spanner
Binary or Web/mobile Hierarchical, Heavy read + Web RDBMS+scale, Enterprise Data
object data applications, mobile, web write, events frameworks HA, HTAP Warehouse
gaming
Images, Media Game state, User profiles, AdTech, CMS, Transactions, Analytics,
serving, backups user sessions Game State Financial, IoT eCommerce Ad/Fin/MarTech Dashboards
[Link]
What are relational databases?
Relational database management systems (RDBMSs, or just relational
databases or RDBs) are used extensively. You’ll encounter these most often.
● Relational databases are sometimes called SQL databases because they
usually make full use of the SQL language syntax for querying.
● Common relational databases include: Oracle, SQL Server, DB2, and MySQL.
● They’re very good when:
○ You have a well-structured data model that’s easily expressed in a
schema (video).
○ You don’t have a huge amount of data — a few terabytes at most.
○ You have skilled database administrators (DBAs) on staff to manage and
optimize the database. Refactoring a relational database can be tricky.
● They’re organized based on the relational model of data.
Google Cloud Platform Confidential & Proprietary 85
RDBMSs are organized
based on the relational
model of data
This diagram is a simple relational data model.
Each box represents a table —
like a spreadsheet — with the
column headings listed.
One record is stored
in each row.
They are all linked
by the key value Id.
Google Cloud Platform Confidential & Proprietary 86
Relational database
transactions
A transaction is generally any change in your database carried out by a sequence of
operations performed as a single unit of work. Charging your credit card is a common
example of a database transaction with many individual steps that combine to make it a
single unit of work.
Relational database transaction properties:
○ Atomicity—Are all-or-nothing. Each transaction performed in a database must
complete entirely or have no effect whatsoever.
○ Consistency—Ensure that results conform to rules defined by the database.
○ Isolation—Are isolated from other transactions, for example, so that 2 applications
don’t try to change the same customer order at the same time.
○ Durability—Ensure that results persist even if the database crashes immediately after
the transaction.
Database practitioners often refer to atomicity, consistency, isolation, and durability as
Google Cloud Platform Confidential & Proprietary 87
Relational databases and SQL
Structured Query Language (SQL) is a
programming language for managing data held in
a relational database.
SQL is a very common language, with only minor
variations depending on the relational database
you’re using.
The basic functions of SQL are:
1) CRUD: create, read (or query), update,
and delete records in the database.
2) To define the data model (discussed
earlier).
Google Cloud Platform Confidential & Proprietary 88
Relational database normalization
Database normalization is the process of organizing the tables and
relations to minimize data redundancy.
For example:
● Rather than storing the customer address with each customer
order, a DBA could create a table for the customer addresses and
a table for the orders.
● The address is related to the customer order by a key.
● In this way, the customer address is only stored once.
Google Cloud Platform Confidential & Proprietary 89
Relational database keys
Primary keys
● A primary key is a special column in your table that uniquely identifies all the
records in a table. Each row has its own unique key, which is usually a
number like 1, 2, 3, and so on. Recall the graphic where we talked about the
value of Id in the Contact Person table. That’s the primary key.
● A primary key is a special kind of index because:
○ There can be only one per record.
○ It can’t be null (empty or non-existent).
○ It must be unique.
● A primary key is the most common kind of kind of key, but there are several
other kinds of keys that are useful in relational databases.
Google Cloud Platform Confidential & Proprietary 90
Why don’t relational databases work in all
cases?
3 main reasons:
1. Relational databases don’t scale well.
○ The more data you have, the more time it takes to find information.
○ Relational databases usually get very slow long before they get bigger than
about a terabyte in size. Note: Google Cloud SQL and other solutions that
rely on heavy-duty hardware and tuning are pushing this limit.
2. It’s difficult to define the perfect data model at the beginning of your project.
This is unfortunate for relational databases because the interdependencies in
the data sometimes force DBA to rebuild an entire database to make a small
change (refactoring).
3. If you data model is prone to change, this can slow down the software-
development process.
Google Cloud Platform Confidential & Proprietary 91
Not only SQL (NoSQL)
databases
The NoSQL data model addresses several issues
that the relational model isn’t great at, including:
● Fast queries in massive databases (terabytes)
over rapidly changing data.
● Fast software development and frequent code
updates.
● On-the-fly schema development and iteration.
● Object-oriented programming that’s flexible
and easy to use.
● Handling of semi-structured and unstructured
data.
Read this excellent introductory article on NoSQL
databases and how they compare to relational
databases. See also Wikipedia. Google Cloud Platform Confidential & Proprietary 92
What are NoSQL
databases?
NoSQL databases are mostly:
● Used with object-oriented programming
in real-time web applications.
● Very large databases.
● Used big data applications.
● Flexible in how they store data. They
don’t need a predefined schema and
can even create the schema on the fly
to fit the data.
● Based on open source.
● Have many varied
characteristics...whereas the available
relational databases are all similar.
Google Cloud Platform Confidential & Proprietary 93
NoSQL databases
NoSQL databases generally DON’T use or rely on the following (although
there are exceptions):
● SQL.
● Tables as the basic structure.
● Explicit relationships between data objects.
● ACID transactions—One or more of the properties may be
compromised for a trade-off in, for example, performance or scale.
● Predefined schemas.
Google Cloud Platform Confidential & Proprietary 94
Non-relational and Relational Databases
● What’s a schema
● What are the differences between SQL and NoSQL databases?
● What’s relational and non-relational database
● Non-relational databases vs. Relational databases
Cloud Spanner
[Link]
[Link]
Activity 3
Confidential & Proprietary
Recap
What’s the three most useful topic you learned today?