Azure IoT
Tim @ Trend Micro
IoT Suite
IoT Hub
Event Hub
Stream Analytics
Machine Learning
Notification Hub
Predictive
maintenance
Remote
monitoring
IoT Suite
DAT
A
DAT
A
DAT
A
DAT
A
DAT
A
IoT Hub
• Connect up to 1 M devices
• 2 way communication
• per-device authentication
• Multi-protocol (AMQP, HTTP,
MQTT)
• Open source SDK for multi-platform
SDKs
• Available on GitHub
• Support 5 languages
• (C, Node, Java, .NET, Python)
• Available on GitHub
• Support 4 platforms
• Ubuntu 14, 15, Yocto on Intel Edison,
Windows 10
https://github.com/Azure/azure-iot-gateway-sdkhttps://github.com/azure/azure-iot-sdks
Certified devices
Arduino Zero
Intel Edison
Raspberry pi 2
……….
110 +
……
10 +
DEMO
sendEvent()
{device ID}
{device key}
IoT hub
Device
Registry
Event hub
Registry Service
Cloud
SDK
Device
create()
Message service
subscribe()
amqp://http://
Registry operations
• Create device identity
• Update device identity
• Retrieve device identity by ID
• Delete device identity
• List up to 1000 identities
• Export all identities to blob storage
• Import identities from blob storage
Security
• Access control
• Authentication
• Protocol specifics
• Scoping hub level credentials
Security
• Access control
• Authentication
• Protocol specifics
• Scoping hub level credentials
Registry read
Grant read access to device identity registry
Registry write
Grant read access to device identity registry
Service connect
Grant permission to back-end cloud service to receive / send
device messages
Device connect
Grant permission to device to receive / send cloud messages
Security
• Access control
• Authentication
• Protocol specifics
• Scoping hub level credentials
urity tokens to authenticate devices and services to avoid sendin
HostName + DeviceId + SharedAccessKey(deviceKey)
SharedAccessSignature (security token)
SHA256
Cloud
• TTL 60 minutes
• Renew every 45 minutes
SimulateDevice.js
From Registry
service
Security
• Access control
• Authentication
• Protocol specifics
• Scoping hub level credentials
All IoT Hub endpoints use the TLS protocol, and no endpoint
is ever exposed on unencrypted/unsecured channels.
HTTP/1
Include token in request header / query parameter
AMQP
{policyName}@sas.root.{iothubName} in the case of hub-level tokens.
username :
{deviceId} in the case of device-scoped tokens.
password : {security token}
MQTT {deviceID}
{iothubhostname} / {deviceID}
clientID :
username :
password :
{security token}
Security
• Access control
• Authentication
• Protocol specifics
• Scoping hub level credentials
You can change security policies by creating tokens with a
restricted resource URI (Endpoints)
Support REST API
Think these as topic
Device Cloud
/devices/{deviceId}/messages/events /messages/events
Device Cloud
/devices/{deviceId}/messages/devicebound /messages/devicebound
Web console DEMO (3 min)
Pricing
Stream Analytics
• Real-time analysis
• Up to millions of data per sec
• SQL-like syntax available
• Custom alarms
Scenario 1
Goal : Total car weight for past 10 seconds
Scenario 1
Scenario 2
Goal : First car every 10 minutes
Scenario 2
Event Hub
• Accept JSON, XML, CSV…
• AMQP & HTTP support
• Configurable data detention
• 1-30 days
Machine learning
Predictive
maintenance
Remote
monitoring
Scenario
Training Data
End of Engine life
21 sensors data
Test Data
RUL (Remain Useful Life)
Compare & Summary
Azure AWS
Access Control Attached on IoT hub IAM
Authentication security token X.509 certificate
Protocols
MQTT, AMQP,
HTTP/1
MQTT, Websocket,
HTTP/1
Target solution remote monitoring tend to be general
Integration SDK is needed in most case can be integrated without SDK
Partnership
10+ OS certified
110+ device tested N/A
Launch status Feb, 2016 still in beta
THANK YOU

Azure iot