biztalk summit - iot
TRANSCRIPT
Internet of ThingsBizTalk Summit France
10/03/2015
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)
The Internet of Things (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
PaaS?
Technet
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
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
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
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é -
L’avantage avec Azure
Storm sur Linux dans une VM
HDInsight sur Azure
Web Sites & Power BI
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
Event Hub : Envoyer des données
Partition 1
Partition 2
Partition “n”
Event 1
PartitionKey=A
Event 1
PartitionKey=B
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
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
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
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…
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!
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!
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
- …
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?”
23
Agrégation temporelle, en SQL
TumblingWindow(minute,5) HoppingWindow(minute, 10 , 5)
SlidingWindow(minute, 3)
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
Arduino.cc : hardware open source
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)