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.
5. 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
6. IoT and Small Thing comparisons
Not a Small Thing
A Small Thing
7. IoT and Small Thing comparisons
Not a Small Thing
A Small Thing
8. IoT and Small Thing comparisons
Not a Small Thing
A Small Thing
9. IoT and Small Thing comparisons
Not a Small Thing
A Small Thing
10. IoT and Small Thing comparisons
Not a Small Thing
A Small Thing
11. A Small Thing is connected but inherently limited in some way.
18. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
Telemetry today
Remotely determine what a device senses.
19. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
Telemetry misconception
“Just gather the sensor data and send it in for use.”
20. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
AWS Cloud
Archive
Correlation
Analysis
Just gather the sensor data and send it in for use.
Mobile Device
Various Sensors
HTTPS
Small Thing
Basic telemetry + cloud architecture
Persistent
Stream
21. 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 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 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 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 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 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 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 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 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 Thing
Small Thing
Small Thing
Small Thing
Small Thing
Small Thing
Small Thing
Small Thing
Small Thing
Success looks like
thousands or millions
22. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
Real world telemetry challenges
Hundreds of thousands of devices need:
•Strategies for intermittent connectivity
•To send sensor datareliably
•Elastic solutionsto wave crests and troughs
24. FIFO, aggregate, and culling algorithms
1min
1min
1min
5min
5min
ON
AGG
1min
1min
1min
1min
1min
ON
OFF
1min
1min
1min
1min
1min
ON
OFF
OFF
FIFO
Aggregate
Culling
Cull Point
Agg Point
25. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
When networking, compute, or power is low…
A machine-to-machine proxy layer may help
26. Logger
Trickles become a stream
AWS Cloud
Stream
Small Thing
Mobile Device
Various Sensors
Auto Scaling Group
M2M Brokers
Device Config
M2M Broker
Fleet Keeper
M2M Config Broker
aka. evolved telemetry + cloud architecture
Archive
Correlation
Analysis
27. Streams flow into a river
aka 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 Broker
Scaling Group
29. 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
31. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
Commands today
Ask a device to do something.
32. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
Commands misconception
“Just tell those devices to do something.”
33. (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 or
M2M Protocol
(B) User Commands
(A) Configured
Device Pair
…or…
Various Sensors
34. 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-connectiondelivery
•Important commands to be transactional
35. 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.
36. 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
37. Gap
Gap
Commands—AWS helps
Global Ubiquity
$0 Inbound Data
Small
Thing
Elasticity
Purpose Built Services
Amazon DynamoDB
Amazon Cognito
Auto Scaling
41. 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 Bundle
Various Sensors
42. 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
43. 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.
44. 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
Staging
Production
Logger
Small Thing
Logger
Small Thing
(B) Copy
Bundle
(C) Update Commands
Various Sensors
Just send out firmware updates when needed.
(A) Validate
Bundle
All Success?
(D) Manage Exceptions
45. Gap
Device DevOps—AWS helps
Global Ubiquity
$0 Inbound Data
Small
Thing
Elasticity
Purpose Built Services
Amazon DynamoDB
Amazon S3
Global
Object
Store
47. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
Audit & authorization today
Determine if a device should be allowed to do something.
48. IoT : [ Telemetry][ Commands][ Device DevOps][ Audit & Authorization]
Audit & authorization misconception
“Just allow the right devices to do something.”
49. 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.
50. 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 authorizationand renewal
51. (1) Get Cognito ID
Evolved Audit & Authorization + Cloud Arch
AWS Cloud
Just allow the right devices to do something.
Small Thing
Cognito Authorization
Cognito ID
(2) Unauthenticated Register
Device Registration
(3) Authorize Device
Device Registration
Web App
Users & Admins
52. Audit & authorization—AWS helps
Global Ubiquity
$0 Inbound Data
Small
Thing
Elasticity
Purpose Built Services
Global
Object
Store
Audit
&
AZN
Amazon Cognito
DynamoDB
53. Small Things—AWS helps
Global Ubiquity
$0 Inbound Data
Small
Thing
Elasticity
Purpose Built Services
Global
Object
Store
Audit
&
AZN
Amazon S3
Amazon Cognito
Amazon
DynamoDB
Amazon Kinesis
Amazon SQS
Auto Scaling
55. Pragma architecture
(“Pragma” is Greek for “thing”)
Small Thing
Serving Layer
Intermittent Layer
Speed Layer
Telemetry
Commands
Device DevOps
Audit & Authorization
Web Apps
56. 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
57. http://bit.ly/awsevals
Serving Layer
Intermittent Layer
Speed Layer
Telemetry
Commands
Device DevOps
Audit & AZN
Small Thing
Pragma Architecture
(“Pragma” is Greek for “thing”)
brettf@amazon.com
Thank You
59. Pragma architecture characteristics
•The intermittent layeris the control point for access to the speed layer.
•The intermittent layeracts as the nexus of fleet management, supports high-heat data interactions.
•The speed layeracts as the inbound high-bandwidth data bus and the outbound command bus.
•The serving layerenables 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.