AWS IoT
DJORDJE SIMIC
WWW.DJOLEZ@GMAIL.COM
WWW.LINKEDIN.COM/IN/DJORDJE-SIMIC-89464577
WWW.GITHUB.COM/DJOLEZ
SAPIENZA UNIVERSITÀ DI ROMA
DIPARTIMENTO DI INGEGNERIA INFORMATICA AUTOMATICA E GESTIONALE
PERVASIVE SYSTEMS 2016
IoT “requirements”
 Hardware
 Microcontrollers (Arduino)
 SoC (system-on-a-chip) (Raspberry Pi)
 Sensors…
 Software
 DB
 Deployment to (millions of) devices
 Communication
 Device to device
 Device to server
 Server to server
AWS IoT features
 Connect devices to AWS or other devices
 Secure data exchange and interaction
 Interact with devices even when they are offline
AWS IoT Main Components
 Device SDK
 Device Gateway
 Authentication and Authorization
 Registry
 Device Shadows
 Rules Engine
AWS IoT Main Components
 Device SDK
 Support for C, JavaScript, Arduino, Python…
 Device Gateway
 Enables devices to securely and efficiently communicate with AWS IoT
 Publisher/Subscriber model
 Support for MQTT, WebSockets and HTTP 1.1
 Authentication and Authorization
 All traffic is encrypted over TLS
 Registry
 Device identity, tracking metadata
 Data is stored basically forever
AWS IoT Main Components
(cont’d)
 Device Shadows
 Persistent, virtual version of hardware
 Applications communicate with shadows, messages are propagated to physical devices
 Store the state for up to a year, persist forever if updated once per year
 Rules engine
 Gather, process, analyze and act on data generated by millions of devices without having to manage
any infrastructure
Infrastructure
Using AWS IoT
 Thing
 Rule
 Certificate
 Policy
Using AWS IoT
Thing
 Abstract representation of connected hardware/software
 Thing shadow
 Status (in sync/out of sync)
 Version
 State (desired, reported, delta)
 Metadata (timestamps)
 Communication is done via topics:
 Update (/, accepted, rejected)
 Get (/, accepted, rejected)
 Delete (/, accepted, rejected)
 Topic format: “$aws/things/thingName/shadow/…”
 Payload format: { “state”: { “reported|desired|delta”: { … } } }
Using AWS IoT
Rule
 Used for analyzing MQTT topic stream and performing appropriate actions
(write data to Amazon DynamoDB, save a file to Amazon S3, send a push
notification using Amazon SNS, invoke a Lambda function, republish to
another MQTT topic and many more)
 SQL-like syntax
Using AWS IoT
Certificate
 Enables secure communication between devices and AWS IoT over TLS
(X.509)
 Generated by AWS IoT or user
Using AWS IoT
Certificate
Using AWS IoT
Policy
 Set of authorized actions
 Consists of:
 Action (All, Publish, Subscribe, Connect, Receive, Update/Get/Delete Shadow)
 Resource (Client ID ARN, Topic or Topic filter ARN)
 Effect (Allow/Deny)
 Attached to certificate(s)
Pricing
 First 12 months 250 000 messages per month for free, after that $5 per
million messages
 Deliveries to Amazon S3, Amazon DynamoDB, AWS Lambda, Amazon
Kinesis, Amazon SNS and Amazon SQS are free of charge

AWS IoT

  • 1.
    AWS IoT DJORDJE SIMIC WWW.DJOLEZ@GMAIL.COM WWW.LINKEDIN.COM/IN/DJORDJE-SIMIC-89464577 WWW.GITHUB.COM/DJOLEZ SAPIENZAUNIVERSITÀ DI ROMA DIPARTIMENTO DI INGEGNERIA INFORMATICA AUTOMATICA E GESTIONALE PERVASIVE SYSTEMS 2016
  • 2.
    IoT “requirements”  Hardware Microcontrollers (Arduino)  SoC (system-on-a-chip) (Raspberry Pi)  Sensors…  Software  DB  Deployment to (millions of) devices  Communication  Device to device  Device to server  Server to server
  • 3.
    AWS IoT features Connect devices to AWS or other devices  Secure data exchange and interaction  Interact with devices even when they are offline
  • 4.
    AWS IoT MainComponents  Device SDK  Device Gateway  Authentication and Authorization  Registry  Device Shadows  Rules Engine
  • 5.
    AWS IoT MainComponents  Device SDK  Support for C, JavaScript, Arduino, Python…  Device Gateway  Enables devices to securely and efficiently communicate with AWS IoT  Publisher/Subscriber model  Support for MQTT, WebSockets and HTTP 1.1  Authentication and Authorization  All traffic is encrypted over TLS  Registry  Device identity, tracking metadata  Data is stored basically forever
  • 6.
    AWS IoT MainComponents (cont’d)  Device Shadows  Persistent, virtual version of hardware  Applications communicate with shadows, messages are propagated to physical devices  Store the state for up to a year, persist forever if updated once per year  Rules engine  Gather, process, analyze and act on data generated by millions of devices without having to manage any infrastructure
  • 7.
  • 8.
    Using AWS IoT Thing  Rule  Certificate  Policy
  • 9.
    Using AWS IoT Thing Abstract representation of connected hardware/software  Thing shadow  Status (in sync/out of sync)  Version  State (desired, reported, delta)  Metadata (timestamps)  Communication is done via topics:  Update (/, accepted, rejected)  Get (/, accepted, rejected)  Delete (/, accepted, rejected)  Topic format: “$aws/things/thingName/shadow/…”  Payload format: { “state”: { “reported|desired|delta”: { … } } }
  • 10.
    Using AWS IoT Rule Used for analyzing MQTT topic stream and performing appropriate actions (write data to Amazon DynamoDB, save a file to Amazon S3, send a push notification using Amazon SNS, invoke a Lambda function, republish to another MQTT topic and many more)  SQL-like syntax
  • 11.
    Using AWS IoT Certificate Enables secure communication between devices and AWS IoT over TLS (X.509)  Generated by AWS IoT or user
  • 12.
  • 13.
    Using AWS IoT Policy Set of authorized actions  Consists of:  Action (All, Publish, Subscribe, Connect, Receive, Update/Get/Delete Shadow)  Resource (Client ID ARN, Topic or Topic filter ARN)  Effect (Allow/Deny)  Attached to certificate(s)
  • 14.
    Pricing  First 12months 250 000 messages per month for free, after that $5 per million messages  Deliveries to Amazon S3, Amazon DynamoDB, AWS Lambda, Amazon Kinesis, Amazon SNS and Amazon SQS are free of charge