(arc306) iot: small things and the cloud | aws re:invent 2014

Post on 02-Jul-2015

2.339 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Working with fleets of ''Internet of Things'' (IoT) devices brings about distinct challenges. In this session, we will explore four of these challenges: telemetry, commands, device devops, and audit and authorization, and how they transform when deploying hundreds-of-thousands of resource-constrained devices. We'll explore high-level architectural patterns that customers use to meet these challenges through the functionality and ubiquity of a globally accessible cloud platform. If you consider yourself a device developer, an electrical, industrial, or hardware engineer, a hardware incubator class member, a new device manufacturer, an existing device manufacturer who wants to smarten up their next-gen devices, or a software developer working with people who identify as part of these tribes, you'll want to participate in this session.

TRANSCRIPT

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

ARC 306

IoT: Small Things and the Cloud

Brett Francis, Solutions Architecture

November 12, 2014 | Las Vegas, NV

What is a Small Thing?

What is a Small Thing?Why

Small Things maximize

a resource by using it

as little as possible.

Define: Resource constrained computing thing

• Devices constrained in at least one

computing dimension

• Regularly deployed at counts in the

thousands or more

• May play critical roles without human

interaction

IoT and Small Thing comparisons

Not a Small Thing A Small Thing

IoT and Small Thing comparisons

Not a Small Thing A Small Thing

IoT and Small Thing comparisons

Not a Small Thing A Small Thing

IoT and Small Thing comparisons

Not a Small Thing A Small Thing

IoT and Small Thing comparisons

Not a Small Thing A Small Thing

A Small Thing is connected but

inherently limited in some way.

Almost everywhere a

Small Thing has a gap…

…a globally accessible cloud

platform helps fill the gaps.

The smaller the device is,

the bigger the data

…and the newer the challenges.

Let’s explore…

Gap

Gap Gap

Gap

Gap Gap

Filling in some gaps

Small

Thing

First challenge: telemetry

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Telemetry today

Remotely determine what a device

senses.

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Telemetry misconception

“Just gather the sensor data and

send it in for use.”

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

AWS Cloud

Archive

Correlation

Analysis

Just gather the sensor data and send it in for use.

Mobile

DeviceVarious

Sensors

HTTPS

Small

Thing

Basic telemetry + cloud architecture

Persistent

Stream

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

ThingSmall

Thing

Small

Thing

Small

ThingSmall

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

ThingSmall

Thing

Small

Thing

Small

ThingSmall

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

ThingSmall

Thing

Small

Thing

Small

ThingSmall

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

ThingSmall

Thing

Small

Thing

Small

ThingSmall

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

Thing

Small

Thing

Small

Thing

Small

Thing

Small

Thing Small

Thing

Small

Thing

Small

Thing

Small

ThingSmall

ThingSmall

Thing

Small

Thing

Small

ThingSmall

Thing

Small

ThingSmall

Thing

Success looks like

thousands or millions

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Real world telemetry challenges

Hundreds of thousands of devices need:

• Strategies for intermittent connectivity

• To send sensor data reliably

• Elastic solutions to wave crests and troughs

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Intermittent connectivity means…

Logging algorithms matter

FIFO, aggregate, and culling algorithms

1min 1min1min 5min 5min

ON

AGG

1min 1min 1min1min 1min

ON OFF

1min 1min 1min1min 1min

ON

OF

F

OF

F

FIFO

Aggregate

Culling

Cull Point

Agg Point

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

When networking, compute, or power is low…

A machine-to-machine proxy layer may

help

Logger

Trickles become a stream

AWS Cloud

Stream

Small Thing

Mobile DeviceVarious

Sensors

Auto Scaling Group

M2M Brokers

Device

Config

M2M BrokerFleet Keeper

M2M Config Broker

aka. evolved telemetry + cloud architecture

Archive

Correlation

Analysis

Streams flow into a riveraka Global Telemetry Architecture

Stream

Centralized Region

Amazon

Kinesis–

Enabled

App

Logger

Stream

Small Thing

Mobile Devices

Various Sensors Region

Amazon SQS

Complaint Queue

Logger

Stream

Small Thing

Mobile Devices

Various Sensors Region

Archive

Correlation

Analysis

Device

Config

Device

Config

Master Device

Config

M2M BrokerScaling Group

Rivers of data become Big Data

Copyright © 2014

My Photo Dump.

Gap Gap

Small thing telemetry — AWS helps

Global Ubiquity

$0 Inbound Data

Small

Thing

Elasticity

Purpose Built Services

Amazon

DynamoDB

Amazon

Kinesis

Amazon

SQS

Auto

Scaling

Next challenge: commands

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Commands today

Ask a device to do something.

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Commands misconception

“Just tell those devices to do

something.”

(2) Get Command(s)

(1) Get Config

Basic commands + cloud architecture

AWS Cloud

Just tell those devices to do something.

Mobile Devices

Web App

Device

Config

Small Thing

Configured

Command

Source

Device

Commands

M2M Endpoints

Users

HTTPS orM2M Protocol

(B) User Commands

(A) Configured

Device Pair

…or…

Various Sensors

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Real world Command challenges

Sending the correct commands matter

Hundreds of thousands of devices need:

• Delivery of authoritative commands

• Minimal-connection delivery

• Important commands to be transactional

Evolved command connections

Single High-Heat NoSQL Database Meet-Me M2M Broker Endpoint Pools

(3) Write Command SUCCESS

Device

Commands

(2) Read Command(s) from Table

(1) Get Config

Device

Config

Small Thing

Configured

Command

Source

Device

Commands

(3) Write Command SUCCESS

(2) Read Command(s) from Topic

(1) Get Config

Device

Config

Small Thing

Configured

Command

Source

Meet-Me M2M Endpoints

Meet-Me M2M Endpoints

Just tell those devices to do something.

Evolved commands + cloud architecture

(3) Write Command SUCCESS

Device

Commands

(2) Read Command(s) from Table

(1) Get Config

Device

Config

Small Thing

Configured

Command

Source

Device

Commands

Just tell those devices to do something.

Mobile Devices

Web App

(C) User Commands

(B) Get Configured

Device Pair

Amazon

Cognito

Authorization

(A) Mobile User

Authorization

Users

Gap Gap

Commands — AWS helps

Global Ubiquity

$0 Inbound Data

Small

Thing

Elasticity

Purpose Built Services

Amazon

DynamoDB

Amazon

CognitoAuto

Scaling

Next challenge: Device DevOps

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Device DevOps today

Ask a device to be something new.

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Device DevOps misconception

“Just send out firmware updates

when needed.”

Basic DevOps + cloud architecture

Just send out firmware updates when needed.

(2) Get Firmware Bundle(s)

(1) Get Command

AWS Cloud

Device

Commands

Small Thing

Get

Firmware

Bundle

Bundle Download

Device Specific

BundleVarious Sensors

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Real world Device DevOps challenges

If you kill it, it is dead

Hundreds of thousands of devices need help with:

• Intelligent exception management

• Staged, validated, and rolling updates

Evolved DevOps + cloud architecture

(2) Get Firmware Bundle(s)

(1) Get Config

AWS Cloud

Device

Commands

Small Thing

Configured

Firmware

Bundle

Bundle Download

Device Specific

Bundle

(3) Send Firmware SUCCESS

Device

Commands

Various Sensors

Just send out firmware updates when needed.

Evolved Device DevOps process arch

(2) Get Firmware Bundle(s)

(1) Get Command

Device

Commands

Small Thing

Device Specific

Bundle

(3) Send Firmware SUCCESS

Device

Commands

Small Thing

All Success?

(2) Get Firmware Bundle(s)

(1) Get Command

Device

Commands

Device Specific

Bundle

(3) Send Firmware SUCCESS

Device

Commands

StagingProduction

LoggerSmall Thing

LoggerSmall Thing

(B) Copy Bundle

(C) Update Commands

Various Sensors

Just send out firmware updates when needed.

(A) Validate Bundle

All Success?

(D) Manage Exceptions

Gap

Device DevOps — AWS helps

Global Ubiquity

$0 Inbound Data

Small

Thing

Elasticity

Purpose Built Services

Amazon

DynamoDB

Amazon

S3

Global

Object

Store

Last challenge: audit & authorization

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Audit & authorization today

Determine if a device should be

allowed to do something.

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Audit & authorization misconception

“Just allow the right devices to do

something.”

Basic audit & authorization + cloud arch

(2) Authenticate and Authorize

AWS Cloud

Small Thing

(3) Register

Device

Registration

(4) Proceed with Privilege

Device

Config

(1) Install Creds

Just allow the right devices to do something.

IoT : [ Telemetry ][ Commands ][ Device DevOps ][ Audit & Authorization ]

Real world audit and authorization challenges

Hundreds of thousands of devices need:

• Intelligent exception management

• Resource constrained authorization

• Device authorization and renewal

(1) Get Cognito ID

Evolved Audit & Authorization + Cloud Arch

AWS Cloud

Just allow the right devices to do something.

Small Thing

Cognito

AuthorizationCognito ID

(2) Unauthenticated Register

Device

Registration

(3) Authorize Device

Device

Registration

Web AppUsers & Admins

Audit & authorization — AWS helps

Global Ubiquity

$0 Inbound Data

Small

Thing

Elasticity

Purpose Built Services

Global

Object

Store

Audit

&

AZNAmazon

CognitoDynamoDB

Small Things — AWS helps

Global Ubiquity

$0 Inbound Data

Small

Thing

Elasticity

Purpose Built Services

Global

Object

Store

Audit

&

AZN Amazon

S3

Amazon

CognitoAmazon

DynamoDB

Amazon

Kinesis

Amazon

SQS

Auto

Scaling

A Small Thing solution architecture

Pragma architecture(“Pragma” is Greek for “thing”)

Small

Thing

Serving LayerIntermittent Layer

Speed Layer

Telemetry

Commands

Device DevOps

Audit & Authorization

Web Apps

How do I get started?

• Open an AWS account

– https://portal.aws.amazon.com/gp/aws/developer/registration/index.html

• Explore the AWS IoT mini-site

– http://aws.amazon.com/iot/

• Explore Amazon Cognito: http://aws.amazon.com/cognito/

• Explore Amazon Kinesis: http://aws.amazon.com/kinesis/

• Explore DynamoDB: http://aws.amazon.com/dynamodb/

• After re:Invent, download this deck

http://bit.ly/awsevals

Serving LayerIntermittent Layer

Speed Layer

Telemetry

Commands

Device DevOps

Audit & AZNSmall

Thing

Pragma Architecture(“Pragma” is Greek for “thing”)

brettf@amazon.com

Thank You

Appendix

Pragma architecture characteristics

• The intermittent layer is the control point for access to the

speed layer.

• The intermittent layer acts as the nexus of fleet management,

supports high-heat data interactions.

• The speed layer acts as the inbound high-bandwidth data bus

and the outbound command bus.

• The serving layer enables applications to interact with archive,

analysis, correlation, and real-time views of the device fleet.

• The serving layer enables the intermittent layer to distribute

and control updates.

top related