Download - Architectures lambda - Microsoft
tech.days 2015#mstechdaysArchitecture Lambda
Directeur Technique chez Cellenza
MVP Azure
Microsoft P-Seller
tech.days 2015#mstechdaysArchitecture Lambda
« La meilleure façon de prédire le futur est de regarder le passé et le présent ! »
Pourquoi les architectures lambda ?
tech.days 2015#mstechdaysArchitecture Lambda
Historiquement, le BigData est une suite logique de la B.I.
Donc on a appliqué les techniques de la B.I. : Le Batch
Ce n’est pas plus suffisant !
Des flux de données à prendre en compte en temps-réel
Des historiques très volumineux qui recèlent de la valeur
Pourquoi les architectures lambda ?
tech.days 2015#mstechdaysArchitecture Lambda
La base de données classique :
Architecture basée sur des données immuables
UPDATE
tech.days 2015#mstechdaysArchitecture Lambda
Stockage immuable :
Architecture basée sur des données immuables
tech.days 2015#mstechdaysArchitecture Lambda
Prenons un scénario Exemple :
• Analyse temps réel des comportements,
• Calcul du Taux d’abandon de panier,
• Prévision de stock
• Détection de Fraude
• Analyse d’une campagne marketing
• Quels produits ne déclenchent pas d’achat ? Problème de stock ? De prix ?
Architecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
Azure Service Bus
Relay
Queue
Topic
Notification Hub
Event Hub
NAT and Firewall Traversal Service
Request/Response Services
Unbuffered with TCP Throttling
Many publishers and many consumers to
communicate over a FIFO like channel.
(Competing consumers and Queue-based
Load leveling scenarios)
Pub / Sub communication channel. Each
Consumer subscribes to a copy of message
High-scale notification distribution
Most mobile push notification services
Millions of notification targets
tech.days 2015#mstechdaysArchitecture Lambda
Event Hub vs Topics / Queues
Bus de messages
Topics / Queues Event Hub
tech.days 2015#mstechdaysArchitecture Lambda
Principe général
Event Producers
Azure Event Hub
> 1M Producers> 1GB/sec
Aggregate Throughput
Up to 32 partitions via portal, more on
request
Part
itio
ns
Direct
PartitionKey
Hash
Consumer Group(s)
Receivers
AMQP 1.0
Credit-based flow control
Client-side cursors
Offset by Id or Timestamp
tech.days 2015#mstechdaysArchitecture Lambda
Envoi des données
Partition 1
Partition 2
Partition “n”
Event 1
PartitionKey=A
Event 1
PartitionKey=B
tech.days 2015#mstechdays
Publication de message via HTTP
Architecture Lambda
<protocol>://<namespace>.servicebus.windows.net/<eventhubname>/publisher/<partitionkey>/messages
tech.days 2015#mstechdaysArchitecture Lambda
Consommation des données
Partition 1
Partition 2
Partition “n”
Event 1
Pkey = A
Event 2
Pkey = B Receiver 6
Receiver 2
Worker “n”
Receiver 1
Receiver “n”
Worker 1
tech.days 2015#mstechdaysArchitecture Lambda
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
tech.days 2015#mstechdaysArchitecture Lambda
Stream Analytics
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
tech.days 2015#mstechdaysArchitecture Lambda
Stream Analytics
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…
tech.days 2015#mstechdaysArchitecture Lambda
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?”
tech.days 2015#mstechdaysArchitecture Lambda
TumblingWindow(minute,5) HoppingWindow(minute, 10 , 5)
SlidingWindow(minute, 3)
Last Name First Name Country Age …
Flasko Mike Canada 32
Anand Subbaraj USA 30
Gaurav Malhotra USA 72
… …. …. ….
Last Name First Name At risk of churning ….
Flasko Mike Yes
Anand Subbaraj No
Gaurav Malhotra Yes
… ….
Call Log Files
Customer Table
Call Log Files
Customer Table
Customer Churn Table
Data Factory Concepts
Data Sources Ingest Transform & Analyze Publish
Customer Call Details
Customers Likely to Churn
tech.days 2015#mstechdays
A managed cloud service for building & operating data pipelines (aka. data flows)
1. Orchestrate, monitor & schedule
• compose data processing, storage & movement services (on premises & cloud)
2. Automatic infrastructure mgmt
• combine pipeline intent w/ resource allocation & mgmt
• data movement as a service (global footprint & on premises)
3. Single pane of glass
• one place to manage your network
of data flows
Architecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
@michelhubert