5. Azure Service Bus
Relay
Queue
Topic
Notification Hub
Event Hub
Service de traverse NAT / Firewall
Services Request/Response
Unbuffered ; TCP Throttling
Broker AMQP/HTTP Transactionnel
High-Scale, High-Reliability Messaging
Sessions, Scheduled Delivery, etc.
Distribution Transactionnelle de Messages
Up to 2000 souscriptions per Topic
Up to 2K/100K filter rules per subscription
High-scale notification distribution
Most mobile push notification services
Millions of notification targets
Concentrateur
d’évènements
6. Vue d’ensemble Azure Event Hubs
Producteurs
d’évènements
> 1M Producers
> 1GB/sec
Aggregate
Throughput
Direct
PartitionKey
Hash
Throughput Units:
• 1 ≤ TUs ≤ Partition Count
• TU: 1 MB/s writes, 2 MB/s reads
AMQP 1.0
Credit-based flow control
Client-side cursors
Offset by Id or Timestamp
7. Publishers (Producteurs)
• Nombre élevé d’émetteurs
• Intermittent, faible débit: HTTPS
• Permanent, haut débit: AMQP
• Les connections permanentes AMQP sont
payantes, pas les requêtes HTTPS; le prix inclut un
quota de connections AMQP
• On publie vers…
• PartitionId
• Direct
• PartitionKey
• PartitionKey qui implique un PartitionId
• Publisher Policy (<eh>/publishers/<name>)
• <name> remplace PartitionKey
Event
Producers
Direct
PartitionKey
Hash
8. Consumer Groups
• Une vue sur le flux d’évènements
• Conceptuellement proche d’un
abonnement (Topics) dans le sens où ils
offrent une « vue » du flux d’évènements
• Point de référence pour les checkpoints
(votre responsabilité)
• Point de référence pour créer des
récepteurs par partition
• Toujours un Consumer Group par défaut
• Jusqu’à 20 Consumer Groups
“Les récepteurs lisent via un Consumer Group”
9. • Lisent les partitions via le CG
• En utilisant l’API .NET ou des librairies AMQP 1.0 (e.g. Apache
Proton-C/J)
• Curseurs (offsets) gérés par les clients (!=
Queue/Topic)
• Maximum de flexibilité dans la réception
• Peut être utilisé comme un historique d’évènements pour la durée
de rétentions
• Non utilisable comme archive: la valeur des données brutes se
détériore souvent rapidement
• Synchronisation entre flux: par timestamp
• Les checkpoints sont de la responsabilité des clients
• Support intégré d’un modèle d’élection
via epochs pour les lecteurs
Consumers
Time
ID
15. SignalR, d3js, Excel
• SignalR
• Hub de communication bi-directionnel client/serveur Web
• cf http://www.asp.net/signalr
• d3js
• “D3.js is a JavaScript library for manipulating documents
based on data. D3 helps you bring data to life using HTML,
SVG and CSS”
• http://d3js.org/
• Excel
• How to: Create your first content app for Excel with "Napa"
Office 365 Development Tools
18. Ingère des millions d’évènements
par secondes
• Ingère et traite des données envoyées par des
applications/objets connectés
• Solution avec montée en charge intégrée
Traitement des données en
continue
• Transformer, enrichir, opérations temporelles
• Détection des patterns et des anomalies
Corrélation du flux de données
avec des données de référence
19. Pas d’acquisition de matériel
Pas de maintenance
Pas d’expertise de déploiement
Installation et paramétrages via le portail Azure
Pas de logiciel à installer et à maintenir
Mise à l’échelle en fonction des
besoins
21. Fiabilité des traitements
Garantie d’aucune perte des évènements ou de
sorties incorrectes
Préserve l’ordre des évènements par “device”
d’entrées
Garantie de continuité de
service
Garantie de disponibilité : 99,9%
Reprise automatique en cas d’erreur
22. Bénéficie de l’élasticité du Cloud
Mise à l’échelle en fonction des besoins
Gestion via le portail Azure
Architecture distribuée
Solution économique
Coût calculé en fonction de l’usage
Possibilité d’ajuster en fonction des besoins
Provisionnez er démarrez une solution Stream
Analytics pour 25$/Mois
24. Création d’une solution de
traitement en temps réel
grâce à un langage proche
du T-SQL
Filtrer, agréger, joindre des flux de données avec
quelques lignes de T-SQL
Fonctions temporelles nativement intégrées
Développer et maintenir
une solution Stream
Analytics via le portail
Azure
RDapéivde Dloepvpeelompemnetn t
rapide
25. Monitoring intégré
Surveiller la performance de votre
solution via le portail Azure.
Accès aux journaux d’évènements
26. Vue d’ensemble de l’architecture
Azure Stream Analytics
• Temporal Semantics
• Guaranteed delivery
• Guaranteed up time
Event Inputs
- Event Hub
- Azure Blob
Transform
- Temporal joins
- Filter
- Aggregates
- Projections
- Windows
- Etc.
Enrich
Correlate
Outputs
- SQL Azure
- Azure Blobs
- Event Hub
BI
Dashboards
Predictive
Analytics
☁
Azure
Storage
Reference Data
- Azure Blob
Data Source Collect Process Deliver Consume
30. Talend Big Data
Studio
Talend Big Data
Select Icons made by Freepik, Situ Herrera, www.flaticon.com
Internet
of
Things
ERP
DBMS /
EDW
Legacy
Systems
Ingestion
NoSQL
Map Profile Parse Match
Cleanse
Standardiz
e
Change
Data
Capture
Machine
Learning
Standard
Reports
Ad-hoc
Query Tools
Data
Mining
MDD/OLA
P
Analytical
Applications
Develop and Test Operations Team
Share Schedule
NoSQL
Web
Logs
Native
Access
Benefits
Increased
Productivity
Lowest TCO
Future Proof
Architecture
32. Microsoft Azure HD Insight (Talend 5.6)
• Microsoft Azure
HDInsight
• New Hadoop Metadata for
HDInsight
• Load and Extract Data to/from
HDInsight
• Natively Run Map/Reduce jobs
within HDInsight (ELT)
• No Talend server to run on the
cluster
http://screencast.com/t/ImQzBPGXgB
34. 34
Data sources
Increasing
data volumes
1
Real-time
data
2
New data
sources & types
3
Non-Relational Data
4
Cloud-born
data
35. ETL Tool
(SSIS, etc)
EDW
(SQL Svr, Teradata, etc)
Extract
Original Data
Load
Transformed
Data
Transform
BI Tools
Data Marts
Data Lake(s)
Dashboards
Apps
36. ETL Tool
(SSIS, etc)
EDW
(SQL Svr, Teradata, etc)
Extract
Original Data
Load
Transformed
Data
Transform
BI Tools
Ingest (EL)
Original Data
Data Marts
Data Lake(s)
Dashboards
Apps
37. ETL Tool
(SSIS, etc)
EDW
(SQL Svr, Teradata, etc)
Extract
Original Data
Load
Transformed
Data
Transform
BI Tools
Ingest (EL)
Original Data
Scale-out
Storage &
Compute
(HDFS, Blob Storage,
etc)
Transform & Load
Data Marts
Data Lake(s)
Dashboards
Apps
Streaming data
38. ETL Tool
(SSIS, etc)
EDW
(SQL Svr, Teradata, etc)
Extract
Original Data
Load
Transformed
Data
Transform
BI Tools
Ingest (EL)
Original Data
Scale-out
Storage &
Compute
(HDFS, Blob Storage,
etc)
Transform & Load
Data Marts
Data Lake(s)
Dashboards
Apps
Streaming data
39. BI Tools
Data Marts
Data Lake(s)
Dashboards
Apps
Data Hub
(Storage & Compute)
Data Hub
(Storage & Compute)
Data Sources
(Import From)
Move data
among Hubs
Data Sources
(Import From)
Ingest
Ingest
Information Production:
Move to data mart, etc
Connect & Collect Transform & Enrich Publish
40.
41. Azure Data Factory
Pipelines
DataSet
Data Store
Power BI Data Catalog
Compute
(Transform & Copy)
Data Store
Compute
(Transform & Copy)
Data Store
On Premises
Hubs
Cloud Hubs SaaS Hubs
(Salesforce.com, etc)
Orchestrat
e
&
Schedule
Manage
&
Monitor
Read
&
Write
Orchestrate
& Schedule
Activity
Manage
& Monitor
Compute
(Transform & Copy)
DataSet
Activity
DataSet
BI | Apps | …
Find/Consume
Publish
Search/Publish
Consume
Orchestrate
& Schedule
Manage
& Monitor
Read&
Write
Ingest Ingest Ingest
Data Sources
(Twitter, Facebook,Sensors, S3, online CRM, etc)
Read
&
Write
Azure Data Factory
Une plateforme pour développer des services de récupérations et/ou
transformations de données, des services de stockage ou de mouvements de
données
Pipeline
Les pipelines sont soit des groupes de mouvements de données, soit de
transformations de données. Les pipelines acceptent N sources de données en
entrées et peuvent produire N jeux de données en sortie. Les pipelines peuvent
être exécutés en une seule fois ou sur des plages de temps (heure, jour,
semaine,…)
Dataset
Un Dataset est une vue nommée des données. Les données peuvent être de
sources très variées : Données binaires, semi-structurées (ex: CSV), des tables,…
Activité (Activity)
Une activité est une unité d’exécution dans laquelle le pipeline peut réaliser des
mouvements ou des transformations de données. Une activité peut
importer/exporter des données depuis de sources disparates utilisée par
l’entreprise vers un data hub
Data Hub
Un data hub est un jumelage d’un stockage de données avec un service de
calcul. Par exemple, un cluster Hadoop (Stockage HDFS, Hive/Pig pour le calcul)
est un data hub. De même, un data warehouse d’entreprise peut être conçu
comme un data hub (Base de données pour le stockage, ETL ou procédures
stockées pour le calcul)
44. Batches et Hadoop (20’)
Thomas Conté - @tomconte
Benjamin Guinebertière - @benjguin
45. Azure Batch
• HPC / Big Compute
• Exemples de scénarios: transcodage de média,
génération ou analyse d’images, build, tests,
dynamique des fluides, simulations Monte
Carlo, simulations (ingénierie)
HPC Pack
On-Premises
• On-premises clusters
• Ability to scale to
reduce runtimes
• Job scheduling and
mgmt via head node
• Reliability
HPC Pack
Hybrid
• Run on-premises, in
cloud, or both
• Reduced infrastructure
- use cloud for peaks
• Flexibility to manage
job run times
HPC Pack
IaaS
• All cloud
• Flexible configuration
• Flexible data
management
• Reduced infrastructure
• Still manually deploy
and manage VM’s
Azure Batch
PaaS
• All cloud
• Easy to use
• No deployment or
management
• Cater for small to very
large customers
• Complete elasticity
with auto-scale
• Improved control over
Pay-for-use
46. Azure Batch - Add Big Compute to a service
Service
Azure Batch
• Foundational batch processing
platform
• Avoid building infrastructure
VM Management & Job Scheduling
PaaS
Cloud Services
IaaS
Virtual Machines
Hardware
Voir session TechEd Europe sur le sujet:
http://channel9.msdn.com/Events/TechEd/Europe/2014/DBI-B216
48. Hadoop et Microsoft
• Microsoft est contributeur Hadoop
• Hortonworks Data Platform (HDP)
• Sur Windows Server et Linux
• Noeuds Hadoop dans Analytics Platform System
• HDInsight (inclut le support y compris sur Hive par
exemple)
• Azure Marketplace
• Cloudera distribution (CDH)
• Azure Marketplace
• MapR, Apache, …
• Sur des VMs Azure
49. Où sont les données
Hadoop ?
Conteneur (wasb://)
VHD Cache
VHD
VHD
VHD
client
VM
OS
Data
VM
VHD Cache
OS
Data
VHD
VHD
VHD
(…)
Réplication HDFS
hdfs://
wasb://
51. Pourquoi HDInsight sur Azure ?
• Simple à déployer (portail, PowerShell, CLI, SDK)
• Simple de suivre les évolutions d’Hadoop
• Support de bout en bout
• On peut appeler pour une question sur Hive par exemple
• Accès aux blobs
• Nouveau:
• Storm, HBase,
• scripts de personnalisation (ex: Spark, R)
54. Pourquoi Hortonworks sur Azure ?
• Déployable simplement avec l’assistant de la marketplace
• Comme HDInsight mais en Linux et sur des VMs
• Possible de modifier la configuration du cluster
• On peut arrêter / redémarrer le cluster et sa configuration
• Vs recréation d’un cluster en HDInsight
• Accès aux blobs
• réversibilité
55. HDP (Marketplace)
Conteneur (wasb://)
VHD Cache
VHD
VHD
VHD
client
VM
OS
Data
VM
VHD Cache
OS
Data
VHD
VHD
VHD
(…)
Réplication HDFS
hdfs://
wasb://
57. Pourquoi Cloudera sur Azure ?
• Pour avoir une configuration identique à ce que vous
avez déjà par ailleurs
• Déployable simplement avec l’assistant de la marketplace
• Possible de modifier la configuration du cluster
• On peut arrêter / redémarrer le cluster et sa configuration
• Vs recréation d’un cluster en HDInsight
• Réversibilité
• Impala
58. CDH (Marketplace)
VHD Cache
VHD
client
VM
OS
Data
VM
VHD Cache
OS
Data
VHD
(…)
Réplication HDFS
hdfs://
62. Pourquoi noSQL ?
• Not only SQL
• Parce que c’est plus simple !
• Ex: stocker un JSON dans Document DB ou MongoDB
• Montée en charge horizontale (scale out)
• Vs relationnel == tout au même endroit
63. Quelques bases noSql
• Document DB: vue en début d’après-midi
• HBase
• Cassandra / DataStax Enterprise
• Et plein d’autres:
• MongoBD, CouchDB, Riak, Redis, Memcached, …
64. Positionnement HBase/Cassandra
• Bases de données noSQL
• Orientées colonnes
Quelques critères HBase Cassandra / DataStax Entreprise
Intégration avec Hadoop Né dans Hadoop Il existe des connecteurs
Support éditeur Hortonworks, Cloudera, MapR
Microsoft (pour HDInsight)
DataStax
Architecture Bases de données en lecture /
écriture sur système de fichiers
« Write Once » (HDFS)
Pensé pour la lecture
Tous les noeuds jouent le même
rôle. Donnée stockée dans chaque
noeud et distribuée
Pensé pour l’écriture
Support du multi datacenter Par réplication de clusters Oui
SQL Oui via Phoenix, Hive, … CQL devient LE mode d’accès à
Cassandra
65. HBase
• Dans HDInsight
• Type de cluster HDInsight: HBase
• Données dans blobs Azure
77. Zanadu…
• CMS de notebooks pour la recherche appliquée
• Plateforme COLLABORATIVE
• Sur Azure (Lauréat du 1er Grant Azure for Research,
avec le lab GREGOR)
84. Machine Learning
• “The goal of machine learning is to build computer systems that can
adapt and learn from their experience.” (Tom Dietterich)
• Another definition: “The goal of machine learning is to program
computers to use example data or past experience to solve a given
problem.” (Introduction to Machine Learning, 2nd Edition, MIT Press)
• ML implique souvent 2 techniques primaires :
• Apprentissage supervisé : trouver une correspondance entre les entrées et les sorties en
utilisant des valeurs correctes pour “entrainer” un modèle. Dans ce type d’apprentissage, les
échantillons de données sont labélisés.
• Apprentissage non supervisé : touver des patterns dans les données d’entrées (similaire aux
estimations de densité en statistiques). Les échantillons de données ne sont pas labelisés.
86
86. Apprentissage non supervisé
Exemple 1 exemple A Exemple 2
exemple B Exemple 3 exemple C
exemple A exemple B exemple C
Exemple 1 Exemple 2 Exemple 3
87. Machine Learning : préparation
gender age smoker eye
color
male 19 yes green
female 44 yes gray
male 49 yes blue
male 12 no brown
female 37 no brown
female 60 no brown
male 44 no blue
female 27 yes brown
female 51 yes green
female 81 yes gray
male 22 yes brown
male 29 no blue
Bike
buyer
no
yes
yes
no
no
yes
no
no
yes
no
no
no
male 77 yes gray
male 19 yes green
female 44 no gray
?
?
?
93
88. Machine Learning : préparation
gender age smoker eye
color
male 19 yes green
female 44 yes gray
male 49 yes blue
male 12 no brown
female 37 no brown
female 60 no brown
male 44 no blue
female 27 yes brown
female 51 yes green
female 81 yes gray
male 22 yes brown
male 29 no blue
bike
buyer
no
yes
yes
no
no
yes
no
no
yes
no
no
no
male 77 yes gray
male 19 yes green
female 44 no gray
?
?
?
Train
ML Model
94
89. Machine Learning : préparation
gender age smoker eye
color
male 19 yes green
female 44 yes gray
male 49 yes blue
male 12 no brown
female 37 no brown
female 60 no brown
male 44 no blue
female 27 yes brown
female 51 yes green
female 81 yes gray
male 22 yes brown
male 29 no blue
bike
buyer
no
yes
yes
no
no
yes
no
no
yes
no
no
no
male 77 yes gray
male 19 yes green
female 44 no gray
yes
no
no
Train
ML Model
95
91. Les freins à l’adoption
• La « Data Science » reste trop complexe
• L’accès aux algorithmes de « machine learning »
est trop cher
• Nécessité de maîtriser de nombreux outils pour
réaliser une solution complète (acquisition des
données, nettoyage, expérimentation,….)
• Capacité à mettre facilement un modèle en
production
92. Microsoft Azure Machine Learning
Réduire la complexité et favoriser la participation
• Accessible depuis un navigateur Web, aucune
installation nécessaire
• Solution collaborative. Création d’espaces de
travail permettant un travail d’équipe depuis
n’importe quel endroit
• Création d’expérimentations visuelles de bout
en bout
• Solution extensible. Support de R OSS
93. Microsoft Azure Machine Learning
Expérimentation simple et rapide à la recherche du meilleur modèle
• Expérimenter un large panel de
fonctionnalités et d’algorithmes
• Déploiement rapide des modèles
• Génération de codes d’utilisation des
modèles.
• Déploiement via l’API d’Azure
94. Une solution de Machine Learning – des données aux résultats
Business users easily access
results:
from anywhere, on any device
ML Studio
and the Data Scientist
• Access and prepare data
• Create, test and train models
• Collaborate
• One click to stage for
production via the API service
HDInsight
Azure Storage
Desktop Data
Mobile Apps
PowerBI/
Web Apps Dashboards
ML API service and the Developer
• Tested models available as an url that can be called from any end point
Azure Portal & ML API service
and the Azure Ops Team
• Create ML Studio workspace
• Assign storage account(s)
• Monitor ML consumption
• See alerts when model is ready
• Deploy models to web service