Biztalk summit - IOT

28
Internet of Things BizTalk Summit France 10/03/2015

Transcript of Biztalk summit - IOT

Page 1: Biztalk summit - IOT

Internet of ThingsBizTalk Summit France

10/03/2015

Page 2: Biztalk summit - IOT

Exemple d’objets connectés

• Portable sur soi, à la maison

• Infrastructure intelligente, domotique

• Sécurité et surveillance

• Santé

• Transport

• Agriculture

• …

Des objets qui n’étaient pas

connectés jusqu’à présent

Qui ne disposent souvent pas

d’un accès réseau spécifique

Qui envoient des données de

façon continue (stream)

Page 3: Biztalk summit - IOT

The Internet of Things (IoT)

Page 4: Biztalk summit - IOT

Les services Microsoft Azure pour l’IoT

Acheter

Construire

Acheter une partie,

Construire le spécifique

• Si le développement logiciel n’est pas une

compétence primaire

• Focus sur la rapidité d’implémentation

• Le développement logiciel est une force

• Focus sur la flexibilité et le control, minimization

du coût

• La plateforme est vue comme un investissement

stratégique

• Expérimentation

• Analytics et traitement des données spécifiques

• Composer des services à haute valeur ajoutée

“Intelligent Systems

Service” (ISS)

Outils “Platform as a

Service” (PaaS)

Plateforme ISS +

Services

Caractéristiques de l’organisation Services AzureComment approcher l’IoT

Page 6: Biztalk summit - IOT

Quel type d’infrastructure est nécessaire?

Supporte la varieté (> million d’apparails concurrents)

Supporte la rapidité (> million événements/s)

Supporte le volume (> 100s de TB)

Buffering (pour gérer la variabilité)

Durabilité

Latence basse

Sécurité

Et pas trop cher!

Grid

Renewables

Oil/Gas/Coal

Recovery and

Distribution

Points

of Sale

Restaurants

Hotels

Fuel

Stations

Patients

Clinics

Hospitals

Nursing

Homes

Mobile

Care

SafetySecurity

ComfortLighting

Automation

Manufacturing

Integration and

AutomationRemote

Servicing

Predictive and

Reactive

Maintenance

Water

Waste

Pollution

Control

Fire

Emergency

Public

Safety

Law

Enforcement

Letters

Packages

Containers

Tanks Bulkware

Games

Events

Sports

TelevisionStreaming

Traffic Buses

Cars

Trucks

Trains

Vessels

Aircraft

Bikes

Smart

Energy

Smart

Retail

Smart

Mobility

Smart

Logistics

Smart

Factory

Smart

Cities

Smart

Entertain-

ment

Smart

Health-

care

Smart

Building

Home

Page 7: Biztalk summit - IOT

Architecture de référence pour le traitement d’événements

Présentation et action

-

Search and query

Data analytics

Web/thickclient dashboards

Stockage long terme

Externaldata sources

Azure Storage

Transformation

Real-time analytics(Storm/Orleans,

NRT/ASA)

Batching/storageadapters

Ingestion(broker)

ScalableEvent Broker

Field Gateways

Collection

Cloud Gateways(WebAPIs)

Applications

Producteurs

Devices

Page 8: Biztalk summit - IOT
Page 9: Biztalk summit - IOT

Event Hub c’est un service d’ingestion en mode publisher-subscriber (éditeur/abonné)Variété: > million appareils with HTTP/AMQP/(MQTT)

Vitesse: > million lignes ingress/second

Volume: > GB/s ingress

Egress: Pub-sub: Consommateurs concurrents

Securité: SAS based, token unique par publisher

Buffer: Chaque consommateur possède son propre cursor/offset

Durable: Entre 1 and 30 jours de rétention

Latence: 50ms end-to-end en mode durable, pointes <10ms

Prix: Compétitif en mode PaaS, payer ce que vous consommer

Page 10: Biztalk summit - IOT

Event Hub pour l’IoT: Ingestion Big Data

Sources Services Cloud

Stockage & Analytics

Code spécifique & Outils tiers

Web/Mobile User Interfaces

ServicesD’integration

Event Hub

- Hyper Scale -

- Mode Managé -

- Interopérable -

- Sécurisé -

Page 11: Biztalk summit - IOT

L’avantage avec Azure

Storm sur Linux dans une VM

HDInsight sur Azure

Web Sites & Power BI

Page 12: Biztalk summit - IOT

Scénarios Event Hub

Présentation et action

TransformationBroker Stockage long terme

CollectionProducteurs

Devices

Appareils entrée de gamme

(RTOS)

Appareils compatibles IP (Windows/Linux)

Field Gateway (Raspberry PI/

Galileo)(Embedded .Net/

ThreadX)

Event Hub

Legacy IoT(Protocoles spécifiques)

Cloud Gateway spécifique

AMQP/HTTPC, .NET, Java…

MQTT/COAP/Custom

Rétention des données dans le temps,

Groupes de consommateurs,

Réception partitionnée,

Check-point,

Plus basse latence end-to-end

Intégration facile avec les frameworks (SDK)

Custom code (Storm/Orleans)

Storage adapters

App insights

Data Analytics

Statistiques

Dashboard

Service

Recherche

Distributedtracing

-

Applications

AMQP/HTTP, C, .NET, Java… Scalabilité sur la bande passante (GB/s)

et le nombre de producteurs concurrents

Azure Dbs

Azure Storage

HDInsight

Page 13: Biztalk summit - IOT

Event Hub : Envoyer des données

Partition 1

Partition 2

Partition “n”

Event 1

PartitionKey=A

Event 1

PartitionKey=B

Page 14: Biztalk summit - IOT

Event Hub : Consommation

Partition 1

Partition 2

Partition “n”

Event 1

Pkey = A

Event 2

Pkey = BReceiver 6

Receiver 2

Worker “n”

Receiver 1

Receiver “n”

Worker 1

Page 15: Biztalk summit - IOT

Event Hub : Consommation multiple

Partition 1

Partition 2

Partition “n”

Consumer Group C

Callback for prtn. 6

Callback for prtn. 2

Worker “n”

Callback for prtn. 1

Callback “n”

Worker 1Consumer Group B

Callback for prtn. 6

Callback for prtn. 2

Worker “n”

Callback for prtn. 1

Callback “n”

Worker 1Consumer Group A

Worker “n”

Callback for prtn. 6

Callback for prtn. 2

Callback for prtn. 1

Callback “n”

Worker 1

Page 16: Biztalk summit - IOT
Page 17: Biztalk summit - IOT

17

Données au repos

SELECT count(*) FROM ParkingLot

WHERE type = 'Auto'AND color = 'Red'

Question“Combien de voitures rouges dans le parking?”

Répondre avec une base de donnée relationnelleMarcher jusqu’au parking

Compter les véhicules qui sont: Rouge, Voiture

Page 18: Biztalk summit - IOT

18

Données en Mouvement

La question est différente“Combien de voitures rouges sont passées au marqueur 18A sur l’A-10 dans

la dernière heure?”

Répondre avec une base de donnée relationnelleS’arrêter, faire se garer toutes les voitures qui arrivent pendant l’heure dans un parking, les compter

Pas la meilleure des solutions…

Page 19: Biztalk summit - IOT

19

Développent et Management dans le portail Azure

Toutes les opérations de management exposées via des endpoints REST (API)

Aussi connu sous le nom « Complex Event Processing », « Traitement d’événements complexes »

S’alimente des flux continus d’événements provenant d’IoT (Event Hub)…

Préparation des données (jointures, filtrage, agrégation, détection de patterns)

Permet le dashboarding en temps réel, les alertes, la maintenance préventive…

Azure Stream Analytics!

Page 20: Biztalk summit - IOT

20

Pourquoi le faire dans le cloud?

Event data is already

in the Cloud

Event data is

globally distributed

Coût d’opération

moindre

Scale Services managés, pas

d’infrastructure

Déplacer les traitements vers la

données, et pas l’inverse!

Page 21: Biztalk summit - IOT

21

Architecture complète

Data Source Collect Process Consume

Entrées- Event Hubs

- Azure Storage

Blobs

Transformer- Temporal joins

- Filter

- Aggregates

- Projections

- Windows

- etc.

Enrichir- Join with reference

data

Préparer- Output to storage

for further

processing

Sorties- Azure SQL DB

- Azure Storage

Blobs

- Event Hubs

Azure

Storage

• Temporal Semantics

• Guaranteed delivery

• Guaranteed up time

Azure Stream Analytics

Données de

référence- Azure Storage

Blobs

- …

Page 22: Biztalk summit - IOT

22

L’avantage définitif

SELECT count(*) FROM A-10WHERE Type = ‘Voiture’ and Color = ‘Rouge’GROUP BY TumblingWindow(hour, 1)

La question est différente“Combien de voitures rouges sont passées au marqueur 18A sur l’A-10 dans

la dernière heure?”

Page 23: Biztalk summit - IOT

23

Agrégation temporelle, en SQL

TumblingWindow(minute,5) HoppingWindow(minute, 10 , 5)

SlidingWindow(minute, 3)

Page 24: Biztalk summit - IOT
Page 25: Biztalk summit - IOT

Internet of Things avec Microsoft Azure

Présentation et action

TransformationBroker Stockage long terme

CollectionProducteur

Appareilcompatible IP (Windows/Linux)

Event Hub

AMQP/HTTPC, .NET, Java…

Azure Stream Analytics

Azure SQL DB

Power BI

Langage Arduino (C/C++)

+

Azure : Python SDK

Pseudo SQL

Page 26: Biztalk summit - IOT

Arduino.cc : hardware open source

Page 27: Biztalk summit - IOT
Page 28: Biztalk summit - IOT

Pour aller plus loin

• Arduino.cc : Starter Kit / Arduino Yun (Linux+Wifi)

• Arduino + Event HubOla Loogman (Kloud) : The IoT with Arduino, Event Hubs and the Azure Python SDK (blog)

• Event Hub et Stream AnalyticsDipanjan Banik – Stream Analytics Hands on Lab : TollApp (télécharger)Visual Studio 2013 Community Edition (télécharger) Azure 1 mois gratuit : 150€ (activer)

• Power BI : PowerBI.com (preview uniquement aux US, mais l’Europe bientôt)