This presentation on the latest iteration of Simple Beer Service was delivered at the AWS Loft's in San Francisco and New York. The presentation describes how to build out a Serverless IoT application on AWS.
4. Simple Beer Service (Old) Architecture
{
“version”: “2016-04-01”,
“deviceId”:<UNIT_ID>,
“data”: [
{
“id”: <DATAPOINT_ID>
“timestamp”:<TIMESTAMP>
“type”: <DATA TYPE / SENSOR TYPE>,
“value”: <VALUE OF THE READING>
}
]
}
Amazon
CloudFront
Amazon
S3
Amazon
API Gateway
/data/<unitID>
POST
Amazon
API Gateway
/data/<unitID>
GET
Amazon
DynamoDB
Amazon
Lambda
Amazon
Lambda
<unitID> GET
(metadata)
Unit Table
Data Table
5. AWS IoT Service
- Easily connect devices to AWS
- Easily collect, store and analyze large volumes of data
streaming from your devices.
MQTT
(TLS 1.2)
HTTP
(SigV4)
AWS IoT
Device
Gateway
AWS IoT
Topic
AWS IoT
Rule
AWS IoT
Policy
AWS IoT
X509 Certificates
AWS IoT
Device
Shadow
AWS IoT
Device
Registry
6. Simple Beer Service (New) Architecture
Amazon
IoT Topic
Amazon
ElasticSearch Service
Amazon
IoT Rule
{
“version”: “2016-04-01”,
“deviceId”:<UNIT_ID>,
“data”: [
{
“id”: <DATAPOINT_ID>
“timestamp”:<TIMESTAMP>
“type”: <DATA TYPE / SENSOR TYPE>,
“value”: <VALUE OF THE READING>
}
]
}
Publish
Amazon
CloudFront
Amazon
S3
Amazon
IoT Device
Registry
7. A service-oriented approach
{
“version”: “2016-04-01”,
“deviceId”:<UNIT_ID>,
“data”: [
{
“id”: <DATAPOINT_ID>
“timestamp”:<TIMESTAMP>
“type”: <DATA TYPE / SENSOR TYPE>,
“value”: <VALUE OF THE READING>
}
]
}
topic: prod/sbs
PROD
PROD
PROD
PROD
sbs
sbs
sbs
sbs
8. Stages for each developer
topic: jeremy/sbs
dev
jeremy
jeremy
jeremy
jeremy
jeremy
jeremy
dev
{
“version”: “2016-04-01”,
“deviceId”:<UNIT_ID>,
“data”: [
{
“id”: <DATAPOINT_ID>
“timestamp”:<TIMESTAMP>
“type”: <DATA TYPE / SENSOR TYPE>,
“value”: <VALUE OF THE READING>
}
]
}