using azure functions, iot and stream...
TRANSCRIPT
DEVOPS / IOT
How I built submergedusing Azure Functions, IoT and Stream
Analytics
Jasper Siegmund
DEVOPS / IOT
Session Overview• Solution Architecture
• Getting data to Azure
• Storing data
• Acting on data
• Surfacing everything in an app
• Sending commands
DEVOPS / IOT
DEVOPS / IOT
Event Hub
Storage blobs DocumentDB
WebAPI
Stream Analytics
Azure
Active Directory
Mobile
App
IoT Hub Notification
Hub
Azure solution Architecture
Raspberry Pi 2 Gateway
Arduino +
Sensors
Arduino +
Sensors
Functions
DEVOPS / IOT
Event Hub
Storage blobs DocumentDB
WebAPI
Stream Analytics
Azure
Active Directory
Mobile
App
IoT Hub Notification
Hub
Azure solution Architecture
Raspberry Pi 2 Gateway
Arduino +
Sensors
Arduino +
Sensors
Getting data to Azure
Functions
DEVOPS / IOT
Azure IoT Hub
Getting data to Azure
• Gather telemetry data and send to Azure (gateway)
• Security by design• Per device authentication
• Encryption
• Device 2 cloud messaging
• Cloud 2 device messaging
• Device registry
• Platform SDK’s
DEVOPS / IOT
Event Hub
Storage blobs DocumentDB
WebAPI
Stream Analytics
Azure
Active Directory
Mobile
App
IoT Hub Notification
Hub
Azure solution Architecture
Raspberry Pi 2 Gateway
Arduino +
Sensors
Arduino +
Sensors
Analyzing & Storing data
Functions
DEVOPS / IOT
Getting data to Azure
• BLOB storagelow cost for lots of (long term) space
• DocumentDBbetter suited for configuration-type data
• Stream analytics output options:
• SQL database
• Blob storage
• Event hub
• Table storage
• Service bus Queue
• Service bus Topic
• DocumentDB
• Power BI
Azure Storage
DEVOPS / IOT
Event Hub
Storage blobs DocumentDB
WebAPI
Stream Analytics
Azure
Active Directory
Mobile
App
IoT Hub Notification
Hub
Azure solution Architecture
Raspberry Pi 2 Gateway
Arduino +
Sensors
Arduino +
Sensors
Functions
Acting on data
DEVOPS / IOT
Acting on data• Using reference data to route
actionable data to event hub.
• Function connected to event hub handles events and takes appropriate action.
• Do you need an action on every event?
• Alternative: logic apps
Azure Functions
Azure Stream Analytics
Azure Event Hub
DEVOPS / IOT
Event Hub
Storage blobs DocumentDB
WebAPI
Stream Analytics
Azure
Active Directory
Mobile
App
IoT Hub Notification
Hub
Azure solution Architecture
Raspberry Pi 2 Gateway
Arduino +
Sensors
Arduino +
Sensors
Functions
Surfacing everything in an app
DEVOPS / IOT
Surfacing in an app• Supported notification services:
• Apple (APNS)
• Google (GCM)
• Windows (WNS)
• Windows Phone (MPNS)
• Amazon (ADM)
• Baidu (Android China)
• Using Mobile Service Client JavaScript library to connect Cordova app to Azure• Authentication (ADAL)
• InvokeApi
• Push messages
Azure Notification Hub
Azure App Service
Azure API Apps
DEVOPS / IOT
Event Hub
Storage blobs DocumentDB
WebAPI
Stream Analytics
Azure
Active Directory
Mobile
App
IoT Hub Notification
Hub
Azure solution Architecture
Raspberry Pi 2 Gateway
Arduino +
Sensors
Arduino +
Sensors
Functions
Sending commands back
DEVOPS / IOT
Sending commands• Device 2 Cloud messaging
• Message receivedMessage = await
_deviceClient.ReceiveAsync();
Azure App Service
Azure IoT Hub
DEVOPS / IOT
DEVOPS / IOTDEVOPS / IOT
demo
DEVOPS / IOT
Event Hub
Storage blobs DocumentDB
WebAPI
Stream Analytics
Azure
Active Directory
Mobile
App
IoT Hub Notification
Hub
Azure solution Architecture
Raspberry Pi 2 Gateway
Arduino +
Sensors
Arduino +
Sensors
Functions
DEVOPS / IOT
Learning MoreIoT Suite remote monitoring sample
https://github.com/Azure/azure-iot-remote-monitoring
Get started with Visual Studio Tools for Apache Cordova
https://taco.visualstudio.com/en-us/docs/get-started-first-mobile-app/
Aquarium Monitor blog series
http://blog.repsaj.nl/index.php/2016/01/iot-my-steps-to-an-aquarium-monitor/
//build 2016 IoT codelabs
https://github.com/Microsoft-Build-2016/CodeLabs-IoTDev
DEVOPS / IOT
Jasper Siegmund
Blog blog.repsaj.nl
Twitter @jsiegmund
LinkedIn linkedin.com/in/jsiegmund
Work www.mstack.nl
DEVOPS / IOTDEVOPS / IOT
vragen
DEVOPS / IOT
Volgende sessie 16:00 – 17:00
10 reasons why to move to
System Center Configuration
Manager as a service
Peter Daalmans & Kenneth van Surksum
DEVOPS / IOT
Detailed architecture
DEVOPS / IOT
DEVOPS / IOT
DEVOPS / IOT
DEVOPS / IOT
DEVOPS / IOT
DEVOPS / IOT
DEVOPS / IOT