A Pragmatic Reference Architecture for The Internet of Things
- 2. Agenda
• What is the Internet of Things?
• IoT Problem Space
• IoT Value Chain (A Pragmatic Reference Architecture)
• Wrap Up
- 3. About Me
• Senior Manager, Software Development @ Amazon.com
• Distributed Systems Nerd
• Published author and frequent contributor to CODE Magazine
• 8X Microsoft MVP
• Co-Author, “Windows Server AppFabric Cookbook” by Packt Pub.
• twitter: @rickggaribay
• blog: http://rickgaribay.net
• email: rickgari@amazon.com
We’re hiring!
- 6. This change could bring tremendous opportunity
to your employer, customers, industry and you as a
technologist.
- 7. The Internet of Things is the network of physical
objects that contain embedded technology to
communicate and interact with their internal states
or the external environment.
- 8. OEM Revenue Opportunity |
Market Forecast CY17
Source: IDC Sept 2013 and Microsoft
Auto & Trans Retail Manufacturing Healthcare Energy Computing Telecom Consumer
$7 B $16 B $197 B $3 B $27 B $908 B $179 B $356 B System Revenue
Intelligent
Systems
1.7T$
- 13. What is IoT About?
Things
(Devices)
Connectivity Data Analytics
- 14. IoT Device Taxonomy
Large
Mobile
Micro
Small
POS terminal, ATM, MRI
x86, PC-like, apps
Industry handheld, POS tablet
ARM and x86, shell experience, apps
Gateways, wearables, panels, cars
ARM and x86, diverse hardware, no shell
Controllers, fixed-use, sensors, actuators
ARM, constrained hardware, headless
- 24. What is the Internet of
Things?
Things
(Devices)
Connectivity Data Analytics
- 26. Canonical Message Types
Voluntary
information flow
from device to
another system.
Telemetry
Requests for
information from
device to other
systems.
Inquires
Instructions from
other systems to
a device.
Commands
Information flow
from other
systems to the
device.
Notifications
- 27. Cloud Gateways
Connections are
device-initiated and
outbound
NAT/Firewall
Device (Router)
IP NAT
Cloud GatewaySource
Port mapping is
automatic, outbound
Device does not listen
for unsolicited traffic
No inbound ports open,
attack surface is
minimized
Access-controlled
command API
Secure, managed hosting
platform
DNS
myapp.cloudapp.net
- 28. What is the Internet of
Things?
Things
(Devices)
Connectivity Data Analytics
- 29. Event Velocity
Device telemetry
• Thermostats report data
every 15 minutes
• Cars send telemetry data every minute
Application telemetry
• Application perf counters are measured
every second per server
• Mobile app telemetry is captured for
every action on your app!
App and operational events
• Halo game engine estimate 1,000,000
messages/second
- 30. What is the Internet of
Things?
Things
(Devices)
Connectivity Data Analytics
- 31. The true significance of IoT is the
foundation it provides for enabling new
insights and unlocking new
opportunities.
- 32. The Vs of Big Data
Volume: Scale of Data
• 40 Zettabytes (43
Trillion Gigabytes) of
data will be created by
2020. 300 Times
increase from 2005
• 6B people have mobile
phones
• Most companies in the
U.S have at least 100Tb
of data
Velocity: Streams of Data
• NYSE captures 1TB of
trade information every
day
• The average modern car
has over 100 sensors
• 18.9 billion network
connections by 2016
Variety: Endless forms of
Data
• Nearly 420 Million
wearable health
monitors
• Over 4 Billion hours of
video watched on
YouTube everyday
Source: McKinsey Global, Twitter, Cisco, Gartner
- 35. Reference Architecture
Ingest
HTTP MQTT AMQP CoAP …
Brokered Streamed
Staging
Blob KVP Document
Insight
OLTP ETL CEP Big Data
Action
Custom APIs Brokered 3rd Party APIs
Security,Management,Monitoring
- 36. Brokered Communication
• Each device has a dedicated
Inbox/Outbox on the Gateway
– Device sends telemetry/alerts and routes
service invocations via its Outbox
– Device receives commands and queries from
its Inbox
– Correlated request/reply patterns can be
implemented on top of these two messaging
channels
– The device knows, and has access to, only its
own specific inbox/outbox endpoints (URI’s)
Backend
Components
Cloud Gateway
Inbox
Outbox
CommandAPI
ProtocolHead
- 37. Streamed Communication
• Read (forward) and Rewind (go back)
data access
– Partition/shard-based
– Sequence of events, akin to a commit log
– Designed for high volume, high density ingest
– Typically (but not always) real-time use cases
- 38. Reference Architecture
Ingest
HTTP MQTT AMQP CoAP …
Brokered Streamed
Staging
Blob KVP Document
Insight
OLTP ETL CEP Big Data
Action
Custom APIs Brokered 3rd Party APIs
Security,Management,Monitoring
- 40. Staging Considerations
Commands & Inquiries
• The capability provides
transient staging typically
tied to a retention period
and/or TTL
• A worker typically
consumes and processes
work message by message
Telemetry & Notifications
• The capability provides
high-throughput backing to
be consumed by either
durable or stream-based
consumers
• Typically bulk writes or
stream based readers
- 41. Reference Architecture
Ingest
HTTP MQTT AMQP CoAP …
Brokered Streamed
Staging
Blob KVP Document
Insight
OLTP ETL CEP Big Data
Action
Custom APIs Brokered 3rd Party APIs
Security,Management,Monitoring
- 43. Reference Architecture
Ingest
HTTP MQTT AMQP CoAP …
Brokered Streamed
Staging
Blob KVP Document
Insight
OLTP ETL CEP Big Data
Action
Custom APIs Brokered 3rd Party APIs
Security,Management,Monitoring
- 44. Action
Your APIs
• Commands &
Notifications
• Business Scenarios
• Cloud hosted
• Behind the firewall
• Synchronous &
Asynchronous
Brokered
• Commands &
Notifications
• Devices you own,
control
• Asynchronous by
design
3rd Party APIs
• Commands &
Notifications
• Typically
commercial devices
or devices
supported by a
vendor
- 45. Wrapping Up
• Model your solution across the four stages
• Evaluate the capability that’s right for you
based on your needs, team skills and
perhaps most important, the cost.
• Cloud providers are competing vigorously
which is great for customers!