SlideShare a Scribd company logo
Cloud computing overview &
Running code on Google Cloud
Wesley Chun
Developer Advocate, Google
Adjunct CS Faculty, Foothill College
G Suite Dev Show
goo.gl/JpBQ40
About the speaker
Developer Advocate, Google Cloud
● Mission: enable current and 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)
Agenda and Why
● Not enough cloud computing in engineering curriculum
● 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
pedagogy
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, Docker
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
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, Docker
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, Docker
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
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, Docker
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, Docker
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, Docker
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
Imagine you’re hosting a party...
Photo by Annie Spratt on Unsplash
On-Prem
(DIY)
IaaS
(Compute Engine)
PaaS
(App Engine)
SaaS
(Cloud Functions)
Pick theme
Plan party
Find space
Cook
On call
Pick theme
Plan party
Rent hall
Cook
On call
Pick theme
Plan party
Rent hall
Hire Caterer
Hire manager
Pick theme
Hire planner
Rent hall
Hire caterer
Hire manager
Theme -
Logistics -
Space -
Food -
Manage -
Spec/Reqs
Design app
Provision HW
Build & Serve app
Manage app
IaaS++
(Cloud Launcher)
Pick theme
Plan party
Rent hall
Hire Caterer
On call
2 Introduction to
Google Cloud
GCP and G Suite
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, Docker
Google Cloud Platform vs. G Suite
G Suite
APIs
GCP
APIs
REST API examples
Short Python code snippets using GCP & G Suite APIs
API key (public data) vs. OAuth2 access (private data)
Google APIs client
libraries for many
languages; demos in
developers.google.com/
api-client-library
List (first 100) files/folders in Google Drive
from __future__ import print_function
from apiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('client_secret.json', SCOPES)
creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
files = DRIVE.files().list().execute().get('files', [])
for f in files:
print(f['name'], f['mimeType'])
Listing your files
goo.gl/ZIgf8k
Automate photo albums
OR
Import/Export: Customized reports, “database,” or both!
Try our Node.js customized reporting tool codelab:
g.co/codelabs/sheets
Migrate SQL data to a Sheet
# read SQL data then create new spreadsheet & add rows into it
FIELDS = ('ID', 'Customer Name', 'Product Code',
'Units Ordered', 'Unit Price', 'Status')
cxn = sqlite3.connect('db.sqlite')
cur = cxn.cursor()
rows = cur.execute('SELECT * FROM orders').fetchall()
cxn.close()
rows.insert(0, FIELDS)
DATA = {'properties': {'title': 'Customer orders'}}
SHEET_ID = SHEETS.spreadsheets().create(body=DATA,
fields='spreadsheetId').execute().get('spreadsheetId')
SHEETS.spreadsheets().values().update(spreadsheetId=SHEET_ID, range='A1',
body={'values': rows}, valueInputOption='RAW').execute()
Migrate SQL data
to Sheets
goo.gl/N1RPwC
BigQuery: querying Shakespeare words
TITLE = "The top 10 most common words in all of Shakespeare's works"
QUERY = '''
SELECT LOWER(word) AS word, sum(word_count) AS count
FROM [bigquery-public-data:samples.shakespeare]
GROUP BY word ORDER BY count DESC LIMIT 10
'''
rsp = BQ.query(body={'query': QUERY}, projectId=PROJ_ID).execute()
print('n*** Results for %r:n' % TITLE)
for col in rsp['schema']['fields']: # HEADERS
print(col['name'].upper(), end='t')
print()
for row in rsp['rows']: # DATA
for col in row['f']:
print(col['v'], end='t')
print()
Top 10 most common Shakespeare words
$ python bq_shake.py
*** Results for "The most common words in all of Shakespeare's works":
WORD COUNT
the 29801
and 27529
i 21029
to 20957
of 18514
a 15370
you 14010
my 12936
in 11722
that 11519
[simple API/API key sample]
Simple sentiment & classification analysis
data = {'type': 'PLAIN_TEXT', 'content': '''
Google, headquartered in Mountain View, unveiled the new Android
phone at the Consumer Electronics Show. Sundar Pichai said in
his keynote that users love their new Android phones.'''
sentiment = NL.documents().analyzeSentiment(
body={'document': data}).execute().get('documentSentiment')
print('TEXT:', text)
print('nSENTIMENT: score (%s), magnitude (%s)' % (
sentiment['score'], sentiment['magnitude']))
print('nCATEGORIES:')
categories = NL.documents().classifyText(
body={'document': data}).execute().get('categories')
for c in categories:
print ('* %s (%s)' % (c['name'][1:], c['confidence']))
PY
Sentiment & classification analysis output
$ python nl_sent_class.py
TEXT: Google, headquartered in Mountain View, unveiled the new Android
phone at the Consumer Electronics Show. Sundar Pichai said in
his keynote that users love their new Android phones.
SENTIMENT: score (0.3), magnitude (0.6)
CATEGORIES:
* Internet & Telecom (0.76)
* Computers & Electronics (0.64)
* News (0.56)
What about Google Classroom?
● Originally announced May 2014
● LMS integrated with G Suite (Google Docs, Sheets, Slides, etc.)
● Helps teachers manage coursework, create classes, distribute
assignments, grade & send feedback, manage students &
guardians, manage discussion forums, give & grade quizzes
● Suitable for higher ed; more likely to be used in K-12
○ Higher ed generally already using dedicated LMS
● Resources
○ edu.google.com/products/classroom
○ blog.google/outreach-initiatives/education/previewing-new-classroom
○ developers.google.com/classroom
○ developers.google.com/apps-script/advanced/classroom
What about Google Course Kit?
● Originally announced Jul 2018
● More suitable in higher ed due to dedicated LMS
● Integrate your LMS with G Suite (Google Docs, Sheets, Slides, etc.)
○ Blackboard, Canvas, Moodle, Sakai supported
○ Integrate w/your LMS at no cost
○ Compliant with Learning Tools Interoperability (LTI) standard
● Create assignments & manage coursework from within your LMS
● Built-in grading tool; manage feedback in one central place
● Resources
○ edu.google.com/products/course-kit
○ blog.google/outreach-initiatives/education/introducing-course-kit-
new-ways-collaborate-g-suite-your-lms-designed-higher-ed
○ support.google.com/edu/coursekit/answer/9069054
○ support.google.com/edu/coursekit/answer/9069147
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)
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, Docker
Serverless: PaaS-y compute/processing
Google Apps Script, App Maker
Salesforce1/force.com
Google App Engine
App-hosting in the cloud
Why does App Engine exist?
Hello World (3 files)
app.yaml
runtime: python37
main.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
requirements.txt
Flask==1.0.2
Deploy:
$ gcloud app deploy
Access globally:
https://APP_ID.appspot.com
Popular App Engine Use Cases
● Mobile/Tablet
○ App backends
○ Cloud persistence
● Social/Mobile Games
○ Speed, scale
○ API integrations
○ Personals/dating
● Consumer Web Apps
○ Unpredictable traffic
○ Scale
● Apps in Academia
○ Any course where students
build web or mobile apps
○ Research projects
○ IT/Operational apps
● Business Apps
○ Enterprise
○ Java runtime
○ Web or Mobile
Google Cloud Functions
Function-hosting in the cloud
Google Cloud Functions
Languages Supported
● Node.js 6, 8 (JavaScript)
● Python 3.7
● Go 1.11
Deploying Cloud Functions
● Create locally then deploy on cmd-line OR
● Edit and deploy from developer web console
Triggering Cloud Functions (response to events)
● HTTP — via HTTP request
● Cloud Storage — bucket object/metadata CRUD
● Cloud Pub/Sub — new message
● Firebase (DB, Storage, Analytics, Auth)
To create a function
Create function code locally then deploy on cmd-line
OR
1. Open GCP developer console @ console.cloud.google.com
2. Select a project (or create new one)
3. Choose Cloud Functions, then Create Function
4. Pick name, memory, trigger type, language, etc.
5. Write code in browser then click to deploy (and test)
"Hello World" Python (nearly-)MVP Cloud Function
main.py
def hello_world(request):
return 'Hello %s!' % request.args['value'] 
if hasattr(request, 'args') else 'World!'
Deploy:
$ gcloud functions deploy hello --runtime python37 --trigger-http
Access globally (curl):
curl -X POST https://[GCP_REGION]-[PROJECT_ID].cloudfunctions.net/hello 
-H "Content-Type:application/json" --data '{"value": "Guido"}'
Access globally (browser):
https://[GCP_REGION]-[PROJECT_ID].cloudfunctions.net/hello?value=Guido
Google Apps Script (and App Maker)
Customized JS runtime for G Suite automation, extension, and integration
Sheets-bound “Hello World!”
Apps Script intro
goo.gl/1sXeuD
Sheets-bound “Hello World!”
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);
GmailApp.sendEmail('friend@example.com', 'Map',
'See below.', {attachments:[map]});
}
JS
● Low-code assistive development
environment; Cloud SQL default
● Go from idea to app in minutes
● Drag-n-drop app building
● Many pre-made template apps
● Generates Apps Script code
● Requires at least G Suite Business
Google App Maker
developers.google.com/appmaker
4 All of Cloud (inspiration)
Build with both GCP tools and G Suite
Custom intelligence in Gmail
Analyze G Suite data with GCP
Gmail message processing with GCP
Gmail
Cloud
Pub/Sub
Cloud
Functions
Cloud
Vision
G Suite GCP
Star
message
Message
notification
Trigger
function
Extract
images
Categorize
images
Inbox augmented with Cloud Function
Big data analysis to slide presentation
Access GCP tools from G Suite
Big data analysis
Store big data results
Visualize big data results
Ingest data from Sheets
Link to chart in Sheets
Supercharge G Suite with GCP
G Suite GCP
BigQuery
Apps Script
Slides Sheets
Application
request
Big data
analytics
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!
○ Help train the next generation cloud-ready workforce!
● 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)
References
● G Suite, Google Apps Script documentation & open source repos
○ developers.google.com/gsuite
○ developers.google.com/apps-script
○ github.com/gsuitedevs
● Google Cloud Platform (GCP) documentation & open source repos
○ cloud.google.com/gcp
○ cloud.google.com/docs
○ github.com/GoogleCloudPlatform/{python,nodejs}-docs-samples
○ Know AWS? Compare w/GCP at: cloud.google.com/docs/compare/aws
● Google APIs Client Libraries (G Suite & GCP) & Google Cloud SDK (GCP-only)
○ developers.google.com/api-client-library
○ cloud.google.com/sdk
More references
● Relevant videos
○ goo.gl/RbyTFD (new Google APIs project setup)
○ goo.gl/KMfbeK (common Python OAuth2 boilerplate code review)
○ goo.gl/ZIgf8k (APIs intro codelab [Drive API])
● Relevant codelabs
○ g.co/codelabs/gsuite-apis-intro (Drive API)
○ g.co/codelabs/apps-script-intro
○ codelabs.developers.google.com/codelabs/cloud-app-engine-python
● Inspirational apps
○ bit.ly/2OcptaG
○ cloud.google.com/blog/products/application-development/
adding-custom-intelligence-to-gmail-with-serverless-on-gcp
○ NEXT '19: cloud.withgoogle.com/next/sf/sessions?session=DEV212
Learning resources
● Codelabs: self-paced, hands-on tutorials
○ Google codelabs: need a Gmail account, always free
■ g.co/codelabs/cloud
○ Qwiklabs codelabs: don't need a Gmail acct; typically not free
■ bit.ly/ccscsw-qwiklabs (promo thru Mar 31) then google.qwiklabs.com
■ Individuals can request 200 more credits; 5000 credits for use in courses
● Official GCP docs: cloud.google.com/gcp/getting-started
○ Recommended: Getting Started, Cloud Console, Cloud Shell, Cloud SDK, GCP Free Tier
(need a credit card), Community
● YouTube video series: youtube.com/GoogleCloud
○ Recommended: Cloud Minute shorts & Cloud NEXT videos
○ G Suite Dev Show: goo.gl/JpBQ40
Resources for Higher Education
● Education grant program
○ Teaching grants (per-course basis)
■ $50USD for students
■ $100USD for faculty & TAs
■ You'll barely use any of it… KEY: no giving Google your credit card
○ Research grants
■ Larger amounts, granted for longer period of time
○ Turnaround time: 3-4 business days
● Teacher center
○ teachercenter.withgoogle.com/gcp
○ Apply here for education grants
○ Apply here for Qwiklabs credits
Career Readiness:
Associate Cloud
Engineer track
On-demand
Get free access to “Architecting
with Google Cloud Platform”
specialization on-demand on
Coursera.
(100% discount: 6 courses, 4 months access)
Self-paced labs
Get free access to “Cloud
Architecture Quest” & other
self-paced labs on Qwiklabs.
(100% discount: 10+ labs)
Google Cloud Certified
Prepare to take the exam and
earn your Associate Cloud
Engineer Certification.
(100% discount for faculty, 50% discount for
students per adherence to timelines and
other criteria)
Prepare your students for
careers in a cloud-first world.
Apply now.
See Career Readiness tab
under cloud.google.com/edu
Invite me (or my team) to
your campus... it's our job!
● Faculty & grad students
● Researchers
● Undergrads
● University IT staff/CIO/CTO
● University entrepreneurship
centers/capstone project leads
Thank you! Questions?
Wesley Chun
@wescpy

More Related Content

Similar to Cloud computing overview & running your code on Google Cloud (20)

PDF
Serverless Computing with Python
wesley chun
 
PDF
Build with ALL of Google Cloud
wesley chun
 
PDF
Powerful Google developer tools for immediate impact! (2023-24 B)
wesley chun
 
PDF
Deploy Basic AI web apps with Serverless Computing from Google Cloud
wesley chun
 
PDF
Powerful Google developer tools for immediate impact! (2023-24 A)
wesley chun
 
PDF
Google Cloud Platform Update
Ido Green
 
PDF
A Tour of Google Cloud Platform
Colin Su
 
PDF
Exploring Google APIs with Python
wesley chun
 
PDF
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
IMC Institute
 
PDF
Serverless computing with Google Cloud
wesley chun
 
PDF
Google App Engine
Software Park Thailand
 
PDF
Exploring Google (Cloud) APIs with Python & JavaScript
wesley chun
 
PDF
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
 
PDF
Introduction to Google Cloud Platform Technologies
Chris Schalk
 
PDF
Introduction to Cloud Computing (New)
Chathuranga Bandara
 
PDF
Powerful Google Cloud tools for your hack
wesley chun
 
PDF
Gcp intro-20160721
Haeseung Lee
 
KEY
Google App Engine - Simple Introduction
Lenny Rachitsky
 
PDF
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
 
PDF
Google app engine
esmaillhasanzadeh1
 
Serverless Computing with Python
wesley chun
 
Build with ALL of Google Cloud
wesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 B)
wesley chun
 
Deploy Basic AI web apps with Serverless Computing from Google Cloud
wesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 A)
wesley chun
 
Google Cloud Platform Update
Ido Green
 
A Tour of Google Cloud Platform
Colin Su
 
Exploring Google APIs with Python
wesley chun
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
IMC Institute
 
Serverless computing with Google Cloud
wesley chun
 
Google App Engine
Software Park Thailand
 
Exploring Google (Cloud) APIs with Python & JavaScript
wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
 
Introduction to Google Cloud Platform Technologies
Chris Schalk
 
Introduction to Cloud Computing (New)
Chathuranga Bandara
 
Powerful Google Cloud tools for your hack
wesley chun
 
Gcp intro-20160721
Haeseung Lee
 
Google App Engine - Simple Introduction
Lenny Rachitsky
 
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
 
Google app engine
esmaillhasanzadeh1
 

More from wesley chun (19)

PDF
From zero to Google APIs: Beyond search & AI... leverage all of Google
wesley chun
 
PDF
Build an AI/ML-driven image archive processing workflow: Image archive, analy...
wesley chun
 
PDF
Easy path to machine learning (2023-2024)
wesley chun
 
PDF
Exploring Google APIs with Python
wesley chun
 
PDF
Build an AI/ML-driven image archive processing workflow: Image archive, analy...
wesley chun
 
PDF
Exploring Google APIs 102: Cloud vs. non-GCP Google APIs
wesley chun
 
PDF
Easy path to machine learning (2022)
wesley chun
 
PDF
Google... more than just a cloud
wesley chun
 
PDF
Accessing Google Cloud APIs
wesley chun
 
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
wesley chun
 
PDF
Image archive, analysis & report generation with Google Cloud
wesley chun
 
PDF
Easy path to machine learning (Spring 2021)
wesley chun
 
PDF
Serverless Computing with Google Cloud
wesley chun
 
PDF
Run your code serverlessly on Google's open cloud
wesley chun
 
PDF
Introduction to Cloud Computing with Google Cloud
wesley chun
 
PDF
Easy path to machine learning (Spring 2020)
wesley chun
 
PDF
Google Cloud @ Hackathons (2020)
wesley chun
 
PDF
Google Apps Script: Accessing G Suite & other Google services with JavaScript
wesley chun
 
PDF
Exploring Google (Cloud) APIs & Cloud Computing overview
wesley chun
 
From zero to Google APIs: Beyond search & AI... leverage all of Google
wesley chun
 
Build an AI/ML-driven image archive processing workflow: Image archive, analy...
wesley chun
 
Easy path to machine learning (2023-2024)
wesley chun
 
Exploring Google APIs with Python
wesley chun
 
Build an AI/ML-driven image archive processing workflow: Image archive, analy...
wesley chun
 
Exploring Google APIs 102: Cloud vs. non-GCP Google APIs
wesley chun
 
Easy path to machine learning (2022)
wesley chun
 
Google... more than just a cloud
wesley chun
 
Accessing Google Cloud APIs
wesley chun
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
wesley chun
 
Image archive, analysis & report generation with Google Cloud
wesley chun
 
Easy path to machine learning (Spring 2021)
wesley chun
 
Serverless Computing with Google Cloud
wesley chun
 
Run your code serverlessly on Google's open cloud
wesley chun
 
Introduction to Cloud Computing with Google Cloud
wesley chun
 
Easy path to machine learning (Spring 2020)
wesley chun
 
Google Cloud @ Hackathons (2020)
wesley chun
 
Google Apps Script: Accessing G Suite & other Google services with JavaScript
wesley chun
 
Exploring Google (Cloud) APIs & Cloud Computing overview
wesley chun
 
Ad

Recently uploaded (20)

PDF
Electrical Machines and Their Protection.pdf
Nabajyoti Banik
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PDF
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
PDF
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
PDF
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PPTX
Final Major project a b c d e f g h i j k l m
bharathpsnab
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PPT
Testing and final inspection of a solar PV system
MuhammadSanni2
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PPTX
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
PPTX
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
PPTX
OCS353 DATA SCIENCE FUNDAMENTALS- Unit 1 Introduction to Data Science
A R SIVANESH M.E., (Ph.D)
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PDF
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
PPTX
How Industrial Project Management Differs From Construction.pptx
jamespit799
 
PPTX
Biosensors, BioDevices, Biomediccal.pptx
AsimovRiyaz
 
PPT
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
PDF
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
Electrical Machines and Their Protection.pdf
Nabajyoti Banik
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
Design Thinking basics for Engineers.pdf
CMR University
 
Final Major project a b c d e f g h i j k l m
bharathpsnab
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
Testing and final inspection of a solar PV system
MuhammadSanni2
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
OCS353 DATA SCIENCE FUNDAMENTALS- Unit 1 Introduction to Data Science
A R SIVANESH M.E., (Ph.D)
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
How Industrial Project Management Differs From Construction.pptx
jamespit799
 
Biosensors, BioDevices, Biomediccal.pptx
AsimovRiyaz
 
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
 
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
Ad

Cloud computing overview & running your code on Google Cloud

  • 1. Cloud computing overview & Running code on Google Cloud Wesley Chun Developer Advocate, Google Adjunct CS Faculty, Foothill College G Suite Dev Show goo.gl/JpBQ40 About the speaker Developer Advocate, Google Cloud ● Mission: enable current and 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 ● Not enough cloud computing in engineering curriculum ● 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. pedagogy What is Cloud Computing? spar
  • 4. 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, Docker 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 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, Docker 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
  • 5. 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, Docker 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 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, Docker 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
  • 6. 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, Docker 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, Docker 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
  • 7. 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 Imagine you’re hosting a party... Photo by Annie Spratt on Unsplash
  • 8. On-Prem (DIY) IaaS (Compute Engine) PaaS (App Engine) SaaS (Cloud Functions) Pick theme Plan party Find space Cook On call Pick theme Plan party Rent hall Cook On call Pick theme Plan party Rent hall Hire Caterer Hire manager Pick theme Hire planner Rent hall Hire caterer Hire manager Theme - Logistics - Space - Food - Manage - Spec/Reqs Design app Provision HW Build & Serve app Manage app IaaS++ (Cloud Launcher) Pick theme Plan party Rent hall Hire Caterer On call 2 Introduction to Google Cloud GCP and G Suite
  • 9. 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, Docker Google Cloud Platform vs. G Suite G Suite APIs GCP APIs
  • 10. REST API examples Short Python code snippets using GCP & G Suite APIs API key (public data) vs. OAuth2 access (private data) Google APIs client libraries for many languages; demos in developers.google.com/ api-client-library
  • 11. List (first 100) files/folders in Google Drive from __future__ import print_function from apiclient import discovery from httplib2 import Http from oauth2client import file, client, tools SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata' store = file.Storage('storage.json') creds = store.get() if not creds or creds.invalid: flow = client.flow_from_clientsecrets('client_secret.json', SCOPES) creds = tools.run_flow(flow, store) DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http())) files = DRIVE.files().list().execute().get('files', []) for f in files: print(f['name'], f['mimeType']) Listing your files goo.gl/ZIgf8k Automate photo albums OR
  • 12. Import/Export: Customized reports, “database,” or both! Try our Node.js customized reporting tool codelab: g.co/codelabs/sheets Migrate SQL data to a Sheet # read SQL data then create new spreadsheet & add rows into it FIELDS = ('ID', 'Customer Name', 'Product Code', 'Units Ordered', 'Unit Price', 'Status') cxn = sqlite3.connect('db.sqlite') cur = cxn.cursor() rows = cur.execute('SELECT * FROM orders').fetchall() cxn.close() rows.insert(0, FIELDS) DATA = {'properties': {'title': 'Customer orders'}} SHEET_ID = SHEETS.spreadsheets().create(body=DATA, fields='spreadsheetId').execute().get('spreadsheetId') SHEETS.spreadsheets().values().update(spreadsheetId=SHEET_ID, range='A1', body={'values': rows}, valueInputOption='RAW').execute() Migrate SQL data to Sheets goo.gl/N1RPwC
  • 13. BigQuery: querying Shakespeare words TITLE = "The top 10 most common words in all of Shakespeare's works" QUERY = ''' SELECT LOWER(word) AS word, sum(word_count) AS count FROM [bigquery-public-data:samples.shakespeare] GROUP BY word ORDER BY count DESC LIMIT 10 ''' rsp = BQ.query(body={'query': QUERY}, projectId=PROJ_ID).execute() print('n*** Results for %r:n' % TITLE) for col in rsp['schema']['fields']: # HEADERS print(col['name'].upper(), end='t') print() for row in rsp['rows']: # DATA for col in row['f']: print(col['v'], end='t') print() Top 10 most common Shakespeare words $ python bq_shake.py *** Results for "The most common words in all of Shakespeare's works": WORD COUNT the 29801 and 27529 i 21029 to 20957 of 18514 a 15370 you 14010 my 12936 in 11722 that 11519
  • 14. [simple API/API key sample] Simple sentiment & classification analysis data = {'type': 'PLAIN_TEXT', 'content': ''' Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronics Show. Sundar Pichai said in his keynote that users love their new Android phones.''' sentiment = NL.documents().analyzeSentiment( body={'document': data}).execute().get('documentSentiment') print('TEXT:', text) print('nSENTIMENT: score (%s), magnitude (%s)' % ( sentiment['score'], sentiment['magnitude'])) print('nCATEGORIES:') categories = NL.documents().classifyText( body={'document': data}).execute().get('categories') for c in categories: print ('* %s (%s)' % (c['name'][1:], c['confidence'])) PY Sentiment & classification analysis output $ python nl_sent_class.py TEXT: Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronics Show. Sundar Pichai said in his keynote that users love their new Android phones. SENTIMENT: score (0.3), magnitude (0.6) CATEGORIES: * Internet & Telecom (0.76) * Computers & Electronics (0.64) * News (0.56)
  • 15. What about Google Classroom? ● Originally announced May 2014 ● LMS integrated with G Suite (Google Docs, Sheets, Slides, etc.) ● Helps teachers manage coursework, create classes, distribute assignments, grade & send feedback, manage students & guardians, manage discussion forums, give & grade quizzes ● Suitable for higher ed; more likely to be used in K-12 ○ Higher ed generally already using dedicated LMS ● Resources ○ edu.google.com/products/classroom ○ blog.google/outreach-initiatives/education/previewing-new-classroom ○ developers.google.com/classroom ○ developers.google.com/apps-script/advanced/classroom What about Google Course Kit? ● Originally announced Jul 2018 ● More suitable in higher ed due to dedicated LMS ● Integrate your LMS with G Suite (Google Docs, Sheets, Slides, etc.) ○ Blackboard, Canvas, Moodle, Sakai supported ○ Integrate w/your LMS at no cost ○ Compliant with Learning Tools Interoperability (LTI) standard ● Create assignments & manage coursework from within your LMS ● Built-in grading tool; manage feedback in one central place ● Resources ○ edu.google.com/products/course-kit ○ blog.google/outreach-initiatives/education/introducing-course-kit- new-ways-collaborate-g-suite-your-lms-designed-higher-ed ○ support.google.com/edu/coursekit/answer/9069054 ○ support.google.com/edu/coursekit/answer/9069147
  • 16. 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)
  • 17. 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, Docker Serverless: PaaS-y compute/processing Google Apps Script, App Maker Salesforce1/force.com Google App Engine App-hosting in the cloud
  • 18. Why does App Engine exist? Hello World (3 files) app.yaml runtime: python37 main.py from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' requirements.txt Flask==1.0.2 Deploy: $ gcloud app deploy Access globally: https://APP_ID.appspot.com
  • 19. Popular App Engine Use Cases ● Mobile/Tablet ○ App backends ○ Cloud persistence ● Social/Mobile Games ○ Speed, scale ○ API integrations ○ Personals/dating ● Consumer Web Apps ○ Unpredictable traffic ○ Scale ● Apps in Academia ○ Any course where students build web or mobile apps ○ Research projects ○ IT/Operational apps ● Business Apps ○ Enterprise ○ Java runtime ○ Web or Mobile Google Cloud Functions Function-hosting in the cloud
  • 20. Google Cloud Functions Languages Supported ● Node.js 6, 8 (JavaScript) ● Python 3.7 ● Go 1.11 Deploying Cloud Functions ● Create locally then deploy on cmd-line OR ● Edit and deploy from developer web console Triggering Cloud Functions (response to events) ● HTTP — via HTTP request ● Cloud Storage — bucket object/metadata CRUD ● Cloud Pub/Sub — new message ● Firebase (DB, Storage, Analytics, Auth) To create a function Create function code locally then deploy on cmd-line OR 1. Open GCP developer console @ console.cloud.google.com 2. Select a project (or create new one) 3. Choose Cloud Functions, then Create Function 4. Pick name, memory, trigger type, language, etc. 5. Write code in browser then click to deploy (and test)
  • 21. "Hello World" Python (nearly-)MVP Cloud Function main.py def hello_world(request): return 'Hello %s!' % request.args['value'] if hasattr(request, 'args') else 'World!' Deploy: $ gcloud functions deploy hello --runtime python37 --trigger-http Access globally (curl): curl -X POST https://[GCP_REGION]-[PROJECT_ID].cloudfunctions.net/hello -H "Content-Type:application/json" --data '{"value": "Guido"}' Access globally (browser): https://[GCP_REGION]-[PROJECT_ID].cloudfunctions.net/hello?value=Guido Google Apps Script (and App Maker) Customized JS runtime for G Suite automation, extension, and integration
  • 22. Sheets-bound “Hello World!” Apps Script intro goo.gl/1sXeuD Sheets-bound “Hello World!”
  • 23. 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); GmailApp.sendEmail('[email protected]', 'Map', 'See below.', {attachments:[map]}); } JS
  • 24. ● Low-code assistive development environment; Cloud SQL default ● Go from idea to app in minutes ● Drag-n-drop app building ● Many pre-made template apps ● Generates Apps Script code ● Requires at least G Suite Business Google App Maker developers.google.com/appmaker
  • 25. 4 All of Cloud (inspiration) Build with both GCP tools and G Suite Custom intelligence in Gmail Analyze G Suite data with GCP
  • 26. Gmail message processing with GCP Gmail Cloud Pub/Sub Cloud Functions Cloud Vision G Suite GCP Star message Message notification Trigger function Extract images Categorize images
  • 27. Inbox augmented with Cloud Function Big data analysis to slide presentation Access GCP tools from G Suite
  • 29. Store big data results
  • 30. Visualize big data results Ingest data from Sheets
  • 31. Link to chart in Sheets
  • 32. Supercharge G Suite with GCP G Suite GCP BigQuery Apps Script Slides Sheets Application request Big data analytics Online resources & summary What's available for students & educators?5
  • 33. 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! ○ Help train the next generation cloud-ready workforce! ● 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) References ● G Suite, Google Apps Script documentation & open source repos ○ developers.google.com/gsuite ○ developers.google.com/apps-script ○ github.com/gsuitedevs ● Google Cloud Platform (GCP) documentation & open source repos ○ cloud.google.com/gcp ○ cloud.google.com/docs ○ github.com/GoogleCloudPlatform/{python,nodejs}-docs-samples ○ Know AWS? Compare w/GCP at: cloud.google.com/docs/compare/aws ● Google APIs Client Libraries (G Suite & GCP) & Google Cloud SDK (GCP-only) ○ developers.google.com/api-client-library ○ cloud.google.com/sdk
  • 34. More references ● Relevant videos ○ goo.gl/RbyTFD (new Google APIs project setup) ○ goo.gl/KMfbeK (common Python OAuth2 boilerplate code review) ○ goo.gl/ZIgf8k (APIs intro codelab [Drive API]) ● Relevant codelabs ○ g.co/codelabs/gsuite-apis-intro (Drive API) ○ g.co/codelabs/apps-script-intro ○ codelabs.developers.google.com/codelabs/cloud-app-engine-python ● Inspirational apps ○ bit.ly/2OcptaG ○ cloud.google.com/blog/products/application-development/ adding-custom-intelligence-to-gmail-with-serverless-on-gcp ○ NEXT '19: cloud.withgoogle.com/next/sf/sessions?session=DEV212 Learning resources ● Codelabs: self-paced, hands-on tutorials ○ Google codelabs: need a Gmail account, always free ■ g.co/codelabs/cloud ○ Qwiklabs codelabs: don't need a Gmail acct; typically not free ■ bit.ly/ccscsw-qwiklabs (promo thru Mar 31) then google.qwiklabs.com ■ Individuals can request 200 more credits; 5000 credits for use in courses ● Official GCP docs: cloud.google.com/gcp/getting-started ○ Recommended: Getting Started, Cloud Console, Cloud Shell, Cloud SDK, GCP Free Tier (need a credit card), Community ● YouTube video series: youtube.com/GoogleCloud ○ Recommended: Cloud Minute shorts & Cloud NEXT videos ○ G Suite Dev Show: goo.gl/JpBQ40
  • 35. Resources for Higher Education ● Education grant program ○ Teaching grants (per-course basis) ■ $50USD for students ■ $100USD for faculty & TAs ■ You'll barely use any of it… KEY: no giving Google your credit card ○ Research grants ■ Larger amounts, granted for longer period of time ○ Turnaround time: 3-4 business days ● Teacher center ○ teachercenter.withgoogle.com/gcp ○ Apply here for education grants ○ Apply here for Qwiklabs credits Career Readiness: Associate Cloud Engineer track On-demand Get free access to “Architecting with Google Cloud Platform” specialization on-demand on Coursera. (100% discount: 6 courses, 4 months access) Self-paced labs Get free access to “Cloud Architecture Quest” & other self-paced labs on Qwiklabs. (100% discount: 10+ labs) Google Cloud Certified Prepare to take the exam and earn your Associate Cloud Engineer Certification. (100% discount for faculty, 50% discount for students per adherence to timelines and other criteria) Prepare your students for careers in a cloud-first world. Apply now. See Career Readiness tab under cloud.google.com/edu
  • 36. Invite me (or my team) to your campus... it's our job! ● Faculty & grad students ● Researchers ● Undergrads ● University IT staff/CIO/CTO ● University entrepreneurship centers/capstone project leads Thank you! Questions? Wesley Chun @wescpy