2. Agenda
• Introduction to IoT
• IoT Opportunity
• Azure IoT Hub
• Typical Azure IoT Architecture
• SA JOBS
• Event Hub
• HD Insight
• Storage
• Use Cases
• IOT Suite
3. IoT
• The Internet of Things (IoT) is a system of interrelated computing devices, mechanical and digital machines, objects,
animals or people that are provided with unique identifiers and the ability to transfer data over a network without
requiring human-to-human or human-to-computer interaction. - Kevin Ashton, Auto-ID Center at MIT
• The first internet appliance, for example, was a Coke machine at Carnegie Melon University in the early 1980s.
• Practical applications of IoT technology can be found in many industries including precision agriculture, building
management, healthcare, energy, Utility and transportation.
6. Azure IoT Reference Architecture
Azure IoT Reference Architecture
Solution PortalProvisioning API
Identity & Registry Stores
Stream Event Processor
Analytics/
Machine
Learning
Data Visualization
& Presentation
Device State Store
Gateway
Storage
IP capable
devices
Existing IoT
devices
Low power
devices
PresentationDevice and Event Processing
Data
Transport
Devices and
Data Sources
Cloud
Gate-
way
Agent
Libs
Agent
Libs
Control System Worker Role
Agent
Libs
7. Typical Azure IoT - Solution Architecture
Azure Storage
DocumentDB Blob Storage
Business Application
Real Time Processing
Event HubStream Analytics
SQL Database SQL Data warehouse
Data Processing and Integration
Data Factory
Structured DataUnstructured Data
Machine Learning
PowerBI
Dashboard
Application Component
Azure VM
Azure App Service
HDInsight
Notification Hub
Management App
Device Registry
Monitoring
OTA Updates
Send Commands
Service Updates
Third Party
Application
Integration
Identity
Management
API
Management
Azure
Azure IoT Hub
Custom Cloud
Gateway (Cloud
Service or VM)
Cloud Protocol
Gateway
Service
Device
Device
Device
Device
Device
Device
Field
Gateway
Field
Gateway
IoT Hub
Device
Client
SDK
IoT Hub Device
Client SDK
Bluetooth, CoAP, AllJoyn,OPC,..
Bluetooth, CoAP, Zigbee,..
AMQP / HTTPS
AMQP / HTTPS
Custom Protocol
Custom Protocol
Notification
Advance Analytics
IoT Hub Service
Client SDK
End User Application
Arduino
Rashperi Pi
8. IoT Hub
Field
Gateway
Device
Connectivity & Management
Devices
RTOS,Linux,Windows,Android,iOS
Protocol
Adaptation
Cloud Gateway
IoT Hub
Field
Gateway
Protocol
Adaptation
• Unlimited Devices
• Bi-directional =: device <-> cloud
• Up to 10 million devices
• Average of 208,333 messages/minute per unit
(300 million messages/day per unit)
• Telemetry ingestion
• Command & control
• [Cloud to cloud communication]
• Device registry & identity
• [Device Management]
• HTTPs / AMQP (incl WebSocket) / MQTT
8
Capability of the Azure IoT Hub
9. Azure IoT architecture
Field
Gateway
Device
Connectivity & Management
Devices
RTOS,Linux,Windows,Android,iOS
Protocol
Adaptation
Cloud Gateway
IoT Hub
Field
Gateway
Protocol
Adaptation
Cross-Platform
Device Support
• Open source “agent” framework
• Simple, secure device <-> cloud connectivity &
management
• RTOS, Linux, Windows, Android, iOS
• Easy to use, not required
Cross Platform C Code
OS Abstraction Layer / OS Bindings
C API .NET API Java API Javascript API
9
10. Field
Gateway
Device
Connectivity & Management
Analytics &
Operationalized Insights
Devices
RTOS,Linux,Windows,Android,iOS
Protocol
Adaptation
Batch Analytics & Visualizations
Azure Data Lake, AzureML, Power BI,
Azure Data Factory
Hot Path Analytics
Azure Stream Analytics, Azure HDInsight Storm
Hot Path Business Logic
Service Fabric & Actor Framework
Cloud Gateway
Event Hubs
&
IoT Hub
Field
Gateway
Protocol
Adaptation
Find insights to
• Power new services
• Improve your “things”
Operationalize
your insights in
real time
IoT Scale
Object Models &
Business Logic
10
Azure IoT architecture
11. Azure IoT architecture
Field
Gateway
Device
Connectivity & Management
Analytics &
Operationalized Insights
Presentation &
Business Connectivity
Devices
RTOS,Linux,Windows,Android,iOS
Protocol
Adaptation
Batch Analytics & Visualizations
Azure HDInsight, AzureML, Power BI,
Azure Data Factory
Hot Path Analytics
Azure Stream Analytics, Azure HDInsight Storm
Presentation &
Business Connectivity
App Service, Websites
Dynamics, BizTalk Services,
Notification Hubs
Hot Path Business Logic
Service Fabric & Actor Framework
Cloud Gateway
IoT Hub
Field
Gateway
Protocol
Adaptation
11
12. Stream Analytics
IoT Hub
Tumbling windows: Tumbling windows are a series of fixed-sized, non-overlapping and contiguous time
intervals
Hopping Window: hopping windows model scheduled overlapping window
Sliding Window: the system is asked to logically consider all possible windows of a given length
13. TransformationCollection Presentation
and action
Event Queuing
System
Long-term
storage
Search and query
Data analytics (Excel)
Web/thick client
dashboards
Devices to take action
Event hub
Event producers
Applications
Web and social
Devices
Sensors
Live Dashboards
Apache HBase on
HDInsight
DocumentDB
Solr Azure
Search
MongoDB SQL
Cloud gateways
(web APIs)
Field
gateways
Azure ML
Storage
adapters
Stream processing
13
Apache Storm
on HDInsight
IoT Hub
15. Cortana Analytics Suite
As a fully managed big data and
advanced analytics suite, Cortana
Intelligence is a powerful solution to
transform the data into intelligent
action.
19. Health Care – Use case
Smart Health - PowerBI
Azure Storage
Blob Storage
Microsoft Health API MS IoT Hub Event Hub
Stream Analytics Machine Learning
Azure functions
Device
IoT Hub Device
Client SDK
Google API
Azure LogicApp
Azure Table Storage
Notification Hub
Twilio for SMS
Azure functions
22. IoT Suite
Creating a solution will result in the following Azure services being
provisioned:
• Azure IoT Hub (1 high-frequency unit)
• Azure Stream Analytics (3 streaming units)
• Azure Document DB (1 S2 instance)
• Azure Storage (1 GRS standard, 1 LRS standard, 1 RA-GRS
standard)
• Azure App Services (2 S1 instances, 2 P1 instances)
• Azure Event Hub (1 basic throughput unit)
23.
24.
25. The Device Store
25
Azure DocumentDB
• Every device is 1 document with
• Device metadata
• Command list
• Command history
• Can extend with custom data
26. Ingestion, Identity & Commands
26
Azure IoT Hub
• Every device exists as an identity in the IoT Hub
• Ready to send telemetry (+ DeviceInfo)
• Ready to listen for commands and send feedback
Change the IoT Hub tier to S1 to save money
27. The event processors
You can easily turn off these jobs, while not testing.
27
Azure Stream Analytics
• These jobs are being created
• {suitename}-DeviceInfo
• {suitename}-Telemetry
• {suitename}-Rules
28. DeviceInfo job
28
Azure Stream Analytics
• Used to listen for DeviceInfo (sent on start) messages
SELECT * FROM DeviceDataStream
Partition By PartitionId
WHERE ObjectType = 'DeviceInfo'
{suite}-ehout{suite}
EventProcessor-WebJob
(DeviceAdministrationProcessor)
DeviceRegistry
29. Telemetry job
Azure Stream Analytics
• Used to process Rules & Alerts
SELECT *
INTO [Telemetry] FROM [StreamData]
SELECT
DeviceId,
AVG (Humidity) AS [AverageHumidity],
MIN(Humidity) AS [MinimumHumidity],
MAX(Humidity) AS [MaxHumidity],
5.0 AS TimeframeMinutes
INTO [TelemetrySummary]
FROM [StreamData]
GROUP BY DeviceId, SlidingWindow (mi, 5)
{suite}
devicetelemetry
(csv, timebased)
Devicetelemetry-summary
(csv, timebased)
30. Rules job
Azure Stream Analytics
• Used to process Rules & Alerts.
--QUERY TO COMPARE VALUES > REF
SELECT *
INTO DeviceRulesMonitoring
FROM AlarmsData
SELECT *
INTO DeviceRulesHub
FROM AlarmsData
{suite}
rulesoutput
(csv, timebased)
codit-iot-ehruleout
(csv, timebased)
devicerules.json
EventProcessor-WebJob
(ActionProcessor)
Logic App (not implemented)
Tip: add tumbling window !
31. The presentation layer
You can change the App Service Plan to reduce costs
31
Azure App Service & Power BI
• Portal allows to
• Manage / create devices
• Send commands
• View telemetry
• Enable rules
• Power BI controls used to show real time graphs, on blob