SlideShare a Scribd company logo
1 of 76
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ian Massingham,
Chief Evangelist (EMEA),
Amazon Web Services
@IanMmmm
Essential Capabilities of an IoT
Cloud Platform
Getting started: What is AWS IoT?
AWS: hyperscale infrastructure for connected devices
Amazon SNS
Mobile Push
and Notifications
AWS Lambda
Run Code in
Response to Events
Amazon DynamoDB
Predictable and Scalable
NoSQL Data Store
Amazon Kinesis
Streaming Analytics
Amazon Redshift
Petabyte-Scale
Data Warehouse
…and more
Amazon API Gateway
Build, Deploy, and Manage
APIs
Amazon Cognito
User Identity and Data
Synchronization
IoT Applications : An Early Use Case for AWS
AWS IoT: simplify & accelerate IoT development
Amazon SNS
Mobile Push
and Notifications
Amazon DynamoDB
Predictable and
Scalable NoSQL
Data Store
AWS Lambda
Run Code in
Response to Events
Amazon Redshift
Petabyte-Scale
Data Warehouse
…and more
Amazon
API Gateway
Build, Deploy, &
Manage APIs
Amazon Kinesis
Streaming Analytics
Amazon Cognito
User Identity and
Data Synchronization
AWS IoT
Connect Devices to
the Cloud
AWS IoT
“Securely connect one or one billion devices to AWS,
so they can interact with applications and other devices”
AWS IoT: Core Capabilities
Message Broker
AWS-grade security
Rules engine
Device Shadows
Device Registry
Managed Platform
Seamless integration
with all of AWS
AWS IoT
Many Successful IoT Deployments Running On AWS
Topics for this session
Security: Job Zero
Device SDKs
Communicating with Things
Process & act on device data
Store & query device metadata attributes
Store & retrieve device state with the Device Shadow
Support for edge computing capabilities
Security: Job Zero
http://192.168.1.200:8080 http://a.public.address:8080
WHERE DO BOTNETS COME FROM?
It doesn’t have to be this way
http://192.168.1.200:8080
Secure Communications with Things
Mutual TLS Authentication
TLS/SSL
MUTUAL TLS AUTHENTICATION
Public Key Cryptography Options
For same bits & level of security ECC keys are much smaller that RSA keys
Symmetric Key Size (bits) RSA Key Size (bits) Elliptic Curve Key size (bits)
80 1024 160
112 2048 224
128 3072 256
192 7680 384
256 15360 512
https://aws.amazon.com/blogs/iot/elliptic-curve-cryptography-and-forward-secrecy-support-in-aws-iot-3/
Communicating with non-things
(Humans)
How we implement this
MQTT + Mutual Authn TLS AWS Authn + HTTPS
Server Authn TLS + Cert TLS + Cert
Client Authn TLS + Cert AWS API Keys
Confidentiality TLS TLS
Protocol MQTT HTTP
Strong Thing Identity
Strong Thing Identity
X.509 Certificates
https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/
Fine Grained Authorisation
AWS IoT
Data Plane
Control Plane
Service Access
Data Plane
Applying Permissions to Thing Management
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": ”ManageCerts",
"Action": [
"iot:CreateCertificateAndKeys",
"iot:CreateCertificateFromCsr",
"iot:DescribeCertificate",
"iot:UpdateCertificate",
"iot:DeleteCertificate",
"iot:ListCertificates”
],
"Effect": "Allow",
"Resource": "*"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RevokeOneThing",
"Action": [
"iot:UpdateCertificate"
],
"Effect": "Allow",
"Resource":
"arn:aws:iot:us-east-1:123456972007:cert/d7677b0…SNIP…026d9",
"Condition": {
"IpAddress": {
"aws:SourceIp": "192.168.42.54"
}
}
}
]
}
Allowing/Denying Access to MQTT Topics
{
"Version":"2012-10-17",
"Statement":[ {
"Effect":"Allow",
"Action":[ "iot:Connect" ],
"Resource":"*"
}, {
"Effect":"Allow",
"Action":[ "iot:Publish" ],
"Resource":[
"arn:aws:iot:us-east-1:123456972007:
topic/$aws/things/MyThing/shadow/update"]
}, {
"Effect":"Allow",
"Action":[ "iot:Subscribe", "iot:Receive" ],
"Resource":[
"arn:aws:iot:us-east-1:123456972007:
topicfilter/$aws/things/MyThing/shadow/*"
]
}
]
}
Creating certificates & keys
Key & certificate creation with the AWS CLI
Device Provisioning at Scale:
How do you getting keys &
certificates onto your devices?
Getting keys & certificates onto your devices
• Simple at the device prototyping stage
• Copy or flash them (& the CA cert) onto your device
• More complex in volume manufacturing
• Still copying or flashing keys & certs, but the numbers increase
• Use AWS SDKs/CLI to automate key & certificate creation.
Provide keys & certificates to your device manufacturing partners
Register on first use
https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/
Just-in-Time Registration of Device Certificates
Register your
CA Cert with
AWS IoT
Sign device certs
with your CA cert
$aws/events/certificates/
registered/<caCertificateID>
{
"certificateId": "<certificateID>",
"caCertificateId": "<caCertificateId>",
"timestamp": "<timestamp>",
"certificateStatus": "PENDING_ACTIVATION",
"awsAccountId": “<awsAccountId>",
}
AWS IoT
MQTT Endpoint
New certificate state set to
PENDING_ACTIVATION
AWS IoT Rule invokes
AWS Lambda function
AWS Lambda function
activates certificate &
attaches policy
New certificate state set to
ACTIVE
Device SDKs:
Abstract & Simplify Access to
Platform Features
Get Started with the AWS IoT Device SDK
C SDK
(Ideal for embedded
OS)
JavaScript SDK
(Ideal for Embedded
Linux Platforms)
Arduino Library
(Arduino Yun)
Mobile SDK
(Android and iOS)
Python SDK Java SDK
https://aws.amazon.com/blogs/iot/introducing-aws-iot-device-sdks-for-java-and-python/
Prototyping with the Raspberry Pi
• Raspberry Pi hardware
• Electronics Starter Kits
• One examples is the SunFounder 37 modules Sensor Kit v2.0 for
Raspberry Pi 3, 2, Model B+ with 40-Pin GPIO Extension Board &
Jump Wires
• Example tutorial
• Raspberry Pi Sense Hat (optional fun)
• https://www.raspberrypi.org/products/sense-hat/
Setting up the Raspberry Pi GPIO & Sense Hat
Your own electronics/sensor build
C (for embedded C)
http://wiringpi.com
Python Wrapper Module for WiringPI
https://github.com/WiringPi/WiringPi-Python
For the Sense Hat
Python Module
https://github.com/RPi-Distro/python-sense-hat
Official IoT Starter Kits, Powered by AWS
Dragonboard 410c
(by Arrow)
Beaglebone Green
(by Seeed Studio)
Seeeduino Cloud
(by Seeed Studio)
Intel Edison
(by Seeed Studio)
MediaTek LinkIt One
(by Seeed Studio)
Broadcom BCM4343W
(by Avnet)
Marvell EasyConnect
(By Marvell)
Renesas RX63N
(by Micrium)
Microchip WCM
(by Microchip)
Ti Launchpad
(By Ti)
Communicating with Things
AWS IoT Message Broker
DEVICE GATEWAY
Communicate with devices via
MQTT and HTTP
AWS IoT Message Broker
MQTT
MQTT vs HTTPS:
• 93x faster throughput
• 11.89x less battery to send
• 170.9x less battery to receive
• 50% less power to keep connected
• 8x less network overhead
Source:
http://stephendnicholas.com/archives/1217
• OASIS standard protocol (v3.1.1)
• Lightweight, pub-sub, transport protocol
that is useful for connected devices
• MQTT is used on oil rigs, connected
trucks, and many more sensitive and
resource-sensitive scenarios
• Customers have needed to build,
maintain, and scale a broker to use
MQTT with cloud applications
AWS IoT Message Broker : managed service
Highly Scalable
Device Gateway
Millions of devices
sending billions of
messages
Subscribers
Publishers
Process & act on device data
AWS IoT Rules Engine
RULES ENGINE
Transform messages
based on rules and route
to AWS Services
AWS IoT Rules Engine
Simple & familiar syntax
- SQL Statement to define topic filter
- Optional WHERE clause
- Advanced JSON support
Functions improve signal : noise
- String manipulation (regex support)
- Mathematical operations
- Context-based helper functions
- Crypto support
- UUID, Timestamp, rand, etc.
AWS IoT Rules Engine basics
SELECT * FROM ‘things/thing-2/color’
WHERE color = ‘red’
AWS IoT Rules Engine’s flexibility
SELECT *, clientId() as MQTTClientId
FROM 'one/rule'
WHERE
startsWith(topic(2), 'IME33') AND
(state = 'INIT' OR hydro_temp >
surface_temp)",
"actions":
[{
"republish": {
"topic":
"controllers/${substring(topic(3),
3, 5)}",
}]
http://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-functions.html
AWS IoT Rules Engine
Complex Evaluations
Respond to the fleet, not just a single unit. Dozens of functions() available.
Multiple / Simultaneous Actions
Sometimes a situation requires you to take many actions.
AWS IoT Rules Engine actions
RULES ENGINE
Transform messages
based on rules and route
to AWS Services
AWS Services
- - - - -
3P Services
AWS Services
- - - - -
3P Services
1. AWS Services
(Direct Integration)
Rules Engine
Actions
AWS IoT Rules Engine
LambdaSNS SQS
S3
Amazon
Kinesis
DDB RDS
Amazon
Redshift
Amazon Glacier
EC2
3. External Endpoints
(via Lambda and SNS)
Rules Engine connects AWS
IoT to External Endpoints and
AWS Services.
2. Rest of AWS
(via Amazon Kinesis,
Lambda, S3, and more)
AWS IoT Rules Engine Actions
Rules Engine evaluates
inbound messages published
into AWS IoT, and transforms
and delivers to the appropriate
endpoint based on business
rules.
External endpoints can be
reached via Lambda and
Simple Notification Service
(SNS).
Put object in an S3 bucket
Insert into a DynamoDB table
Publish to an SNS Topic/Endpoint
Insert into an Amazon Kinesis stream
Actions
Persist via Amazon Kinesis Firehose
Republish to AWS IoT
Make a Machine Learning prediction
Invoke a Lambda function
Store in Amazon Elasticsearch cluster
Store & query device metadata
attributes
AWS IoT Thing Registry
THING REGISTRY
Identity and Management of
your things
REGISTRY
Identity and Management of
your things
AWS IoT Thing Registry
• Static attributes associated to Thing
• Firmware version
• Serial Numbers
• Device Type
• Device Group
• Device Description
• Sensor description
• Support and Maintenance
• Reference Manual URL
• Part # reference
• Reference to external support system
AWS IoT Thing Registry: Create & List Things
http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html
$ aws iot create-thing --thing-name "MyLightBulb" --attribute-payload "{"attributes": {"wattage":"75", ”model":"123"}}"
{
"thingArn": "arn:aws:iot:eu-west-1:554625704737:thing/MyLightBulb",
"thingName": "MyLightBulb"
}
$ aws iot list-things
{
"things": [
{
"attributes": {
"model": "123",
"wattage": "75"
},
"version": 1,
"thingName": "MyLightBulb"
}
]
}
AWS IoT Registry: Search for Things
http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html
$ aws iot list-things --attribute-name "wattage" --attribute-value “75"
{
"things": [
{
"thingTypeName": "StopLight",
"attributes": {
"model": "123",
"wattage": "75"
},
"version": 3,
"thingName": "MyLightBulb"
},
{
"thingTypeName": "LightBulb",
"attributes": {
"model": "123",
"wattage": "75"
},
"version": 1,
"thingName": "MyRGBLight"
}
]
}
AWS IoT Registry: Thing Types
http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html
Thing types allow you to store description and configuration
information that is common to all things associated with the same
thing type.
For example, you can define a LightBulb thing type. All things
associated with the LightBulb thing type share a set of attributes.
aws iot create-thing-type --thing-type-name "LightBulb" 
--thing-type-properties "thingTypeDescription=light bulb type, searchableAttributes=wattage,model"
Device State Cache:
Asynchronously access device
state via the Thing Shadow
AWS IoT Thing Shadow
THING SHADOW
Persistent thing state during
intermittent connections
SHADOW
Persistent thing state during
intermittent connections
APPLICATIONS
AWS IoT Thing Shadows
AWS IoT Thing Shadow
Shadow
AWS IoT Shadow Flow
Shadow
Device SDK
1. Device Publishes Current State
2. Persist JSON Data Store
3. App requests device’s current state
4. App requests change the state
5. Device Shadow syncs
updated state
6. Device Publishes Current State
7. Device Shadow confirms state change
AWS IoT
AWS IoT Device Shadow - Simple Yet Powerful
{
"state" : {
“desired" : {
"lights": { "color": "RED" },
"engine" : "ON"
},
"reported" : {
"lights" : { "color": "GREEN" },
"engine" : "ON"
},
"delta" : {
"lights" : { "color": "RED" }
} },
"version" : 10
}
Thing
Report its current state to one or multiple shadows
Retrieve its desired state from shadow
Mobile App
Set the desired state of a device
Get the last reported state of the device
Delete the shadow
Shadow
Shadow reports delta, desired and reported
states along with metadata and version
AWS IoT Device Shadow Topics (MQTT)
Thing SDK makes it easy for you to
build shadow functionality into your
device so it can automatically
synchronize the state with the device.
AWS IoT Thing Shadow
UPDATE: $aws/things/{thingName}/shadow/update
DELTA: $aws/things/{thingName}/shadow/update/delta
GET: $aws/things/{thingName}/shadow/get
DELETE: $aws/things/{thingName}/shadow/delete
Sensor Reported Desired Delta
LED1 RED YELLOW
LED1 = Yellow
TEMP = 60FACCEL X=1,Y=5,Z=4 X=1,Y=5,Z=4
TEMP 83F 60F
Support for edge computing
capabilities
Round-trip latency
Intermittent connectivity
Expensive bandwidth
Programming and updating embedded software needs specialized skills
Limited to what is on the device unless you rewrite or program the device
Challenges Of Devices Living On The Edge
AWS Greengrass
Embed Lambda Compute (& Other AWS Services) in Connected Devices
Preview Available Now
Use The Same AWS Programming Model In Devices And The Cloud
AWS Greengrass: Local Compute, Messaging & Data Caching
Local
compute
Local
data caching
Secure
communications
Local
messaging
AWS Greengrass: How It Works
Built into
devices at
manufacture
Install the
Greengrass
runtime
Lambda functions
on AWS & devices
Manage from
AWS Console
Same programming
model
Local
communication
and orchestration
Amazon Greengrass: Example Use Cases
Smart Homes Agriculture Manufacturing
aws.amazon.com/iot/
Thank you!
Ian Massingham,
Chief Evangelist (EMEA),
Amazon Web Services
@IanMmmm
Questions?

More Related Content

What's hot

AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver KleinAWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
Amazon Web Services Korea
 

What's hot (20)

Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
 
Migrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformMigrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless Platform
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
ENT310 Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Ap...
ENT310 Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Ap...ENT310 Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Ap...
ENT310 Microservices? Dynamic Infrastructure? - Adventures in Keeping Your Ap...
 
Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201
 
Introducing AWS CodeStar and the AWS CI:CD workflow - AWS Summit Tel Aviv 2017
Introducing AWS CodeStar and the  AWS CI:CD workflow - AWS Summit Tel Aviv 2017Introducing AWS CodeStar and the  AWS CI:CD workflow - AWS Summit Tel Aviv 2017
Introducing AWS CodeStar and the AWS CI:CD workflow - AWS Summit Tel Aviv 2017
 
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver KleinAWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
AWS Innovate 2016: Build Mobile Apps using AWS SDKs and Mobile Hub- Oliver Klein
 
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web ServicesAWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
AWS APAC Webinar Week - Introduction to Cloud Computing With Amazon Web Services
 
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
 
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHubEffective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
AWS Innovate 2016 : Opening Keynote - Glenn Gore
AWS Innovate 2016 :  Opening Keynote - Glenn GoreAWS Innovate 2016 :  Opening Keynote - Glenn Gore
AWS Innovate 2016 : Opening Keynote - Glenn Gore
 
AWS re:Invent 2016: State of the Union: Containers (CON316)
AWS re:Invent 2016: State of the Union:  Containers (CON316)AWS re:Invent 2016: State of the Union:  Containers (CON316)
AWS re:Invent 2016: State of the Union: Containers (CON316)
 
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar SeriesDeep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
 
ANZ Dev Lounge Session - Feb 2017
ANZ Dev Lounge Session - Feb 2017ANZ Dev Lounge Session - Feb 2017
ANZ Dev Lounge Session - Feb 2017
 
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
 
Getting Started with Serverless Architectures | AWS Public Sector Summit 2016
Getting Started with Serverless Architectures | AWS Public Sector Summit 2016Getting Started with Serverless Architectures | AWS Public Sector Summit 2016
Getting Started with Serverless Architectures | AWS Public Sector Summit 2016
 
Born in the Cloud; Build it Like a Startup
Born in the Cloud; Build it Like a StartupBorn in the Cloud; Build it Like a Startup
Born in the Cloud; Build it Like a Startup
 
Migrating Databases to AWS for Business Critical Applications and Analytics
Migrating Databases to AWS for Business Critical Applications and Analytics Migrating Databases to AWS for Business Critical Applications and Analytics
Migrating Databases to AWS for Business Critical Applications and Analytics
 

Viewers also liked

Viewers also liked (20)

Bringing Characters to Life with Amazon Polly Text-to-Speech - AWS Online Tec...
Bringing Characters to Life with Amazon Polly Text-to-Speech - AWS Online Tec...Bringing Characters to Life with Amazon Polly Text-to-Speech - AWS Online Tec...
Bringing Characters to Life with Amazon Polly Text-to-Speech - AWS Online Tec...
 
AWS Cloud Migration Insights Forum
AWS Cloud Migration Insights ForumAWS Cloud Migration Insights Forum
AWS Cloud Migration Insights Forum
 
Women in Big Data
Women in Big DataWomen in Big Data
Women in Big Data
 
Disaster Recovery Options with AWS - AWS Online Tech Talks
Disaster Recovery Options with AWS - AWS Online Tech TalksDisaster Recovery Options with AWS - AWS Online Tech Talks
Disaster Recovery Options with AWS - AWS Online Tech Talks
 
Sentiment Analysis Using Apache MXNet and Gluon - AWS Online Tech Talks
Sentiment Analysis Using Apache MXNet and Gluon - AWS Online Tech TalksSentiment Analysis Using Apache MXNet and Gluon - AWS Online Tech Talks
Sentiment Analysis Using Apache MXNet and Gluon - AWS Online Tech Talks
 
Know Before You Go - AWS Online Tech Talks
Know Before You Go - AWS Online Tech TalksKnow Before You Go - AWS Online Tech Talks
Know Before You Go - AWS Online Tech Talks
 
Hands on Lab: Deploy .NET Code to AWS from Visual Studio - AWS Online Tech Talks
Hands on Lab: Deploy .NET Code to AWS from Visual Studio - AWS Online Tech TalksHands on Lab: Deploy .NET Code to AWS from Visual Studio - AWS Online Tech Talks
Hands on Lab: Deploy .NET Code to AWS from Visual Studio - AWS Online Tech Talks
 
AWS Step Functions - Dev lounge Express Edition.pdf
AWS Step Functions - Dev lounge Express Edition.pdfAWS Step Functions - Dev lounge Express Edition.pdf
AWS Step Functions - Dev lounge Express Edition.pdf
 
Building Serverless Websites with Lambda@Edge - AWS Online Tech Talks
Building Serverless Websites with Lambda@Edge - AWS Online Tech TalksBuilding Serverless Websites with Lambda@Edge - AWS Online Tech Talks
Building Serverless Websites with Lambda@Edge - AWS Online Tech Talks
 
AWS AI Solutions
AWS AI SolutionsAWS AI Solutions
AWS AI Solutions
 
AWSome Day Utrecht - Keynote
AWSome Day Utrecht - KeynoteAWSome Day Utrecht - Keynote
AWSome Day Utrecht - Keynote
 
Cost Optimisation on AWS
Cost Optimisation on AWSCost Optimisation on AWS
Cost Optimisation on AWS
 
9 Security Best Practices
9 Security Best Practices9 Security Best Practices
9 Security Best Practices
 
Licensing Windows Workloads on AWS - AWS Online Tech Talks
Licensing Windows Workloads on AWS - AWS Online Tech TalksLicensing Windows Workloads on AWS - AWS Online Tech Talks
Licensing Windows Workloads on AWS - AWS Online Tech Talks
 
AWS 101: Cloud Computing Seminar (2012)
AWS 101: Cloud Computing Seminar (2012)AWS 101: Cloud Computing Seminar (2012)
AWS 101: Cloud Computing Seminar (2012)
 
Intro to Amazon AI Services
Intro to Amazon AI ServicesIntro to Amazon AI Services
Intro to Amazon AI Services
 
Working with Amazon Lex Chatbots in Amazon Connect - AWS Online Tech Talks
Working with Amazon Lex Chatbots in Amazon Connect - AWS Online Tech TalksWorking with Amazon Lex Chatbots in Amazon Connect - AWS Online Tech Talks
Working with Amazon Lex Chatbots in Amazon Connect - AWS Online Tech Talks
 
Oracle Databases on AWS - Getting the Best Out of RDS and EC2
Oracle Databases on AWS - Getting the Best Out of RDS and EC2Oracle Databases on AWS - Getting the Best Out of RDS and EC2
Oracle Databases on AWS - Getting the Best Out of RDS and EC2
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance Platform
 
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionOracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion Edition
 

Similar to Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks

Similar to Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks (20)

AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
 
The Lifecycle of an AWS IoT Thing
The Lifecycle of an AWS IoT ThingThe Lifecycle of an AWS IoT Thing
The Lifecycle of an AWS IoT Thing
 
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
 
AWS IoT & ML Recap - 20180423
AWS IoT & ML Recap - 20180423AWS IoT & ML Recap - 20180423
AWS IoT & ML Recap - 20180423
 
(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT
 
Deep Dive: AWS IOT
Deep Dive: AWS IOTDeep Dive: AWS IOT
Deep Dive: AWS IOT
 
Hands-on with AWS IoT
Hands-on with AWS IoTHands-on with AWS IoT
Hands-on with AWS IoT
 
Reply Webinar Online - Mastering AWS - IoT Advanced
Reply Webinar Online - Mastering AWS - IoT AdvancedReply Webinar Online - Mastering AWS - IoT Advanced
Reply Webinar Online - Mastering AWS - IoT Advanced
 
An Overview of AWS IoT (November 2016)
An Overview of AWS IoT (November 2016)An Overview of AWS IoT (November 2016)
An Overview of AWS IoT (November 2016)
 
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim CruseAWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
 
Introducing AWS IoT - Interfacing with the Physical World - Technical 101
Introducing AWS IoT - Interfacing with the Physical World - Technical 101Introducing AWS IoT - Interfacing with the Physical World - Technical 101
Introducing AWS IoT - Interfacing with the Physical World - Technical 101
 
IoT Smart Home
IoT Smart HomeIoT Smart Home
IoT Smart Home
 
Hands-on with AWS IoT (November 2016)
Hands-on with AWS IoT (November 2016)Hands-on with AWS IoT (November 2016)
Hands-on with AWS IoT (November 2016)
 
Internet of Things on AWS
Internet of Things on AWSInternet of Things on AWS
Internet of Things on AWS
 
IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...
IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...
IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...
 
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
Reply Bootcamp Rome - Mastering AWS - IoT BootcampReply Bootcamp Rome - Mastering AWS - IoT Bootcamp
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
 
AWS October Webinar Series - Getting Started with AWS IoT
AWS October Webinar Series - Getting Started with AWS IoTAWS October Webinar Series - Getting Started with AWS IoT
AWS October Webinar Series - Getting Started with AWS IoT
 
AWS IoT Webinar
AWS IoT WebinarAWS IoT Webinar
AWS IoT Webinar
 
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ian Massingham, Chief Evangelist (EMEA), Amazon Web Services @IanMmmm Essential Capabilities of an IoT Cloud Platform
  • 2. Getting started: What is AWS IoT?
  • 3. AWS: hyperscale infrastructure for connected devices Amazon SNS Mobile Push and Notifications AWS Lambda Run Code in Response to Events Amazon DynamoDB Predictable and Scalable NoSQL Data Store Amazon Kinesis Streaming Analytics Amazon Redshift Petabyte-Scale Data Warehouse …and more Amazon API Gateway Build, Deploy, and Manage APIs Amazon Cognito User Identity and Data Synchronization
  • 4. IoT Applications : An Early Use Case for AWS
  • 5. AWS IoT: simplify & accelerate IoT development Amazon SNS Mobile Push and Notifications Amazon DynamoDB Predictable and Scalable NoSQL Data Store AWS Lambda Run Code in Response to Events Amazon Redshift Petabyte-Scale Data Warehouse …and more Amazon API Gateway Build, Deploy, & Manage APIs Amazon Kinesis Streaming Analytics Amazon Cognito User Identity and Data Synchronization AWS IoT Connect Devices to the Cloud
  • 6. AWS IoT “Securely connect one or one billion devices to AWS, so they can interact with applications and other devices”
  • 7. AWS IoT: Core Capabilities Message Broker AWS-grade security Rules engine Device Shadows Device Registry Managed Platform Seamless integration with all of AWS
  • 9. Many Successful IoT Deployments Running On AWS
  • 10. Topics for this session Security: Job Zero Device SDKs Communicating with Things Process & act on device data Store & query device metadata attributes Store & retrieve device state with the Device Shadow Support for edge computing capabilities
  • 12.
  • 13.
  • 15.
  • 16. WHERE DO BOTNETS COME FROM?
  • 17. It doesn’t have to be this way
  • 21. Public Key Cryptography Options For same bits & level of security ECC keys are much smaller that RSA keys Symmetric Key Size (bits) RSA Key Size (bits) Elliptic Curve Key size (bits) 80 1024 160 112 2048 224 128 3072 256 192 7680 384 256 15360 512 https://aws.amazon.com/blogs/iot/elliptic-curve-cryptography-and-forward-secrecy-support-in-aws-iot-3/
  • 23. How we implement this MQTT + Mutual Authn TLS AWS Authn + HTTPS Server Authn TLS + Cert TLS + Cert Client Authn TLS + Cert AWS API Keys Confidentiality TLS TLS Protocol MQTT HTTP
  • 25. Strong Thing Identity X.509 Certificates https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/
  • 27. AWS IoT Data Plane Control Plane Service Access Data Plane
  • 28. Applying Permissions to Thing Management { "Version": "2012-10-17", "Statement": [ { "Sid": ”ManageCerts", "Action": [ "iot:CreateCertificateAndKeys", "iot:CreateCertificateFromCsr", "iot:DescribeCertificate", "iot:UpdateCertificate", "iot:DeleteCertificate", "iot:ListCertificates” ], "Effect": "Allow", "Resource": "*" } ] } { "Version": "2012-10-17", "Statement": [ { "Sid": "RevokeOneThing", "Action": [ "iot:UpdateCertificate" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456972007:cert/d7677b0…SNIP…026d9", "Condition": { "IpAddress": { "aws:SourceIp": "192.168.42.54" } } } ] }
  • 29. Allowing/Denying Access to MQTT Topics { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:Connect" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "iot:Publish" ], "Resource":[ "arn:aws:iot:us-east-1:123456972007: topic/$aws/things/MyThing/shadow/update"] }, { "Effect":"Allow", "Action":[ "iot:Subscribe", "iot:Receive" ], "Resource":[ "arn:aws:iot:us-east-1:123456972007: topicfilter/$aws/things/MyThing/shadow/*" ] } ] }
  • 31. Key & certificate creation with the AWS CLI
  • 32. Device Provisioning at Scale: How do you getting keys & certificates onto your devices?
  • 33. Getting keys & certificates onto your devices • Simple at the device prototyping stage • Copy or flash them (& the CA cert) onto your device • More complex in volume manufacturing • Still copying or flashing keys & certs, but the numbers increase • Use AWS SDKs/CLI to automate key & certificate creation. Provide keys & certificates to your device manufacturing partners
  • 35. https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/ Just-in-Time Registration of Device Certificates Register your CA Cert with AWS IoT Sign device certs with your CA cert $aws/events/certificates/ registered/<caCertificateID> { "certificateId": "<certificateID>", "caCertificateId": "<caCertificateId>", "timestamp": "<timestamp>", "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": “<awsAccountId>", } AWS IoT MQTT Endpoint New certificate state set to PENDING_ACTIVATION AWS IoT Rule invokes AWS Lambda function AWS Lambda function activates certificate & attaches policy New certificate state set to ACTIVE
  • 36. Device SDKs: Abstract & Simplify Access to Platform Features
  • 37. Get Started with the AWS IoT Device SDK C SDK (Ideal for embedded OS) JavaScript SDK (Ideal for Embedded Linux Platforms) Arduino Library (Arduino Yun) Mobile SDK (Android and iOS) Python SDK Java SDK https://aws.amazon.com/blogs/iot/introducing-aws-iot-device-sdks-for-java-and-python/
  • 38. Prototyping with the Raspberry Pi • Raspberry Pi hardware • Electronics Starter Kits • One examples is the SunFounder 37 modules Sensor Kit v2.0 for Raspberry Pi 3, 2, Model B+ with 40-Pin GPIO Extension Board & Jump Wires • Example tutorial • Raspberry Pi Sense Hat (optional fun) • https://www.raspberrypi.org/products/sense-hat/
  • 39. Setting up the Raspberry Pi GPIO & Sense Hat Your own electronics/sensor build C (for embedded C) http://wiringpi.com Python Wrapper Module for WiringPI https://github.com/WiringPi/WiringPi-Python For the Sense Hat Python Module https://github.com/RPi-Distro/python-sense-hat
  • 40. Official IoT Starter Kits, Powered by AWS Dragonboard 410c (by Arrow) Beaglebone Green (by Seeed Studio) Seeeduino Cloud (by Seeed Studio) Intel Edison (by Seeed Studio) MediaTek LinkIt One (by Seeed Studio) Broadcom BCM4343W (by Avnet) Marvell EasyConnect (By Marvell) Renesas RX63N (by Micrium) Microchip WCM (by Microchip) Ti Launchpad (By Ti)
  • 42. AWS IoT Message Broker DEVICE GATEWAY Communicate with devices via MQTT and HTTP
  • 43. AWS IoT Message Broker
  • 44. MQTT MQTT vs HTTPS: • 93x faster throughput • 11.89x less battery to send • 170.9x less battery to receive • 50% less power to keep connected • 8x less network overhead Source: http://stephendnicholas.com/archives/1217 • OASIS standard protocol (v3.1.1) • Lightweight, pub-sub, transport protocol that is useful for connected devices • MQTT is used on oil rigs, connected trucks, and many more sensitive and resource-sensitive scenarios • Customers have needed to build, maintain, and scale a broker to use MQTT with cloud applications
  • 45. AWS IoT Message Broker : managed service Highly Scalable Device Gateway Millions of devices sending billions of messages Subscribers Publishers
  • 46. Process & act on device data
  • 47. AWS IoT Rules Engine RULES ENGINE Transform messages based on rules and route to AWS Services
  • 48. AWS IoT Rules Engine
  • 49. Simple & familiar syntax - SQL Statement to define topic filter - Optional WHERE clause - Advanced JSON support Functions improve signal : noise - String manipulation (regex support) - Mathematical operations - Context-based helper functions - Crypto support - UUID, Timestamp, rand, etc. AWS IoT Rules Engine basics SELECT * FROM ‘things/thing-2/color’ WHERE color = ‘red’
  • 50. AWS IoT Rules Engine’s flexibility SELECT *, clientId() as MQTTClientId FROM 'one/rule' WHERE startsWith(topic(2), 'IME33') AND (state = 'INIT' OR hydro_temp > surface_temp)", "actions": [{ "republish": { "topic": "controllers/${substring(topic(3), 3, 5)}", }] http://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-functions.html
  • 51. AWS IoT Rules Engine Complex Evaluations Respond to the fleet, not just a single unit. Dozens of functions() available. Multiple / Simultaneous Actions Sometimes a situation requires you to take many actions.
  • 52. AWS IoT Rules Engine actions RULES ENGINE Transform messages based on rules and route to AWS Services AWS Services - - - - - 3P Services AWS Services - - - - - 3P Services
  • 53. 1. AWS Services (Direct Integration) Rules Engine Actions AWS IoT Rules Engine LambdaSNS SQS S3 Amazon Kinesis DDB RDS Amazon Redshift Amazon Glacier EC2 3. External Endpoints (via Lambda and SNS) Rules Engine connects AWS IoT to External Endpoints and AWS Services. 2. Rest of AWS (via Amazon Kinesis, Lambda, S3, and more)
  • 54. AWS IoT Rules Engine Actions Rules Engine evaluates inbound messages published into AWS IoT, and transforms and delivers to the appropriate endpoint based on business rules. External endpoints can be reached via Lambda and Simple Notification Service (SNS). Put object in an S3 bucket Insert into a DynamoDB table Publish to an SNS Topic/Endpoint Insert into an Amazon Kinesis stream Actions Persist via Amazon Kinesis Firehose Republish to AWS IoT Make a Machine Learning prediction Invoke a Lambda function Store in Amazon Elasticsearch cluster
  • 55. Store & query device metadata attributes
  • 56. AWS IoT Thing Registry THING REGISTRY Identity and Management of your things REGISTRY Identity and Management of your things
  • 57. AWS IoT Thing Registry • Static attributes associated to Thing • Firmware version • Serial Numbers • Device Type • Device Group • Device Description • Sensor description • Support and Maintenance • Reference Manual URL • Part # reference • Reference to external support system
  • 58. AWS IoT Thing Registry: Create & List Things http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html $ aws iot create-thing --thing-name "MyLightBulb" --attribute-payload "{"attributes": {"wattage":"75", ”model":"123"}}" { "thingArn": "arn:aws:iot:eu-west-1:554625704737:thing/MyLightBulb", "thingName": "MyLightBulb" } $ aws iot list-things { "things": [ { "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MyLightBulb" } ] }
  • 59. AWS IoT Registry: Search for Things http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html $ aws iot list-things --attribute-name "wattage" --attribute-value “75" { "things": [ { "thingTypeName": "StopLight", "attributes": { "model": "123", "wattage": "75" }, "version": 3, "thingName": "MyLightBulb" }, { "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MyRGBLight" } ] }
  • 60. AWS IoT Registry: Thing Types http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html Thing types allow you to store description and configuration information that is common to all things associated with the same thing type. For example, you can define a LightBulb thing type. All things associated with the LightBulb thing type share a set of attributes. aws iot create-thing-type --thing-type-name "LightBulb" --thing-type-properties "thingTypeDescription=light bulb type, searchableAttributes=wattage,model"
  • 61. Device State Cache: Asynchronously access device state via the Thing Shadow
  • 62. AWS IoT Thing Shadow THING SHADOW Persistent thing state during intermittent connections SHADOW Persistent thing state during intermittent connections APPLICATIONS
  • 63. AWS IoT Thing Shadows
  • 64. AWS IoT Thing Shadow Shadow
  • 65. AWS IoT Shadow Flow Shadow Device SDK 1. Device Publishes Current State 2. Persist JSON Data Store 3. App requests device’s current state 4. App requests change the state 5. Device Shadow syncs updated state 6. Device Publishes Current State 7. Device Shadow confirms state change AWS IoT
  • 66. AWS IoT Device Shadow - Simple Yet Powerful { "state" : { “desired" : { "lights": { "color": "RED" }, "engine" : "ON" }, "reported" : { "lights" : { "color": "GREEN" }, "engine" : "ON" }, "delta" : { "lights" : { "color": "RED" } } }, "version" : 10 } Thing Report its current state to one or multiple shadows Retrieve its desired state from shadow Mobile App Set the desired state of a device Get the last reported state of the device Delete the shadow Shadow Shadow reports delta, desired and reported states along with metadata and version
  • 67. AWS IoT Device Shadow Topics (MQTT) Thing SDK makes it easy for you to build shadow functionality into your device so it can automatically synchronize the state with the device. AWS IoT Thing Shadow UPDATE: $aws/things/{thingName}/shadow/update DELTA: $aws/things/{thingName}/shadow/update/delta GET: $aws/things/{thingName}/shadow/get DELETE: $aws/things/{thingName}/shadow/delete Sensor Reported Desired Delta LED1 RED YELLOW LED1 = Yellow TEMP = 60FACCEL X=1,Y=5,Z=4 X=1,Y=5,Z=4 TEMP 83F 60F
  • 68. Support for edge computing capabilities
  • 69. Round-trip latency Intermittent connectivity Expensive bandwidth Programming and updating embedded software needs specialized skills Limited to what is on the device unless you rewrite or program the device Challenges Of Devices Living On The Edge
  • 70. AWS Greengrass Embed Lambda Compute (& Other AWS Services) in Connected Devices Preview Available Now Use The Same AWS Programming Model In Devices And The Cloud
  • 71. AWS Greengrass: Local Compute, Messaging & Data Caching Local compute Local data caching Secure communications Local messaging
  • 72. AWS Greengrass: How It Works Built into devices at manufacture Install the Greengrass runtime Lambda functions on AWS & devices Manage from AWS Console Same programming model Local communication and orchestration
  • 73. Amazon Greengrass: Example Use Cases Smart Homes Agriculture Manufacturing
  • 75. Thank you! Ian Massingham, Chief Evangelist (EMEA), Amazon Web Services @IanMmmm