SlideShare une entreprise Scribd logo
1  sur  57
AMBIENT INTELLIGENCE
#mstechdays techdays.microsoft.fr
tech days•
2015camps
Architectures Lambda
Michel Hubert / Georges Damien
@michelhubert @georges_damien
tech.days 2015#mstechdaysArchitecture Lambda
Directeur Technique chez Cellenza
MVP Azure
Microsoft P-Seller
tech.days 2015#mstechdaysArchitecture Lambda
Consultant chez Cellenza
tech.days 2015#mstechdaysArchitecture Lambda
 Architectures Lambda
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
Architecture 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
Quels cas d’usage ?
tech.days 2015#mstechdaysArchitecture Lambda
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
La Master Data
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
Partitions
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 .Net / AMQP
Architecture Lambda
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#mstechdays
IEventProcessor
Architecture Lambda
tech.days 2015#mstechdays
IEventProcessor
Architecture Lambda
Architecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
Données en
mouvement
« Complex Event Processing »
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 relationnelle
Marcher 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 relationnelle
S’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-10
WHERE 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)
tech.days 2015#mstechdays
tech.days 2015#mstechdaysArchitecture Lambda
Architecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
Une usine à données
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
Etaes de mise en oeuvre
tech.days 2015#mstechdays
Pipeline (Active Period: July 2015 to July 2016)
Architecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
Interfaces
tech.days 2015#mstechdaysArchitecture Lambda
Les langages
tech.days 2015#mstechdaysArchitecture Lambda
PowerShell - Déploiement
tech.days 2015#mstechdaysArchitecture Lambda
Architecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
Pour aller plus loin…
tech.days 2015#mstechdaysArchitecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
Machine Learning
tech.days 2015#mstechdaysArchitecture Lambda
Machine Learning
tech.days 2015#mstechdaysArchitecture Lambda
Architecture Lambda
tech.days 2015#mstechdaysArchitecture Lambda
michel.hubert@cellenza.com
@michelhubert
Georges.damien@Cellenza.com
© 2015 Microsoft Corporation. All rights reserved.
#mstechdays techdays.microsoft.fr/camp
tech days•
2015camps
Architecture Lambda

Contenu connexe

Similaire à Architectures lambda - Techdays camps 2015

Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Microsoft Technet France
 
Jss 2015 Stream Analytics
Jss 2015   Stream AnalyticsJss 2015   Stream Analytics
Jss 2015 Stream AnalyticsMichel HUBERT
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics GUSS
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft Stream analyticsGeorges Damien
 
Petit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projetsPetit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projetsAdrien Blind
 
Petit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projetsPetit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projetsOCTO Technology
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 
LAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possibleLAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possibleRobin Mizreh
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideMicrosoft Décideurs IT
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideMicrosoft Technet France
 
Azure Stream analytics / Event Hub
Azure Stream analytics / Event HubAzure Stream analytics / Event Hub
Azure Stream analytics / Event HubMichel HUBERT
 
Big Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… AzureBig Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… AzureMicrosoft Technet France
 
Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0
Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0
Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0IBM France Lab
 
Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?Microsoft Technet France
 
Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?Microsoft Décideurs IT
 
Lync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiquesLync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiquesMicrosoft Décideurs IT
 
Lync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiquesLync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiquesMicrosoft Technet France
 
Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?Microsoft
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" OCTO Technology
 
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015Microsoft
 

Similaire à Architectures lambda - Techdays camps 2015 (20)

Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"
 
Jss 2015 Stream Analytics
Jss 2015   Stream AnalyticsJss 2015   Stream Analytics
Jss 2015 Stream Analytics
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft Stream analytics
 
Petit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projetsPetit déjeuner Octo - L'infra au service de ses projets
Petit déjeuner Octo - L'infra au service de ses projets
 
Petit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projetsPetit-déjeuner OCTO - L'Infra au service de ses projets
Petit-déjeuner OCTO - L'Infra au service de ses projets
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
LAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possibleLAWS - Crée un site dynamique en serverless c'est possible
LAWS - Crée un site dynamique en serverless c'est possible
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 
Azure Stream analytics / Event Hub
Azure Stream analytics / Event HubAzure Stream analytics / Event Hub
Azure Stream analytics / Event Hub
 
Big Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… AzureBig Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… Azure
 
Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0
Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0
Bluemix Paris Meetup - Session #9 - 10 juin 2015 - Internet des Objets 3.0
 
Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?
 
Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?Fin de support et migration des infrastructures, quels choix pour les PME ?
Fin de support et migration des infrastructures, quels choix pour les PME ?
 
Lync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiquesLync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiques
 
Lync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiquesLync Online et hybride : motivations et bonnes pratiques
Lync Online et hybride : motivations et bonnes pratiques
 
Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?Quels services Azure pour mon application Web ?
Quels services Azure pour mon application Web ?
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses"
 
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
 

Architectures lambda - Techdays camps 2015

Notes de l'éditeur

  1. Performance du stockage APPEND-only est très performant, ex. Hadoop/HDFS Pensez-y, au cœur d’une base SQL, il y a un append-log, qui est le maître en cas de crash… Robustesse aux erreurs humaines Un bug ne viendra jamais détruire de la donnée, seulement ajouter des enregistrements erronés (ou doublonnés, ou…) Facile à corriger : Soit on vient supprimer les lignes erronées, Soit on ajoute des lignes correctrices
  2. La clé plus de différence entre les deux est balance. Un service de messagerie peut ramasser une sélection de forfaits et s'assurer qu'ils sont livrés. Mais si vous devez déplacer des centaines de milliers de paquets, vous pouvez le faire avec beaucoup de courriers, ou vous pourriez construire un centre de distribution capable de gérer ce genre de volume plus rapidement. Événement Hub est ce centre de distribution. Mais il est été construit comme un service géré, donc vous n'avez pas à construire votre propre installation coûteuse. Vous pouvez exploiter juste celui que nous avons créé pour vous
  3. Here we have a simple sample implementation of the ProcessEventsAsync method. We have a try/catch block to handle errors, but within it a processing loop for the events. Inside this loop, we look at the event properties to help determine what type of event it is so we can deserialize the event and operate on it. I’m just writing it to the console, but in the real world, we may use this to notify an Orleans grain or save the data so that we can process it via an HDInsight cluster. For more about both of these options, be certain to check out the two sister sessions to this one tomorrow. Lastly, note this block of code(1) where ever minute, we do a checkpoint operation. This tells the event hub that we’ve processed everything up to this point. Hence saving where we’re at in the event stream. This allows us to start and stop the processor and pick up near where we left off. This also really highlights the difference between event hubs and topics/queues. With topics/queues, the focus is more on ACID type operations again specific messages… put/get/delete… but in Event Hub, we have this buffered stream of events and we need to keep track of where we are in it. We can easily rewind to reprocess messages. So we need to account for this “at least once” possibility.