Azure IoT
Suite
25Billion (2020)
Source: Gartner
why is it
important?
Worldwide market for IoT solutions to
reach $7.2 trillion in 2020 (IDC)
Economic value-add is forecast to be
$1.9 trillion across sectors in 2020
(Gartner)
Leading Industry examples :
utilities, insurance, agriculture, factory,
automobiles, transport, consumer, etc
Hot Path Business Logic
Service Fabric & Actor Framework
Field
Gateway
Device
Connectivity & Management
IoT Device & Cloud Patterns
Devices
RTOS,Linux,Windows,Android,iOS
Cloud Gateway
Event Hubs
&
IOT Hub
Field
Gateway
Protocol
Adaptation
Protocol
Adaptation
Analytics &
Operationalized Insights
Presentation &
Business Connectivity
Presentation &
Business Connectivity
App Service, Websites
Dynamics, BizTalk Services,
Notification Hubs
Batch “Cold Path” Analytics
Azure HDInsight, DocumentDB, Azure ML
Hot Path Analytics
Azure Stream Analytics, Azure HDInsight (Storm)
{ }
{ }
• Accelerate time-to-value by easily deploying IoT applications for
the most common use cases, such as remote monitoring, asset
management, and predictive maintenance
• Plan and budget appropriately through a simple predictable
business model
• Grow and extend solutions to support millions of assets
Field
Gateway
Device
Connectivity & Management
Analytics &
Operationalized Insights
Presentation &
Business Connectivity
Devices
RTOS,Linux,Android,iOS,Windows
Protocol
Adaptation
Batch Analytics & Visualizations
Azure HDInsight, AzureML, Power BI,
Azure Data Factory
Hot Path Analytics
Azure Stream Analytics, Azure Storm
Presentation & Business
Connections
Websites, Mobile Services
Dynamics, BizTalk Services,
Notification Hubs
Hot Path Business Logic
Service Fabric & Actor Framework
Cloud Gateway
Event Hub
Field
Gateway
Device
Connectivity & Management
IoT Device & Cloud Patterns
Devices
RTOS,Linux,Windows,Android,iOS
Cloud Gateway
Event Hubs
&
IOT Hub
Field
Gateway
Protocol
Adaptation
Protocol
Adaptation
Producers Data Transport Storage Analysis Presentation & action
Event Hubs
(Service Bus)
SQL Database Machine Learning Azure Websites
Heterogeneous
client agents
Table/Blob
Storage
HD Insight/Storm Mobile Services
External Data
Sources
DocumentDB Stream Analytics Notification Hubs
External Data
Sources
Cloud Services Power BI
External Services
{ }
Scalable publish-subscribe telemetry ingestors
Processes massive amounts of data (Generally Available WW)
• 1M Publishers
• 1 GB/S Ingress
• 1T Messages/Month (1k per message)
TTP/AMQP Protocol Support
Pluggable adapters for other cloud services
{ }
NoSQL JSON and JavaScript DB Service
JSON DB for rapid Development
Schema free – for storage and query
Automatic indexing of every document property
CRUD access, query, and JavaScript processing
Integrates with HDInsight, Azure Search, etc.
{ }
Scales from terabytes to petabytes on demand
Processes unstructured or semi-structured data from devices and sensors
Deployable in Windows or Linux
Connects with on-premises Hadoop clusters
Apache Storm for real-time events
Apache Spark for in memory data analysis
Real Time Analytics
Intake millions of events per second (up to 1 GB/s)
Correlate between different streams, or with static data or models
Easy processing on continuous streams of data
Enables the detection of anomalies.
Ability to trigger an alert when a specific error or condition appears.
Designed for “applied” machine learning,
Streamlined experience for data scientists, across multiple skill levels
Drag-and-drop, and data-flow graphs to set up experiments
Build and test predictive models, predict future trends or behavior
Publish models as a fully managed web service (API)
Raw materials
Acquire Raw
Materials
Transform raw materials into “finished
goods”
Deliver
Data Sources Ingest Transform and Analyze Publish
Target millions of devices/messages with single API call.
Target audiences with dynamic tags.
Tailor notifications by audience, language, and location
Use with any back end, in the cloud or on-premises
Dynamically define and reach audience segments
Cloud based business analytics service:
• Track data in real-time with support for streaming data
• Drill through to underlying reports to explore and discover new insight
• Pin new visualizations and KPIs to monitor performance
typedef struct TELEMETRY_INSTANCE_TAG
{ DEVICEHUB_MESSAGE_HANDLE messageHandle;
int messageTrackingId; // For tracking the messages within the user callback.
} TELEMETRY_INSTANCE;
RcvConfirmationCallback(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_CONFIRMATION_RESULT
result, void* userContextCallback)
{...}
int main(void)
{ IOTHUB_CLIENT_CONFIG iotHubClientConfig;
TELEMETRY_INSTANCE telemetryInstance;
const char* msgText = "Hello from IoTHubClient";
...
iotHubClientHandle = DeviceHubClient_Create(&deviceHubClientConfig); ...
IotHubMessage_SetData(telemetryInstance.messageHandle, msgText, strlen(msgText)); ...
IotHubClient_SendTelemetryAsync(deviceHubClientHandle, telemetryInstance.messageHandle,
RcvConfirmationCallback, &telemetryInstance);...
}
static int ReceiveNotificationCallback(IOTHUB_CLIENT_HANDLE iotHubClientHandle,
IOTHUB_MESSAGE_HANDLE notificationMessage)
{ /* Some device specific action code goes here... */ }
int main(void)
{
IOTHUB_CLIENT_CONFIG iotHubClientConfig;
IOTHUB_CLIENT_HANDLE iotHubClientHandle;
iotHubClientConfig.iotHubName = “{name}";
iotHubClientConfig.deviceId = “{device id}";
iotHubClientConfig.deviceKey = “{key}";
iotHubClientConfig.protocol = IOTHUB_CLIENT_AMQP;
iotHubClientHandle = IotHubClient_Create(&iotHubClientConfig)
IotHubClient_SetNotificationCallback(iotHubClientHandle, ReceiveNotificationCallback)
/* Wait for messages to arrive... */
}
Azure iot suite
Azure iot suite
Azure iot suite
Azure iot suite
Azure iot suite
Azure iot suite

Azure iot suite

  • 1.
  • 2.
  • 3.
    why is it important? Worldwidemarket for IoT solutions to reach $7.2 trillion in 2020 (IDC) Economic value-add is forecast to be $1.9 trillion across sectors in 2020 (Gartner) Leading Industry examples : utilities, insurance, agriculture, factory, automobiles, transport, consumer, etc
  • 5.
    Hot Path BusinessLogic Service Fabric & Actor Framework Field Gateway Device Connectivity & Management IoT Device & Cloud Patterns Devices RTOS,Linux,Windows,Android,iOS Cloud Gateway Event Hubs & IOT Hub Field Gateway Protocol Adaptation Protocol Adaptation Analytics & Operationalized Insights Presentation & Business Connectivity Presentation & Business Connectivity App Service, Websites Dynamics, BizTalk Services, Notification Hubs Batch “Cold Path” Analytics Azure HDInsight, DocumentDB, Azure ML Hot Path Analytics Azure Stream Analytics, Azure HDInsight (Storm) { } { }
  • 6.
    • Accelerate time-to-valueby easily deploying IoT applications for the most common use cases, such as remote monitoring, asset management, and predictive maintenance • Plan and budget appropriately through a simple predictable business model • Grow and extend solutions to support millions of assets
  • 7.
    Field Gateway Device Connectivity & Management Analytics& Operationalized Insights Presentation & Business Connectivity Devices RTOS,Linux,Android,iOS,Windows Protocol Adaptation Batch Analytics & Visualizations Azure HDInsight, AzureML, Power BI, Azure Data Factory Hot Path Analytics Azure Stream Analytics, Azure Storm Presentation & Business Connections Websites, Mobile Services Dynamics, BizTalk Services, Notification Hubs Hot Path Business Logic Service Fabric & Actor Framework Cloud Gateway Event Hub
  • 8.
    Field Gateway Device Connectivity & Management IoTDevice & Cloud Patterns Devices RTOS,Linux,Windows,Android,iOS Cloud Gateway Event Hubs & IOT Hub Field Gateway Protocol Adaptation Protocol Adaptation
  • 12.
    Producers Data TransportStorage Analysis Presentation & action Event Hubs (Service Bus) SQL Database Machine Learning Azure Websites Heterogeneous client agents Table/Blob Storage HD Insight/Storm Mobile Services External Data Sources DocumentDB Stream Analytics Notification Hubs External Data Sources Cloud Services Power BI External Services { }
  • 13.
    Scalable publish-subscribe telemetryingestors Processes massive amounts of data (Generally Available WW) • 1M Publishers • 1 GB/S Ingress • 1T Messages/Month (1k per message) TTP/AMQP Protocol Support Pluggable adapters for other cloud services
  • 14.
    { } NoSQL JSONand JavaScript DB Service JSON DB for rapid Development Schema free – for storage and query Automatic indexing of every document property CRUD access, query, and JavaScript processing Integrates with HDInsight, Azure Search, etc. { }
  • 15.
    Scales from terabytesto petabytes on demand Processes unstructured or semi-structured data from devices and sensors Deployable in Windows or Linux Connects with on-premises Hadoop clusters Apache Storm for real-time events Apache Spark for in memory data analysis
  • 16.
    Real Time Analytics Intakemillions of events per second (up to 1 GB/s) Correlate between different streams, or with static data or models Easy processing on continuous streams of data Enables the detection of anomalies. Ability to trigger an alert when a specific error or condition appears.
  • 17.
    Designed for “applied”machine learning, Streamlined experience for data scientists, across multiple skill levels Drag-and-drop, and data-flow graphs to set up experiments Build and test predictive models, predict future trends or behavior Publish models as a fully managed web service (API) Raw materials Acquire Raw Materials Transform raw materials into “finished goods” Deliver Data Sources Ingest Transform and Analyze Publish
  • 18.
    Target millions ofdevices/messages with single API call. Target audiences with dynamic tags. Tailor notifications by audience, language, and location Use with any back end, in the cloud or on-premises Dynamically define and reach audience segments
  • 19.
    Cloud based businessanalytics service: • Track data in real-time with support for streaming data • Drill through to underlying reports to explore and discover new insight • Pin new visualizations and KPIs to monitor performance
  • 22.
    typedef struct TELEMETRY_INSTANCE_TAG {DEVICEHUB_MESSAGE_HANDLE messageHandle; int messageTrackingId; // For tracking the messages within the user callback. } TELEMETRY_INSTANCE; RcvConfirmationCallback(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_CONFIRMATION_RESULT result, void* userContextCallback) {...} int main(void) { IOTHUB_CLIENT_CONFIG iotHubClientConfig; TELEMETRY_INSTANCE telemetryInstance; const char* msgText = "Hello from IoTHubClient"; ... iotHubClientHandle = DeviceHubClient_Create(&deviceHubClientConfig); ... IotHubMessage_SetData(telemetryInstance.messageHandle, msgText, strlen(msgText)); ... IotHubClient_SendTelemetryAsync(deviceHubClientHandle, telemetryInstance.messageHandle, RcvConfirmationCallback, &telemetryInstance);... }
  • 23.
    static int ReceiveNotificationCallback(IOTHUB_CLIENT_HANDLEiotHubClientHandle, IOTHUB_MESSAGE_HANDLE notificationMessage) { /* Some device specific action code goes here... */ } int main(void) { IOTHUB_CLIENT_CONFIG iotHubClientConfig; IOTHUB_CLIENT_HANDLE iotHubClientHandle; iotHubClientConfig.iotHubName = “{name}"; iotHubClientConfig.deviceId = “{device id}"; iotHubClientConfig.deviceKey = “{key}"; iotHubClientConfig.protocol = IOTHUB_CLIENT_AMQP; iotHubClientHandle = IotHubClient_Create(&iotHubClientConfig) IotHubClient_SetNotificationCallback(iotHubClientHandle, ReceiveNotificationCallback) /* Wait for messages to arrive... */ }

Editor's Notes

  • #2 “IoT Suite is an enterprise grade solution that allows you to get started quickly through a set of extensible pre-configured solutions for common IoT scenarios
  • #3 The growth in IoT will far exceed that of other connected devices.
  • #6 Azure IoT Suite • Collect data from devices • Analyse data streams in-motion • Store and query large data sets • Visualize both real-time and historical data • Integrate with back-office systems Azure IoT Suite packages together Azure IoT services with preconfigured solutions. These preconfigured solutions
  • #7 Remote Monitoring • Connect and monitor your devices • Analyze untapped data • Improve business outcomes by automating processes Predictive Maintenance • Anticipate maintenance needs • Avoid unscheduled downtime by connecting and monitoring your device
  • #8  Field gateway A field gateway is a specialized device-appliance or general-purpose software that acts as a communication enabler and, potentially, as a local device control system and device data processing hub. A field gateway can perform local processing and control functions toward the devices; on the other side it can filter or aggregate the device telemetry and thus reduce the amount of data being transferred to the cloud backend. Cloud gateway A cloud gateway is the part of the cloud-based architecture that enables remote communication to and from devices or field gateways, which potentially reside at several different sites. A cloud gateway will either be reachable over the public Internet, or a network virtualization overlay (VPN), or private network connections into Azure datacenters, to insulate the cloud gateway and all of its attached devices or field gateways from another network traffic. 3.1 Devices, Device Connectivity, Field Gateway (Edge Device), Cloud Gateway Devices can be connected directly or indirectly via a field gateway (IoT edge device). Both devices and field gateways may implement edge intelligence including analytics capabilities. This enables aggregation and reduction of raw telemetry data before transport to the backend, and local decision-making capability on the edge. Following is a conceptual representation of the different device connectivity options for IoT solutions. The numbers in the figure correspond to four key connectivity patterns, defined as follows: Direct device connectivity to the cloud gateway: For IP capable devices that can establish secure connections via the Internet. 2. Connectivity via a field gateway (IoT Edge Device): For devices using industry specific protocols (such as CoAP5, OPC), short-range communication technologies (such as Bluetooth, ZigBee), as well as for resource-constrained devices not capable of hosting a TLS/SSL stack, or devices not exposed to the Internet. This option is also useful when aggregation of streams and data is executed on a field gateway before transferring to the cloud. 3. Connectivity via a custom cloud gateway: For devices that require protocol translation or some form of custom processing before reaching the cloud gateway communication endpoint. 4. Connectivity via a field gateway and a custom cloud gateway: Similar to the previous pattern, field gateway scenarios might require some protocol adaption or customizations on the cloud side and therefore can choose to connect to a custom gateway running in the cloud. Some scenarios require integration of field and cloud gateways using isolated network tunnels, either using VPN technology or using an application-level relay service.
  • #11 IoT Hub Azure IoT Hub is a fully managed service that enables reliable and secure bidirectional communications between millions of IoT devices and a solution back end. Azure IoT Hub: • Provides reliable device-to-cloud and cloud-to-device messaging at scale. • Enables secure communications using per-device security credentials and access control. • Provides extensive monitoring for device connectivity and device identity management events. • Includes device libraries for the most popular languages and platforms
  • #14 Azure IoT Hub. Azure IoT Hub is a high-scale service enabling secure bidirectional communication from a variety of devices. Azure IoT Hub connects millions of devices and supports high-volume telemetry ingestion to a cloud backend as well as command and control traffic to devices. Azure IoT Hub supports multiple consumers for cloud ingestion as well as the inbox pattern for devices. Azure IoT Hub provides support for the AMQP 1.0 with optional WebSocket6 support, MQTT 3.1.17, and native HTTP 1.1 over TLS protocols. Azure Event Hubs. Azure Event Hubs is a high-scale ingestion-only service for collecting telemetry data from concurrent sources at very high throughput rates. Event Hubs could also be used in IoT scenarios, in addition to IoT Hub, for secondary telemetry streams (that is, non-device telemetry), or collecting data from other system sources (such as weather feeds or social streams). Event Hubs doesn’t offer per-device identity or command and control capabilities, so it might be suited only for additional data streams that could be correlated with device telemetry on the backend, but not as a primary gateway for connecting devices. Azure Event Hubs provides support for the AMQP 1.0 with optional WebSocket support, and native HTTPS protocols
  • #28 The preconfigured solutions typically use the following services: • Azure IoT Hub service (the core) • Provides the device-to-cloud and cloud-to-device messaging capabilities and acts as the gateway to the cloud and the other key IoT Suite services. The service enables you to receive messages from your devices at scale, and send commands to your devices. • •Azure Stream Analytics • provides in-motion data analysis. IoT Suite leverages this service to process incoming telemetry, perform aggregation, and detect events. The preconfigured solutions also use stream analytics to process informational messages that contain data such as metadata or command responses from devices. The solutions use Stream Analytics to process the messages from your devices and deliver those messages to other services. • Azure Storage and Azure DocumentDB • Provide the data storage capabilities. The preconfigured solutions use blob storage to store telemetry and to make it available for analysis. The solutions use DocumentDB to store device metadata and enable the device management capabilities of the solutions. • Azure Web Apps and Microsoft Power BI • Provide the data visualization capabilities. The flexibility of Power BI enables you to quickly build your own interactive dashboards that use IoT Suite data