using azure functions, iot and stream analytics · devops / iot event hub storage blobs documentdb...

29
DEVOPS / IOT How I built submerged using Azure Functions, IoT and Stream Analytics Jasper Siegmund

Upload: others

Post on 31-May-2020

26 views

Category:

Documents


0 download

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