Stanislav Harvan v-sharva@microsoft.com Internet of Things
IoT v číslach Gartner: V roku 2020 bude na Internet pripojených viac ako 25mld zariadení: 1,5mld smart TV 2,5mld pc 5mld smart phone 16mld dedicated IoT IDC: v roku 2020 bude hodnota IoT trhu 1700 mld USD Pre predstavu: 1 hodina = 60 minút 1 deň = 1 440 minút 1 týždeň = 10 080 minút 1 mesiac = 43 200 minút 1 rok = 525 600 minút
Canonical Architecture for processing events
Connectivity considerations Transport: TCP, UDP, non IP Messaging HTTP/s, AMQP, MQTT, CoAP, custom Security: TLS/PSK, hw-based security (TLS with TPM) Serialization: JSON, BSON, Apache Avro, custom Data model: name-value pairs to schematic models (AllJoyn...) Smart edge ervices: local filtering/aggregation,network condition detection Management protocols: OMA-DM, OMA-M2M
Azure Service Bus Relay Queue Topic Notification Hub Event Hub NAT and Firewall Traversal Service Request/Response Services Un-buffered with TCP Throttling Transactional Cloud AMQP/HTTP Broker High-Scale, High-Reliability Messaging Sessions, Scheduled Delivery, etc. Transactional Message Distribution Up to 2000 subscriptions per Topic Up to 2K/100K filter rules per subscription High-scale notification distribution Most mobile push notification services Millions of notification targets > 1M messages/sec > 1GB/sec aggregate throughput
Azure IoT Hub Azure IoT Suite IP-capable PAN-devices Field gateway Cloud protocol gateway IoT Hub Event processing and insight (e.g. Azure Stream Analytics) Application device runtime logic Application device provisioning and management field cloud
Azure IoT Hub Designed for IoT Connect up to 10 million devices Service assisted communications Secure bi-directional communication Command and control Cloud-scale messaging Device-to-cloud and Cloud-to-device Durable messages (at least once semantics) Cloud-facing telemetry ingestion Delivery receipts, expired messages Device communication errors Per-device authentication Individual device identities and credentials Connection multiplexing Single device-cloud connection for all communications (C2D, D2C) Multi-protocol support Natively supports AMQP, HTTP Designed for extensibility to custom protocols Multi-platform Device SDKs available for multiple platforms (e.g. RTOS, Linux, Windows) Multi-platform Service SDK.
Stream analytics - Real time event processing Uncover real time insights Perform real time analytics across multiple streams Rapid Deployment Use simple SQL syntax, auto distributed for scale Mission critical reliability Fully managed, low latency, high throughput Create real time alerts Flag alerts and alarms for attention High volume Analyze millions of data points per second Highly scalable Enterprise grade, predictable solution.
Tumbling Window SELECT sensorld, AS count FROM sensorreadings TIMESTAMP BY time GROUP BY sensorld, TumblingWindow(second, 10)
Hopping Window SELECT sensorld, AS Count, AVG(temp) FROM SensorReadings TIMESTAMP BY time GROUP BY sensorld, HoppingWindow(second, 10, 5)
Sliding Window SELECT sensorld, MIN(temp) as temp FROM SensorReadings TIMESTAMP BY time GROUP BY sensorld, SlidingWindow(second, 5) HAVING MIN(temp) > 75
Remote monitoring preconfigured solution Azure IoT Suite Remote Monitoring Web/Mobile App Power BI Devices C# simulator IoT Hub Stream Analytics Storage blobs Event Hub Web Jobs DocumentDB Logic Apps Back end systems and processes Azure Active Directory
M2M Information Exchange Patterns Telemetry Inquiries Commands Notifications Information flowing from a device to other systems for conveying status of device and environment Requests from devices looking to gather required information or asking to initiate activities Commands from other systems to a device or a group of devices to perform specific activities Information flowing from other systems to a device (-group) for conveying status changes in the rest of the world
Data visualization with PowerBI Rich visuals Standard and custom graphing options Custom dashboards Build heat maps and visually track data External data Integrate external data feeds to add value to device data, or pull in external information such as weather or market information.
Microsoft Azure IoT services Devices Device Connectivity Storage Transformation Presentation & Action Event Hubs SQL Database Machine Learning App Service IoT Hubs Table/Blob Storage Stream Analytics Power BI External Data Sources { } DocumentDB HDInsight Notification Hubs External Data Sources Data Factory Mobile Services BizTalk Services
Ďalšie zdroje Free Azure Trial Supported devices with SDKs Source codes Create an IOT suite solution
text Q&A
Azure IoT Services Reference Architecture Devices and Data Sources Data Transport Device and Event Processing Presentation IP capable devices Agent Provisioning API Identity & Registry Stores Solution Portal Existing IoT devices Azure IoT Hub Device State Store Stream Event Processor Data Visualization & Presentation Agent Gateway Agent Storage Analytics/ Machine Learning Low power devices
Batch Analytics & Visualizations Devices RTOS, Linux, Android, ios, Windows Protocol Adaptation Azure HDInsight, AzureML, Power BI, Azure Data Factory Hot Path Analytics Azure Stream Analytics, Azure Storm Presentation & Business Connections Websites, Mobile Services Field Gateway Cloud Gateway Event Hub Hot Path Business Logic Service Fabric & Actor Framework Dynamics, BizTalk Services, Notification Hubs Device Connectivity & Management Analytics & Operationalized Insights Presentation & Business Connectivity
Introducing Azure Event Hubs Azure Event Hub IEventProcessor Event Processor Host Direct Receivers > 1M Producers > 1GB/sec Aggregate Throughput Partitions Consumer Group(s) Event Producers PartitionKey Hash Throughput Units: 1 TUs Partition Count TU: 1 MB/s writes, 2 MB/s reads Up to 32 partitions via portal, more on request AMQP 1.0 Credit-based flow control Client-side cursors Offset by Id or Timestamp
Stream Analytics (to SQL)