This is a half-hr tech talk designed for developers to give a comprehensive, vendor-agnostic overview of cloud computing, primarily targeting educators in the higher education market but is open to any developer. This is followed by an introduction to products in Google Cloud, focusing on the serverless products. The talk ends with several inspirational examples of what can be built with Google Cloud
1. Cloud computing & Running code
on Google Cloud
Wesley Chun
Developer Advocate, Google
G Suite Dev Show
goo.gl/JpBQ40
About the speaker
Developer Advocate, Google Cloud
â—Ź Mission: enable current (& future)
developers everywhere to be
successful using Google Cloud and
other Google developer tools & APIs
â—Ź Videos: host of the G Suite Dev Show
on YouTube
â—Ź Blogs: developers.googleblog.com &
gsuite-developers.googleblog.com
â—Ź Twitters: @wescpy, @GoogleDevs,
@GSuiteDevs
Previous experience / background
â—Ź Software engineer & architect for 20+ years
â—Ź One of the original Yahoo!Mail engineers
â—Ź Author of bestselling "Core Python" books
(corepython.com)
â—Ź Technical trainer, teacher, instructor since
1983 (Computer Science, C, Linux, Python)
â—Ź Fellow of the Python Software Foundation
â—Ź AB (Math/CS) & CMP (Music/Piano), UC
Berkeley and MSCS, UC Santa Barbara
â—Ź Adjunct Computer Science Faculty, Foothill
College (Silicon Valley)
2. Agenda and Why
â—Ź Need to prep next-generation cloud-ready workforce
â—Ź Introduction to cloud computing
â—Ź Introduction to Google Cloud
â—Ź Run your code on Google Cloud serverless
â—Ź Build with all of Google Cloud (inspiration)
â—Ź Resources and summary
Introduction to cloud
computing
All you need to know about the cloud
1
3. What is Cloud Computing?
spar
Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
Cloud service levels/"pillars"
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
Google Apps Script, App Maker
Salesforce1/force.com
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
4. Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
Outsourcing of apps (SaaS)
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
Google Apps Script, App Maker
Salesforce1/force.com
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
Outsourcing of hardware (IaaS)
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
Google Apps Script, App Maker
Salesforce1/force.com
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
5. Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
Outsourcing of logic-hosting (PaaS)
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
Google Apps Script, App Maker
Salesforce1/force.com
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
IaaS/PaaS gray area (DataB/S/P-aaS?)
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
Google Apps Script, App Maker
Salesforce1/force.com
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
6. Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
SaaS/PaaS gray area
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
Google Apps Script, App Maker
Salesforce1/force.com
Summary of responsibility
SaaS
Software as a Service
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
IaaS
Infrastructure as a Service
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
PaaS
Platform as a Service
Managed by YOU Managed by cloud vendor
Applications
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
on-prem
all you, no cloud
8. Compute
Big Data
BigQuery
Cloud
Pub/Sub
Cloud
Dataproc
Cloud
Datalab
Cloud
Pub/Sub
Genomics
Cloud AI
Cloud Machine
Learning Engine
Cloud
Vision API
Cloud
Speech-to-Text
Cloud Natural
Language API
Cloud
Translation
API
Cloud
Jobs API
Cloud
Dataprep
Cloud Video
Intelligence
API
Advanced
Solutions Lab
Compute
Engine
App
Engine
Kubernetes
Engine
GPU
Cloud
Functions
Container-
Optimized OS
Identity & Security
Cloud IAM
Cloud Resource
Manager
Cloud Security
Scanner
Key
Management
Service
BeyondCorp
Data Loss
Prevention API
Identity-Aware
Proxy
Security Key
Enforcement
Cloud
AutoML
Cloud
Text-to-Speech
Cloud TPU
Dialogflow
Enterprise
Edition
Data Transfer
Transfer
Appliance
Cloud
Composer
Cloud Security
Command
Center
9. Networking
Virtual
Private Cloud
Cloud Load
Balancing
Cloud
CDN
Dedicated
Interconnect
Cloud DNS
Cloud
Network
Cloud
External IP
Addresses
Cloud
Firewall Rules
Cloud
Routes
Cloud VPN
Management Tools
Stackdriver Monitoring Logging
Error
Reporting
Trace
Debugger
Cloud
Deployment
Manager
Cloud
Console
Cloud
Shell
Cloud Mobile
App
Cloud
Billing API
Cloud
APIs
Cloud
Router
Partner
Interconnect
Cloud Armor
Standard
Network Tier
Premium
Network Tier
Profiler
GCP products and
services without a
unique icon have a
generic hexagon.
Developer Tools
Cloud SDK
Cloud Source
Repositories
Maven App
Engine Plugin
Cloud Tools
for IntelliJ
Cloud
Tools for
PowerShell
Cloud
Tools for
Visual Studio
Container
Registry
Cloud Tools
for Eclipse
Cloud Build
API Platform & Ecosystems
API
Analytics
API
Monetization
Apigee API
Platform
Apigee
Sense
Cloud
Endpoints
Developer
Portal
Gradle App
Engine Plugin
IDE plugins
Internet of Things
Cloud IoT
Core
Storage & Databases
Cloud
Storage
Cloud
Bigtable
Cloud
Datastore
Cloud SQL
Cloud
Spanner
Persistent
Disk
Cloud
Memorystore
Cloud
Filestore
Cloud
Test Lab
Cloud IoT
Edge
10. G Suite APIs
Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
Google Apps Script, App Maker
Salesforce1/force.com
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
Google Cloud Platform vs. G Suite
G Suite
APIs
GCP
APIs
11. Compute
(running code)
Running Code: Compute Engine
>
Google Compute Engine
delivers configurable
virtual machines of
all shapes and sizes,
from "micro" to 160
vCPUs, 3.75 TB RAM, &
64 TB HDD or SSD disk
(Debian, CentOS, CoreOS, SUSE, Red Hat
Enterprise Linux, Ubuntu, FreeBSD;
Windows Server 2008 R2, 2012 R2, 2016)
cloud.google.com/compute
12. Running Code: App Engine
Got a great app idea? Now what?
VMs? Operating systems? Big disk?
Web servers? Load balancing?
Database servers? Autoscaling?
With Google App Engine, you don't
think about those. Just upload
your code; we do everything else.
>
cloud.google.com/appengine
Running Code: Cloud Functions
Don't have an entire app? Just want
to deploy small microservices or
"RPCs" online globally? That's what
Google Cloud Functions are for!
(+Firebase version for mobile apps)
cloud.google.com/functions
13. Storage
(where to put your data)
Storing Data: Cloud Storage
cloud.google.com/storage
14. Storing Data: Cloud SQL
SQL servers in the cloud
High-performance, fully-managed
600MB to 416GB RAM; up to 64 vCPUs
Up to 10 TB storage; 40,000 IOPS
Types:
MySQL
Postgres
cloud.google.com/sql
Storing Data: Cloud Datastore
Cloud Datastore: a fully-
managed NoSQL Database
Simple & integrated
Fast & highly-scalable
Easy-to-use query language
cloud.google.com/datastore
15. Storing Data: Firebase
Your data in a Firebase
database is stored as
JSON & synchronized in
real-time to every
connected client
firebase.google.com
Storing Data: Cloud Firestore
The best of both worlds:
the next generation of
Cloud Datastore (with
product rebrand) plus the
Firebase realtime database
cloud.google.com/firestore
16. Machine Learning
(analyze your data)
Storing and Analyzing Data: BigQuery
Google BigQuery: a fast, highly
scalable, cost-effective, and
fully-managed data warehouse in the
cloud for analytics with built-in
machine learning; issue SQL queries
across multi-terabytes of data
cloud.google.com/bigquery
17. Machine Learning: Cloud Vision
Google Cloud Vision enables
developers to understand the
content of an image
cloud.google.com/vision
Machine Learning: Cloud Speech
Google Cloud Speech enables
developers to convert
speech-to-text and vice versa
cloud.google.com/speech
18. Machine Learning: Cloud Natural Language
Google Cloud Natural Language
reveals the structure & meaning
of text; also performs content
classification and sentiment
analysis; multi-lingual
cloud.google.com/language
Machine Learning: Cloud Translation
Access Google Translate
programmatically through this
API; translate an arbitrary
string into any supported
language using state-of-the-art
Neural Machine Translation
cloud.google.com/translate
19. Machine Learning: Cloud Video Intelligence
Google Cloud Video Intelligence
makes videos searchable, and
discoverable, by extracting
metadata with an easy to use API
cloud.google.com/video-intelligence
Machine Learning: AutoML
AutoML: a suite of cloud APIs for
developers with limited machine
learning expertise; chooses the best
models for their data and allows for
further training of those models
cloud.google.com/automl
20. G Suite
(collaborate & communicate)
G Suite: Gmail
Gmail API lets developers access the
power of Gmail by letting you read &
send messages, work with labels, issue
search queries, manage settings(email
sig, OoO responder), and much more!
developers.google.com/gmail
21. G Suite: Google Drive
Drive API allows developers to read,
write, control permissions/sharing,
import/export files, and more!
developers.google.com/drive
G Suite: Google Calendar
Calendar API allows developers to
easily access, modify, and create
events on your users' calendars
developers.google.com/calendar
22. G Suite: Google Sheets
Sheets API gives you programmatic
access to spreadsheets; has ability
to perform almost any action you
can do from the web interface
developers.google.com/sheets
G Suite: Google Slides
Slide API lets developers
programmatically create and
manage presentations
developers.google.com/slides
23. G Suite: Apps Script
Apps Script is a high-level
customized JavaScript runtime for
automation, extension, and
integration with G Suite. Access
40+ different Google services
without writing APIs or OAuth code
developers.google.com/apps-script
G Suite: App Maker
App Maker is a low-code, assistive
development environment allowing
users to build apps without writing
code. Drag-n-drop components from a
palette, connect to a data source,
and deploy a web app in minutes!
developers.google.com/appmaker
24. 3
Run your code on
Google Cloud serverless
GCP: Google App Engine , Google Cloud Functions
G Suite: Google Apps Script , Google App Maker
Serverless: what & why
â—Ź What is serverless?
â—‹ Misnomer: of course there's a server somewhere
â—‹ You just don't have to worry about it!
â—‹ Forbes (May 2018): Serverless... [helps] developers focus on writing code without having to
worry about infrastructure... servers (physical & virtual) completely abstracted away from the
user. [Developers] ... focused on solving business problems (e.g., faster app deployment)
â—Ź Why serverless?
â—‹ Fastest growing segment of cloud... per 2 analysts*:
■$1.9B (2016) and $4.25B (2018) ⇒ $7.7B (2021) and $14.93B (2023)
â—‹ Unless focused on DevOps... VMs, networking, load balancing, web servers,
database servers, frontends/proxies, etc. less relevant for app-builders
â—‹ What if you go viral? Autoscaling: your new best friend
â—‹ What if you don't? Code not running? You're not paying. (No VMs to shutdown.)
* in USD; source: MarketsandMarkets™ & CB Insights (Aug 2018)
25. Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
SaaS
Software as a Service
PaaS
Platform as a Service
IaaS
Infrastructure as a Service
G Suite (Google Apps)
Yahoo!Mail, Hotmail, Salesforce, Netsuite
Google App Engine, Cloud Functions
Heroku, Cloud Foundry, Engine Yard, AWS Lambda
Google BigQuery, Cloud SQL,
Cloud Datastore, NL, Vision, Pub/Sub
AWS Kinesis, RDS; Windows Azure SQL Database
Serverless: PaaS-y compute/processing
Google Apps Script, App Maker
Salesforce1/force.com
Google App Engine
App-hosting in the cloud
26. Google Cloud Functions
Function-hosting in the cloud
Google Apps Script (and App Maker)
Customized JS runtime for G Suite automation, extension, and integration
28. What can you do with this?
Accessing maps from
spreadsheets?!?
goo.gl/oAzBN9
This… with help from Google Maps & Gmail
function sendMap() {
var sheet = SpreadsheetApp.getActiveSheet();
var address = sheet.getRange("A2").getValue();
var map = Maps.newStaticMap().addMarker(address);
MailApp.sendEmail(EMAIL, "Map", map.getMapUrl());
}
JS
38. Supercharge G Suite with GCP
G Suite GCP
BigQuery
Apps Script
Slides Sheets
Application
request
Big data
analytics
App summary
â—Ź Leverage GCP from the G Suite world
â—Ź Google BigQuery for data analysis
â—Ź Build the final mile with G Suite
â—Ź Driven by Google Apps Script
â—Ź Google Sheets for visualization
â—Ź Google Slides for presentable results
â—Ź "Glued" together w/G Suite serverless
â—Ź Build this app (codelab)
â—Ź g.co/codelabs/bigquery-sheets-slides
â—Ź Application source code
â—Ź github.com/googlecodelabs/bigquery-sheets-slides
â—Ź Presented at Google Cloud NEXT (Jul 2018)
â—Ź cloud.withgoogle.com/next18/sf/sessions/session/156878
39. Online resources & summary
What's available for students & educators?5
Session Summary
â—Ź Why go cloud?
â—‹ Cloud computing has taken the world by storm
○ You're behind if you're not already using it… it's not too late!
â—Ź Google Cloud and why serverless?
â—‹ Many features: compute, storage, AI/ML, NW, data processing, etc.
â—‹ Serverless lets users focus on just their logic (apps or functions)
â—‹ Interesting possibilities using both platforms (GCP + G Suite)
40. References
â—Ź G Suite and Google Apps Script documentation
â—‹ developers.google.com/gsuite
â—‹ developers.google.com/apps-script
â—Ź GCP docs source code (i.e., App Engine & Cloud Functions quickstarts)
â—‹ github.com/GoogleCloudPlatform/python-docs-samples
â—‹ github.com/GoogleCloudPlatform/nodejs-docs-samples
â—Ź Inspirational demo apps' resources
â—‹ cloud.withgoogle.com/next18/sf/sessions/session/156878
â– cloud.google.com/blog/products/application-development/
adding-custom-intelligence-to-gmail-with-serverless-on-gcp
â– bit.ly/2OcptaG
â—‹ NEXT '19: cloud.withgoogle.com/next/sf/sessions?session=DEV212
Thank you! Questions?
Wesley Chun
@wescpy