2-611: Best Practices for Creating IoT Solutions with Azure

The Microsoft Architecture for the Internet of Things: In this session, we’ll provide a deeper architecture implementation overview of the Microsoft Azure services for IoT that you can use for solution development. You’ll also hear more about what Microsoft is doing in this space to continue to innovate around the business challenges of IoT solution development. In this session we will cover architectural considerations, best practices and implementation guidance for your IoT solution.

1.0x

2-611: Best Practices for Creating IoT Solutions with Azure

Created 2 years ago

Duration 0:55:42
lesson view count 4268
The Microsoft Architecture for the Internet of Things: In this session, we’ll provide a deeper architecture implementation overview of the Microsoft Azure services for IoT that you can use for solution development. You’ll also hear more about what Microsoft is doing in this space to continue to innovate around the business challenges of IoT solution development. In this session we will cover architectural considerations, best practices and implementation guidance for your IoT solution.
Select the file type you wish to download
Slide Content
  1. 2-611

    Slide 1 - 2-611

    • Best Practices for Creating IoT Solutions with Azure
    • Kevin Miller
    • Principal Program Manager, Azure IoT
    • Internet of Things
  2. Slide 2

    • Agenda
    • State of the art for IoT
    • Architecture for building today
    • Patterns and anti-patterns
    • Demo
    • Architecture for the future
  3. Is IoT even a new thing?

    Slide 3 - Is IoT even a new thing?

    • Command and control scenarios have much in common with some parts of IoT.
    • But falling hardware costs, cloud services and relatively ubiquitous communications do enable new approaches.
    • Depending on who you ask, IoT is either:
    • Nothing new
    • A unicorn
    • 1
    • 2
    • Magic, and will soon change everything.
    • We’ve been doing this for 40 years
  4. Most of the early successful IoT deployments were either…

    Slide 4 - Most of the early successful IoT deployments were either…

    • For very complex and expensive devices, where the cost of a custom hardware/software solution is acceptable compared to the cost of the device, or…
    • For high-volume, homogeneous devices, where the software needs are relatively simple..
    • IoT solutions until now
    • Device complexity
  5. Microsoft Azure IoT Services

    Slide 5 - Microsoft Azure IoT Services

    • Devices
    • Device Connectivity
    • Storage
    • Analytics
    • Presentation & Action
    • Event Hubs
    • SQL Database
    • Machine Learning
    • App Service
    • Service Bus
    • Table/Blob Storage
    • Stream Analytics
    • Power BI
    • External Data Sources
    • DocumentDB
    • HDInsight
    • Notification Hubs
    • External Data Sources
    • Data Factory
    • Mobile Services
    • BizTalk Services
    • { }
  6. Build to an architecture that will scale, but start prototyping with a small number of devices.

    Slide 6 - Build to an architecture that will scale, but start prototyping with a small number of devices.

    • It’s hard to predict what data provides value -- which impacts which sensors and devices are necessary -- until you build something.
    • It’s much easier to work through through device identity, management/update and security at small scale.
    • Pattern: Think big. Start small
    • Think big, but start small.
    • Experiment, learn and refine.
  7. IoT architecture requirements

    Slide 7 - IoT architecture requirements

    • Handle extreme hardware and software heterogeneity.
    • Lower barriers to entry:
    • evaluate -> prototype -> deploy.
    • Provide hot-path and cold-path analysis and response.
    • Build for hyper-scale and enable low latency.
    • Be secure by design; support defense in depth.
  8. It is very hard to predict in advance what data will be useful.

    Slide 8 - It is very hard to predict in advance what data will be useful.

    • It is tempting, but likely inefficient to try for business transformation in the first step.
    • Think about not only device telemetry but also diagnostic telemetry.
    • Privacy and security implications of telemetry are generally lesser than for command and control.
    • Pattern: Telemetry first
    • Start with telemetry.
    • The important data may not be what you expected.
    • Address privacy, security and manageability before moving to command and control.
  9. High scale data ingestion via Event Hub.

    Slide 9 - High scale data ingestion via Event Hub.

    • High scale stream processing via Stream Analytics (or HDInsight /Storm)
    • Storage for cold-path analytics
    • Processing for hot-path analytics
    • Telemetry today
    • Event Hub
    • Stream Analytics
    • SQL
    • Blob
  10. Real-time analytics for Internet of Things solutions

    Slide 10 - Real-time analytics for Internet of Things solutions

    • Stream millions of events per second
    • Mission critical reliability, performance and predictable results
    • Rapid development with familiar SQL-based language
    • Event Hubs and Stream Analytics
    • Cloud-scale telemetry ingestion from websites, apps, and devices
    • Compatible with more than a million publishers supporting HTTP, AMQP and MQTT
    • Ingress millions of events per second
    • SAS based security, with unique token per publisher
    • Configurable data retention (1-30 days)
    • Low latency (<10 ms for volatile data)
    • Pluggable with other cloud services like Stream Analytics
    • Event Hub
    • Stream Analytics
  11. Demo Event Hub and Stream Analytics

    Slide 11 - Demo Event Hub and Stream Analytics

    • Event Hub
    • Stream Analytics
    • Website
    • Worker (Node.js)
    • SQL
    • Blob
    • Event Hub
    • Stream Analytics
    • SQL
    • Blob
    • Website
    • Worker (Node.js)
  12. Demo Event Hub and Stream Analytics

    Slide 12 - Demo Event Hub and Stream Analytics

    • Event Hub
    • Stream Analytics
    • Website
    • Worker (Node.js)
    • SQL
    • Blob
    • Event Hub
    • Stream Analytics
    • SQL
    • Blob
    • Website
    • Worker (Node.js)
  13. var eventBody = { "reading": x, "device_id": id };

    Slide 13 - var eventBody = { "reading": x, "device_id": id };

    • ehClient = new EventHubClient({
    • 'name': "kevinmil-demo", 'namespace': "kevinmil-demo-ns",
    • 'sasKey': <snipped>, 'sasKeyName': "sendTelemetry",
    • 'timeOut': 10,
    • });
    • var msg = new EventData(eventBody);
    • ehClient.sendMessage(msg, function (messagingResult) {
    • // <body snipped>
    • });
    • JavaScript (to Event Hub)
  14. SELECT

    Slide 14 - SELECT

    • System.TimeStamp as UTCDateTime, device_id as Device_Id,
    • COUNT (*) as Count
    • FROM [iotdemoeventhub] TIMESTAMP BY EventProcessedUtcTime
    • INTO [alertCounts]
    • WHERE ( CAST(reading AS float) > 115.0 )
    • GROUP BY device_id, SlidingWindow(second, 15)
    • HAVING COUNT(*) > 1
    • SELECT
    • device_id as Device_Id, reading as Reading,
    • EventProcessedUtcTime as UTCDateTime
    • FROM [iotdemoeventhub] TIMESTAMP BY EventProcessedUtcTime
    • INTO [stream2sql]
    • Stream Analytics (to SQL)
  15. SELECT

    Slide 15 - SELECT

    • System.TimeStamp as UTCDateTime, device_id as Device_Id,
    • COUNT (*) as Count
    • FROM [iotdemoeventhub] TIMESTAMP BY EventProcessedUtcTime
    • INTO [alertCounts]
    • WHERE ( CAST(reading AS float) > 115.0 )
    • GROUP BY device_id, SlidingWindow(second, 15)
    • HAVING COUNT(*) > 1
    • SELECT
    • device_id as Device_Id, reading as Reading,
    • EventProcessedUtcTime as UTCDateTime
    • FROM [iotdemoeventhub] TIMESTAMP BY EventProcessedUtcTime
    • INTO [stream2sql]
    • Stream Analytics (to SQL)
  16. SELECT

    Slide 16 - SELECT

    • device_id as Device_Id,
    • reading as Reading,
    • EventProcessedUtcTime as UTCDateTime
    • FROM [eventhub]
    • INTO [out2blob]
    • Stream Analytics (to blob)
  17. Think about a scalable architecture, but start small, and start with telemetry.

    Slide 17 - Think about a scalable architecture, but start small, and start with telemetry.

    • It is straightforward to get a telemetry example running with very limited coding.
    • Demo recap
  18. In the telemetry example, Event Hub data flows directly into Stream Analytics.

    Slide 18 - In the telemetry example, Event Hub data flows directly into Stream Analytics.

    • Pattern: Don’t interrupt the fast path
    • Don’t accidentally create processing bottlenecks. (Think carefully before interrupting data flow between high-scale components.)
    • “Don’t stick your head in the fire hose unless you know what you’re doing.”
    • Both components are designed for high scale.
    • Don’t process between high-scale components unless you can handle that scale.
    • Event Hub
    • Stream Analytics
  19. The entire organization needs to be focused on security, and that focus must inform the entire product lifecycle.

    Slide 19 - The entire organization needs to be focused on security, and that focus must inform the entire product lifecycle.

    • Pattern: Defense in depth
    • Think about security, identity and management from the very beginning.
    • Security is a shared responsi-bility between Azure and the customer.
    • Requirements
    • Design & Implementation
    • Verification & Release
    • Response
    • Think about security on the device, at the field gateway (if one exists) and in the cloud.
    • Physical Security, Tamper Detection
    • Hardware & firmware security,
    • secure boot
    • Network, protocol & application security
    • Identity management for devices and users
    • Data Privacy Protection and Controls
  20. Accelerate time-to-value by easily deploying IoT applications for the most common use cases, such as remote monitoring, asset management, and predictive maintenance

    Slide 20 - 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
    • Azure IoT Suite
  21. Azure IoT Reference Architecture

    Slide 21 - Azure IoT Reference Architecture

    • Solution Portal
    • Provisioning 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
    • Presentation
    • Device and Event Processing
    • Data Transport
    • Devices and Data Sources
    • Cloud Gate-way
    • AgentLibs
    • AgentLibs
    • Control System Worker Role
    • AgentLibs
  22. The forthcoming IoT Suite will ease the design and deployment of IoT applications for the most common use cases.

    Slide 22 - The forthcoming IoT Suite will ease the design and deployment of IoT applications for the most common use cases.

    • Highly portable client libraries support easy cloud connection for devices and gateways.
    • IoT Hub will extend Event Hubs to include device provisioning, identity, command & control, and management.
    • Building to the reference architecture will simplify conversion to the IoT Suite.
    • Pattern: Build to the reference architecture
    • Get started now and convert easily when the IoT Suite is publically available.
  23. Demo 2 Adding a native client and PowerBI

    Slide 23 - Demo 2 Adding a native client and PowerBI

    • PowerBI
    • Client Library
    • Event Hub
    • Stream Analytics
    • SQL
    • Blob
    • Website
    • Worker (Node.js)
  24. Demo 2 Adding a native client and PowerBI

    Slide 24 - Demo 2 Adding a native client and PowerBI

    • PowerBI
    • Client Library
    • Event Hub
    • Stream Analytics
    • SQL
    • Blob
    • Website
    • Worker (Node.js)
  25. Think big (architecture), but start small (experiment, learn and refine).

    Slide 25 - Think big (architecture), but start small (experiment, learn and refine).

    • Start with telemetry. Address privacy, security and manageability before moving to command and control.
    • Don’t interrupt the fast path and create processing bottlenecks.
    • Think about security, identity and management from the very beginning, and through the life of the product.
    • Build to the reference architecture to ease the move to IoT Suite.
    • Summary
    • CONSUMERS
    • DEVICES
    • OBJECTS
    • NETWORK
    • BIG DATA
    • INNOVATION
    • STANDARDS
    • BUSINESS
    • SECURITY
    • Internet
    • of Things
  26. Internet of Things Overview: By Sam George and Steve T @ 5:00PM, 04/29, Room Hall 1A

    Slide 26 - Internet of Things Overview: By Sam George and Steve T @ 5:00PM, 04/29, Room Hall 1A

    • 2. Azure IoT security: By Clemens Vasters @ 2:00PM, 04/29, Room 3014
    • On demand sessions:
    • 1. Designing and sizing a global scale telemetry platform on Azure Event Hubs
    • 2. Connecting your devices to Azure IoT suite
    • Attend IoT sessions at Build
    • Reference talks by Sam, Elio, Clemens and any of the ASA talks, at least.