42
Preston Holmes Head of IoT Solutions IoT at Google Cloud

Google's Infrastructure and Specific IoT Services

Embed Size (px)

Citation preview

Page 1: Google's Infrastructure and Specific IoT Services

Preston HolmesHead of IoT Solutions

IoT at Google Cloud

Page 2: Google's Infrastructure and Specific IoT Services

Google Cloud Platform 2

Organize the world’s information and make it universally accessible and useful.Google’s Mission

2

Page 3: Google's Infrastructure and Specific IoT Services

Google Cloud Platform 3

We’re generating more data than ever before

The number of connected “things” in use in 2017, up 31% from 2016*

8.4B

Confidential & ProprietaryGoogle Cloud Platform 3

Page 4: Google's Infrastructure and Specific IoT Services

Phone"IoT"Phone

IoT is a period of transformation

Page 5: Google's Infrastructure and Specific IoT Services

IoT is a period of transformation

Wearables

ConnectedNot Connected

Watches

Home Appliances

Phones

Cars

Existing Business Owned Equipment

Page 6: Google's Infrastructure and Specific IoT Services

BuildingsTransportation Healthcare

Retail

Manufacturing & Industrial

CitiesHome

Information is Everywhere But it’s not DATA Yet

Page 7: Google's Infrastructure and Specific IoT Services

Internet of ThingsHow do you collect and process this analog information, to transform into useful business Intelligence?

Device Gateway CloudInsightInformation

Page 8: Google's Infrastructure and Specific IoT Services

Internet of ThingsHow do you collect and process this analog information, to transform into useful business Intelligence?

Device Gateway Cloud

DigitalAnalog

InsightInformation

Page 9: Google's Infrastructure and Specific IoT Services

Internet of ThingsHow do you collect and process this analog information, to transform into useful business Intelligence?

Device Gateway Cloud

DigitalAnalog

InsightInformation

Internet of Things

Page 10: Google's Infrastructure and Specific IoT Services

Confidential & ProprietaryGoogle Cloud Platform 10

A datacenter is not a collection of computers,a datacenter is a computer.

Confidential & ProprietaryGoogle Cloud Platform 10

Page 11: Google's Infrastructure and Specific IoT Services

Laying undersea cable

Page 12: Google's Infrastructure and Specific IoT Services
Page 13: Google's Infrastructure and Specific IoT Services

Confidential & ProprietaryGoogle Cloud Platform 13

Google Jupiter:On the left is a Jupiter superblock. It is one part of a fabric which interconnect up to 100,000 servers at 10 Gbit/s each—more than 1 Petabit/sec of total bisection bandwidth for transfer of information between physical and virtual machines It’s enough to transfer the entire scanned contents of the library of congress in 1/10 of a second.

Page 14: Google's Infrastructure and Specific IoT Services

Google Global Cache (GGC) edge nodes

Points of presence (>100)

Network fiber

FASTER (US, JP, TW) 2016

Unity (US, JP) 2010

SJC (JP, HK, SG) 2013

Monet (US, BR) 2017

Google Network More than a collection of data centers

Page 15: Google's Infrastructure and Specific IoT Services

Google Cloud Platform 15

2004 2006 2008 2010 2012 2014 2015

Our research and legacy in data management and analytics stack run deep

Open Source

Page 16: Google's Infrastructure and Specific IoT Services

Google Cloud Platform 16

GFS TensorFlowBigTable

MapReduce Dremel

Flume/Java

Spanner

Millwheel

PubSub

2002 2004 2006 2008 2010 2012

Our research and legacy in data management and analytics stack run deep

Google Papers + Products

BigQuery

Pub/Sub Dataflow

Bigtable

ML

Spanner

2014 2015 2016

Page 17: Google's Infrastructure and Specific IoT Services

Google Big Data Pattern

Cloud Logs

Google App Engine

Google Analytics Premium

Cloud Pub/Sub

BigQuery Storage(tables)

Cloud Bigtable(NoSQL)

Cloud Storage(files)

Cloud Dataflow

BigQuery Analytics(SQL)

Capture Store Analyze

Batch

Process

Stream

Cloud Monitoring

Real-time analytics

Cloud Dataflow

Cloud ML

Real-timedashboard

Real-timealerts

Use

DataScientists

Analysts

Smartapps

Catalog & Data Lifecycle Automation

Cloud Datalab

Cloud Dataproc

Data Studio

Page 18: Google's Infrastructure and Specific IoT Services

IoT Core handles device management and bi-directional device communication as part of an over all GCP IoT Solution

Page 19: Google's Infrastructure and Specific IoT Services

What Services are in IoT-Core ?

Device Manager● Maintains registries of devices as

named logical resources● Protects these entries with IAM

permissions○ eg who can delete a device

● Associates device credentials with these resources

● Acts as the identity provider (IdP) for the MQTT broker

● Provides storage and delivery API for device configurations

● Maintains some operational state metadata for the device:

○ enabled/disabled○ connectivity and error status

MQTT Broker● Provides a stateful socket connection to

devices for bidirectional communication● Brokers device->cloud telemetry data

onto Cloud PubSub for use in downstream GCP products or customer applications

● Delivers configuration updates via a Device Manager API

● Is exposed through a global DNS endpoint over multiple ports

Page 20: Google's Infrastructure and Specific IoT Services

Google Cloud Platform 20

Simple UI for monitoring and management

Cloud Platform

Page 21: Google's Infrastructure and Specific IoT Services

What is MQTT

MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport.

● Originally developed at IBM in 1999 and designed for constrained devices● Is now a ratified standard● Is a binary protocol making efficient use of over-the-wire bandwidth● Is simple to implement and so has many small memory footprint libraries available● Has become a common and de-facto standard used in many IoT projects

Page 22: Google's Infrastructure and Specific IoT Services

Project

Registry

Device

Device Credential

Device Config

Device Manager Resource ModelThe device manager organizes cloud resources to handle device management.

Page 23: Google's Infrastructure and Specific IoT Services

Device Manager: Devices : IdentityDevice identity is based on an asymmetric key-pair of two supported formats:

● RSA 256 public key wrapped in a X.509v3 certificate

● Elliptic curve (ECDSA) algorithm using P-256 and SHA-256 [more efficient, better suited for small devices]

Credentials may optionally have an expiration timestamp

A device can have up to 3 credentials associated with it at a time, allowing for rotation

The service should never need the private key

The sequence shown here is only one way to handle device provisioning

Page 24: Google's Infrastructure and Specific IoT Services

MQTT Broker: authenticationA device authenticates with two pieces of information:1. the MQTT client ID (a feature of the MQTT protocol)

which must be in the form of device name:

projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{device-id}

2. An MQTT password in the form of a JWT token signed by the device's private key

● The "username" field in MQTT clients is ignored● JWT token may have a max expiration of 1 hour● Device's clock must be within 10 minutes of Google's

time (use Google NTP)

Page 25: Google's Infrastructure and Specific IoT Services

Dataflow: organize torrents of IoT datainto actionable windows

Input

Output

Page 26: Google's Infrastructure and Specific IoT Services

Aggregation

2

4

7

0

1

6

33

8

918

9

16Sum

Page 27: Google's Infrastructure and Specific IoT Services

Unbounded

Sum

?

10:0210:00 10:0610:04

2431

6338

7

024

16

3

38

9

0

4

7

033

2

Processing Time

Page 28: Google's Infrastructure and Specific IoT Services

Windowing divides data into event-time-based finite chunks.

Often required when doing aggregations over unbounded data.

Where in event time?

What Where When How

Fixed Sliding1 2 3

54

Sessions

2

431

Key 2

Key 1

Key 3

Time

1 2 3 4

Page 29: Google's Infrastructure and Specific IoT Services

When in processing time?

What Where When How

• Triggers control when results are emitted.

• Triggers are often relative to the watermark.

Page 30: Google's Infrastructure and Specific IoT Services

When: Triggering at the Watermark

What Where When How

Page 31: Google's Infrastructure and Specific IoT Services

1.Classic Batch 2. Batch with Fixed Windows

3. Streaming 5. Streaming With Accumulations

4. Streaming with Speculative + Late Data

Customizing What When Where How

What Where When How

Page 32: Google's Infrastructure and Specific IoT Services

a unified model for batch and stream processing supporting multiple runtimes

a great place to run Beam

Apache Beam Google Cloud Dataflow

The Dataflow Model & Cloud Dataflow Beam

Page 33: Google's Infrastructure and Specific IoT Services

33

one important technology we use is neural networks

OUTPUTINPUT

Page 34: Google's Infrastructure and Specific IoT Services

34

neural net models learn from examples

labeled photos

“cat”

“dog”

“car”

“apple”

“flower”

OUTPUT

Page 35: Google's Infrastructure and Specific IoT Services

35

neural net models learn from examplesMake tiny adjustments to model so output is closer to label for a given image

labeled photos

“cat”

“dog”

“car”

“apple”

“flower”

OUTPUT

Page 36: Google's Infrastructure and Specific IoT Services

36

after a model is trained, you can test it

?unlabeled photo

Page 37: Google's Infrastructure and Specific IoT Services

37

after a model is trained, you can test it

unlabeled photo

“cat”

Page 38: Google's Infrastructure and Specific IoT Services

Google Cloud Platform 38

Can I Hug That?

Page 39: Google's Infrastructure and Specific IoT Services

39

Input Output

“rice”

“restaurants in Seoul”

“hello!”

“A close up of a small child holding a stuffed animal.”

powerful functions that neural nets can learn

안녕하세요

Page 40: Google's Infrastructure and Specific IoT Services

40

Rapidly accelerating use of deep learning at Google

Number of directories containing model description files

2012 2013 2014 2015

1500

1000

500

0

Used across products:

Page 41: Google's Infrastructure and Specific IoT Services

Our new Cloud TPU delivers up to 180 teraflops to train and run machine learning models.

Page 42: Google's Infrastructure and Specific IoT Services

Google Cloud Platform 42

Get started by visiting - cloud.google.com/IoT-Core

Confidential & ProprietaryGoogle Cloud Platform 42