SlideShare a Scribd company logo
1 of 54
Download to read offline
Elasticsearch sur Azure

Make sense of your (BIG) data !

David Pilato / Thomas Conté!
Développeurs - Evangélistes
Elasticsearch / Microsoft
@dadoonet / @tomconte

StartUp
Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr

!
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
!
Merci de nous aider à améliorer les Techdays !

#mstechdays #elasticsearch

StartUp
WINDOWS AZURE
Rappels

#mstechdays #elasticsearch

StartUp
Windows Azure Plateforme Ouverte
Back-ends Android, iOS & Node.js via
Azure Mobile Services

Devices

Languages

SDKs pour Java, Python, PHP, Ruby, Node.js
WebSites pour PHP, Node.js,
Python & App Gallery

Apps

MySQL via ClearDB, MongoDB via MongoLab,
Hadoop via HDInsight

Operating
Systems

Linux VMs via Image Gallery & VMDepot
#mstechdays #elasticsearch

Data

StartUp
Windows Azure : rappels

Identity

Cloud
Services

Table
Storage

Blob
Storage

3rd Party

Services

Big Data

Integration

“Plateforme
Ouverte”

Virtual
Machines

Web Sites

Caching

Service
Bus

#mstechdays #elasticsearch

SQL 

Azure

Analytics

Mobile
Services

Media
Services
StartUp

CDN
ELASTICSEARCH
Overview

#mstechdays #elasticsearch

StartUp
search = like % ?

#mstechdays #elasticsearch

StartUp
search = like % ?
SELECT 	

doc.*, pays.* 	

FROM 	

doc, pays	

WHERE 	

doc.pays_code = pays.code AND	

doc.date_doc > to_date('2011-12', 'yyyy-mm') AND 	

doc.date_doc < to_date('2012-01', 'yyyy-mm') AND 	

lower(pays.libelle) = 'france' AND 	

lower(doc.commentaire) LIKE ‘%produit%' AND
lower(doc.commentaire) LIKE ‘%david%';
#mstechdays #elasticsearch

StartUp
Moteur de recherche ?

#mstechdays #elasticsearch

StartUp
Moteur de recherche ?

#mstechdays #elasticsearch

StartUp
elasticsearch ?
#mstechdays #elasticsearch

StartUp
elasticsearch ?
Lucene
#mstechdays #elasticsearch

StartUp
elasticsearch ?
REST/JSON
#mstechdays #elasticsearch

Lucene
StartUp
scalable

elasticsearch ?
REST/JSON
#mstechdays #elasticsearch

Lucene
StartUp
plug & play

scalable

elasticsearch ?
REST/JSON
#mstechdays #elasticsearch

Lucene
StartUp
plug & play

scalable

elasticsearch
Apache 2 license
REST/JSON
#mstechdays #elasticsearch

Lucene
StartUp
Start…

$ wget https://download.elasticsearch.org/elasticsearch/
elasticsearch/elasticsearch-1.0.0.tar.gz!
$ tar -xf elasticsearch-1.0.0.tar.gz!
$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Ghost Maker] {1.0.0}[5645]: initializing

#mstechdays #elasticsearch

StartUp
… and play!
$ curl -XPUT localhost:9200/sessions/session/1 -d '{!
"title"
: "Elasticsearch sur Azure",!
"subtitle" : "Make sense of your (BIG) data !",!
"date"
: "2014-02-13T16:30:00",!
"tags"
: [ "elasticsearch", "azure", "cloud" ],!
"speaker"
: [ {!
"first_name" : "Thomas", !
"last_name" : "Conté" !
}, {!
"first_name" : "David", !
"last_name" : "Pilato" !
}]!
}'
#mstechdays #elasticsearch

StartUp
Search!
$ curl -XPOST http://localhost:9200/sessions/session/_search -d'
{
"query": {
"multi_match": {
"query": "elasticsearch azure thomas",
"fields": [ "title^2", "speaker.first_name" ]
}
},
"post_filter": {
"range": {
"date": {
"from": "2014-02-13",
"to": "2014-02-14"
}
}
}
}'
#mstechdays #elasticsearch

StartUp
Compute?

#mstechdays #elasticsearch

StartUp
Compute!
$ curl -XPOST http://localhost:9200/sessions/session/_search -d'
{
"query": { ... },
"aggs": {
"by_date": {
"date_histogram": {
"field": "date",
"interval": "day",
"format" : "dd/MM/yyyy"
}
}
}
}'

#mstechdays #elasticsearch

StartUp
Compute!
$ curl -XPOST http://localhost:9200/sessions/session/_search -d'
{
"query": { ... },
"aggs": {
"by_date": {
"date_histogram": {
"field": "date",
"interval": "day",
"format" : "dd/MM/yyyy"
}
}
"by_date": [
}
{ "key_as_string": "11/02/2014", "doc_count": 1 },
}'
{ "key_as_string": "12/02/2014", "doc_count": 2 },
{ "key_as_string": "13/02/2014", "doc_count": 3 }
]
#mstechdays #elasticsearch

StartUp
Compute!
$ curl -XPOST http://localhost:9200/sessions/session/_search -d'
{
"query": { ... },
"aggs": {
"by_date": {
"date_histogram": {
"field": "date",
"interval": "day",
"format" : "dd/MM/yyyy"
}
}
"by_date": [
}
{ "key_as_string": "11/02/2014", "doc_count": 1 },
}'
{ "key_as_string": "12/02/2014", "doc_count": 2 },
{ "key_as_string": "13/02/2014", "doc_count": 3 }
]
#mstechdays #elasticsearch

StartUp
démo
MAKE SENSE OF YOUR (BIG) DATA!
let’s inject some marketing documents…

#mstechdays #elasticsearch

StartUp
ELASTICSEARCH
Elastique ? Distribué ?

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1
$ curl -XPUT localhost:9200/orders -d '{!
"settings.index.number_of_shards" : 4,!
"settings.index.number_of_replicas" : 1!
}'

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1
orders

$ curl -XPUT localhost:9200/orders -d '{!
"settings.index.number_of_shards" : 4,!
"settings.index.number_of_replicas" : 1!
}'

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1
orders
1

2

3

4

#mstechdays #elasticsearch

$ curl -XPUT localhost:9200/orders -d '{!
"settings.index.number_of_shards" : 4,!
"settings.index.number_of_replicas" : 1!
}'

StartUp
Distributed indices
node 1
orders
1

2

3

4

$ curl -XPUT localhost:9200/orders -d '{!
"settings.index.number_of_shards" : 4,!
"settings.index.number_of_replicas" : 1!
}'

$ curl -XPUT localhost:9200/products -d '{!
"settings.index.number_of_shards" : 2,!
"settings.index.number_of_replicas" : 0!
}'

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1
orders
1

2

3

4

products
1

2

#mstechdays #elasticsearch

$ curl -XPUT localhost:9200/orders -d '{!
"settings.index.number_of_shards" : 4,!
"settings.index.number_of_replicas" : 1!
}'

$ curl -XPUT localhost:9200/products -d '{!
"settings.index.number_of_shards" : 2,!
"settings.index.number_of_replicas" : 0!
}'

StartUp
Start new nodes
$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Armageddon] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]

#mstechdays #elasticsearch

StartUp
Start new nodes
$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Armageddon] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]

$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Cyclops] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Cyclops] detected_master [Ghost Maker]

#mstechdays #elasticsearch

StartUp
Start new nodes
$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Armageddon] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]

$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Cyclops] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Cyclops] detected_master [Ghost Maker]

$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Karnak] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Karnak] detected_master [Ghost Maker]

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1
orders
1

2

3

4

products
1

2

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1
orders
1

2

3

4

products
1

2

#mstechdays #elasticsearch

$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Armageddon] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]
StartUp
Distributed indices
node 1

node 2

orders
1

2

3

4

products
1

2

#mstechdays #elasticsearch

$ ./elasticsearch-1.0.0/bin/elasticsearch!
[INFO ][node
][Armageddon] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]
StartUp
Distributed indices
node 1

node 2

orders

orders

1

2

3

4

products
1

products
2

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1

node 2

orders

orders

1

2

1

2

3

4

3

4

products
1

products
2

#mstechdays #elasticsearch

StartUp
Distributed indices
node 1

node 2

orders

orders

1

2

1

2

3

4

3

4

products
1

#mstechdays #elasticsearch

products
2

StartUp
Distributed indices
node 1

node 2

orders

orders

1

2

1

2

3

4

3

4

products
1

#mstechdays #elasticsearch

products
$ ./elasticsearch-1.0.0/bin/elasticsearch!
2
[INFO ][node
][Karnak] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Karnak] detected_master [Ghost Maker]
StartUp
Distributed indices
node 1

node 2

orders

node 3

orders

1

2

1

2

3

4

3

4

products
1

#mstechdays #elasticsearch

products
$ ./elasticsearch-1.0.0/bin/elasticsearch!
2
[INFO ][node
][Karnak] {1.0.0}[5645]: initializing

[INFO ][cluster.service][Karnak] detected_master [Ghost Maker]
StartUp
Distributed indices
node 1

node 2

orders

node 3

orders

orders

1

2

1

2

3

4

3

4

products
1

#mstechdays #elasticsearch

products

products
2

StartUp
Distributed indices
node 1

node 2

orders
1

node 3

orders
2

4

products
1

#mstechdays #elasticsearch

orders
2

1

3

3

products

products
2

StartUp

4
ELASTICSEARCH
SUR AZURE
Discovery ?

#mstechdays #elasticsearch

StartUp
Deploying on Azure (unicast)
Cloud service: your-es.cloudapp.net
VM 	

node 1	

private IP1

VM 	

node 2	

private IP2

discovery.zen.ping.multicast.enabled: false!
discovery.zen.ping.unicast.hosts: ["ip1", "ip2"]

#mstechdays #elasticsearch

StartUp
Deploying on Azure (unicast)
Cloud service: your-es.cloudapp.net
VM 	

node 1	

private IP1

VM 	

node 2	

private IP2

VM 	

node 3	

private IP3

discovery.zen.ping.multicast.enabled: false!
discovery.zen.ping.unicast.hosts: ["ip1", "ip2", "ip3"]

#mstechdays #elasticsearch

StartUp
Deploying on Azure (cloud plugin)
Cloud service: your-es.cloudapp.net
VM 	

node 1	

private IP1

VM 	

node 2	

private IP2

Azure 	

REST	

API

#mstechdays #elasticsearch

StartUp

VM 	

node 3	

private IP3
Deploying on Azure (cloud plugin)
Cloud service: your-es.cloudapp.net
VM 	

node 1	

private IP1

Azure 	

REST	

API

VM 	

node 2	

private IP2

cloud:!
azure:!
keystore: /path/to/keystore!
password: your_password_for_keystore!
subscription_id: your_azure_subscription_id!
service_name: your-es!
discovery:!
type: azure

#mstechdays #elasticsearch

StartUp

VM 	

node 3	

private IP3
https://github.com/elasticsearch/elasticsearch-cloud-azure

#mstechdays #elasticsearch

StartUp
démo
ELASTICSEARCH ON AZURE
Scale out!

#mstechdays #elasticsearch

StartUp
Digital is
business

QUESTIONS ?
@dadoonet / @tomconte
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment
on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Digital is
business

QUESTIONS ?
@dadoonet / @tomconte
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment
on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
Taro Matsuzawa
 
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux FestApache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest
Myles Braithwaite
 
Puppet Camp Amsterdam 2015: Manifests of Future Past
Puppet Camp Amsterdam 2015: Manifests of Future PastPuppet Camp Amsterdam 2015: Manifests of Future Past
Puppet Camp Amsterdam 2015: Manifests of Future Past
Puppet
 

What's hot (20)

Praktik Pengembangan Konten E-Learning HTML5 Sederhana
Praktik Pengembangan Konten E-Learning HTML5 SederhanaPraktik Pengembangan Konten E-Learning HTML5 Sederhana
Praktik Pengembangan Konten E-Learning HTML5 Sederhana
 
Couchdb w Ruby'm
Couchdb w Ruby'mCouchdb w Ruby'm
Couchdb w Ruby'm
 
Back to basics Italian webinar 2 Mia prima applicazione MongoDB
Back to basics Italian webinar 2  Mia prima applicazione MongoDBBack to basics Italian webinar 2  Mia prima applicazione MongoDB
Back to basics Italian webinar 2 Mia prima applicazione MongoDB
 
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
 
Redis for the Everyday Developer
Redis for the Everyday DeveloperRedis for the Everyday Developer
Redis for the Everyday Developer
 
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux FestApache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest
 
Using python and docker for data science
Using python and docker for data scienceUsing python and docker for data science
Using python and docker for data science
 
Using docker for data science - part 2
Using docker for data science - part 2Using docker for data science - part 2
Using docker for data science - part 2
 
AWS 9월 웨비나 | AWS Lambda@Edge를 통한 엣지 컴퓨팅 서비스
AWS 9월 웨비나 | AWS Lambda@Edge를 통한 엣지 컴퓨팅 서비스 AWS 9월 웨비나 | AWS Lambda@Edge를 통한 엣지 컴퓨팅 서비스
AWS 9월 웨비나 | AWS Lambda@Edge를 통한 엣지 컴퓨팅 서비스
 
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
 
Redis and its many use cases
Redis and its many use casesRedis and its many use cases
Redis and its many use cases
 
The (unknown) collections module
The (unknown) collections moduleThe (unknown) collections module
The (unknown) collections module
 
MongoDB 3.2 - Analytics
MongoDB 3.2  - AnalyticsMongoDB 3.2  - Analytics
MongoDB 3.2 - Analytics
 
Top Node.js Metrics to Watch
Top Node.js Metrics to WatchTop Node.js Metrics to Watch
Top Node.js Metrics to Watch
 
Twas the night before Malware...
Twas the night before Malware...Twas the night before Malware...
Twas the night before Malware...
 
20110514 mongo dbチューニング
20110514 mongo dbチューニング20110514 mongo dbチューニング
20110514 mongo dbチューニング
 
Elastic search 검색
Elastic search 검색Elastic search 검색
Elastic search 검색
 
Inside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source DatabaseInside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source Database
 
Parallel Computing With Dask - PyDays 2017
Parallel Computing With Dask - PyDays 2017Parallel Computing With Dask - PyDays 2017
Parallel Computing With Dask - PyDays 2017
 
Puppet Camp Amsterdam 2015: Manifests of Future Past
Puppet Camp Amsterdam 2015: Manifests of Future PastPuppet Camp Amsterdam 2015: Manifests of Future Past
Puppet Camp Amsterdam 2015: Manifests of Future Past
 

Viewers also liked

Viewers also liked (6)

MongoDB et Elasticsearch, meilleurs ennemis ?
MongoDB et Elasticsearch, meilleurs ennemis ?MongoDB et Elasticsearch, meilleurs ennemis ?
MongoDB et Elasticsearch, meilleurs ennemis ?
 
Jesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture OverviewJesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture Overview
 
Sphinx - High performance full-text search for MySQL
Sphinx - High performance full-text search for MySQLSphinx - High performance full-text search for MySQL
Sphinx - High performance full-text search for MySQL
 
Elasticsearch as a search alternative to a relational database
Elasticsearch as a search alternative to a relational databaseElasticsearch as a search alternative to a relational database
Elasticsearch as a search alternative to a relational database
 
Intro to Elasticsearch
Intro to ElasticsearchIntro to Elasticsearch
Intro to Elasticsearch
 
AWS October Webinar Series - Introducing Amazon Elasticsearch Service
AWS October Webinar Series - Introducing Amazon Elasticsearch ServiceAWS October Webinar Series - Introducing Amazon Elasticsearch Service
AWS October Webinar Series - Introducing Amazon Elasticsearch Service
 

Similar to Elasticsearch sur Azure : Make sense of your (BIG) data !

Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @Moldcamp
Alexei Gorobets
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
Wesley Beary
 
Terrastore - A document database for developers
Terrastore - A document database for developersTerrastore - A document database for developers
Terrastore - A document database for developers
Sergio Bossa
 

Similar to Elasticsearch sur Azure : Make sense of your (BIG) data ! (20)

Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.
 
Elasticsearch in 15 Minutes
Elasticsearch in 15 MinutesElasticsearch in 15 Minutes
Elasticsearch in 15 Minutes
 
Back to Basics Webinar 2 - Your First MongoDB Application
Back to  Basics Webinar 2 - Your First MongoDB ApplicationBack to  Basics Webinar 2 - Your First MongoDB Application
Back to Basics Webinar 2 - Your First MongoDB Application
 
Back to Basics Webinar 2: Your First MongoDB Application
Back to Basics Webinar 2: Your First MongoDB ApplicationBack to Basics Webinar 2: Your First MongoDB Application
Back to Basics Webinar 2: Your First MongoDB Application
 
beyond tellerrand: Mobile Apps with JavaScript – There's More Than Web
beyond tellerrand: Mobile Apps with JavaScript – There's More Than Webbeyond tellerrand: Mobile Apps with JavaScript – There's More Than Web
beyond tellerrand: Mobile Apps with JavaScript – There's More Than Web
 
Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @Moldcamp
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
 
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
 
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
 Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data... Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
 
Infrastructure-as-code: bridging the gap between Devs and Ops
Infrastructure-as-code: bridging the gap between Devs and OpsInfrastructure-as-code: bridging the gap between Devs and Ops
Infrastructure-as-code: bridging the gap between Devs and Ops
 
Event-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineEvent-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 Engine
 
Terrastore - A document database for developers
Terrastore - A document database for developersTerrastore - A document database for developers
Terrastore - A document database for developers
 
REST with Eve and Python
REST with Eve and PythonREST with Eve and Python
REST with Eve and Python
 
He stopped using for/while loops, you won't believe what happened next!
He stopped using for/while loops, you won't believe what happened next!He stopped using for/while loops, you won't believe what happened next!
He stopped using for/while loops, you won't believe what happened next!
 
MongoDB Evenings Houston: What's the Scoop on MongoDB and Hadoop? by Jake Ang...
MongoDB Evenings Houston: What's the Scoop on MongoDB and Hadoop? by Jake Ang...MongoDB Evenings Houston: What's the Scoop on MongoDB and Hadoop? by Jake Ang...
MongoDB Evenings Houston: What's the Scoop on MongoDB and Hadoop? by Jake Ang...
 
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
A Rusty introduction to Apache Arrow and how it applies to a  time series dat...A Rusty introduction to Apache Arrow and how it applies to a  time series dat...
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
 
RediSearch Mumbai Meetup 2020
RediSearch Mumbai Meetup 2020RediSearch Mumbai Meetup 2020
RediSearch Mumbai Meetup 2020
 
How We Learned To Love The Data Center Operating System
How We Learned To Love The Data Center Operating SystemHow We Learned To Love The Data Center Operating System
How We Learned To Love The Data Center Operating System
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
 

More from Microsoft

More from Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Elasticsearch sur Azure : Make sense of your (BIG) data !

  • 1.
  • 2. Elasticsearch sur Azure
 Make sense of your (BIG) data ! David Pilato / Thomas Conté! Développeurs - Evangélistes Elasticsearch / Microsoft @dadoonet / @tomconte StartUp
  • 3. Donnez votre avis ! Depuis votre smartphone sur : http://notes.mstechdays.fr ! De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… ! Merci de nous aider à améliorer les Techdays ! #mstechdays #elasticsearch StartUp
  • 5. Windows Azure Plateforme Ouverte Back-ends Android, iOS & Node.js via Azure Mobile Services Devices Languages SDKs pour Java, Python, PHP, Ruby, Node.js WebSites pour PHP, Node.js, Python & App Gallery Apps MySQL via ClearDB, MongoDB via MongoLab, Hadoop via HDInsight Operating Systems Linux VMs via Image Gallery & VMDepot #mstechdays #elasticsearch Data StartUp
  • 6. Windows Azure : rappels Identity Cloud Services Table Storage Blob Storage 3rd Party
 Services Big Data Integration “Plateforme Ouverte” Virtual Machines Web Sites Caching Service Bus #mstechdays #elasticsearch SQL 
 Azure Analytics Mobile Services Media Services StartUp CDN
  • 8. search = like % ? #mstechdays #elasticsearch StartUp
  • 9. search = like % ? SELECT doc.*, pays.* FROM doc, pays WHERE doc.pays_code = pays.code AND doc.date_doc > to_date('2011-12', 'yyyy-mm') AND doc.date_doc < to_date('2012-01', 'yyyy-mm') AND lower(pays.libelle) = 'france' AND lower(doc.commentaire) LIKE ‘%produit%' AND lower(doc.commentaire) LIKE ‘%david%'; #mstechdays #elasticsearch StartUp
  • 10. Moteur de recherche ? #mstechdays #elasticsearch StartUp
  • 11. Moteur de recherche ? #mstechdays #elasticsearch StartUp
  • 16. plug & play scalable elasticsearch ? REST/JSON #mstechdays #elasticsearch Lucene StartUp
  • 17. plug & play scalable elasticsearch Apache 2 license REST/JSON #mstechdays #elasticsearch Lucene StartUp
  • 18. Start… $ wget https://download.elasticsearch.org/elasticsearch/ elasticsearch/elasticsearch-1.0.0.tar.gz! $ tar -xf elasticsearch-1.0.0.tar.gz! $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Ghost Maker] {1.0.0}[5645]: initializing #mstechdays #elasticsearch StartUp
  • 19. … and play! $ curl -XPUT localhost:9200/sessions/session/1 -d '{! "title" : "Elasticsearch sur Azure",! "subtitle" : "Make sense of your (BIG) data !",! "date" : "2014-02-13T16:30:00",! "tags" : [ "elasticsearch", "azure", "cloud" ],! "speaker" : [ {! "first_name" : "Thomas", ! "last_name" : "Conté" ! }, {! "first_name" : "David", ! "last_name" : "Pilato" ! }]! }' #mstechdays #elasticsearch StartUp
  • 20. Search! $ curl -XPOST http://localhost:9200/sessions/session/_search -d' { "query": { "multi_match": { "query": "elasticsearch azure thomas", "fields": [ "title^2", "speaker.first_name" ] } }, "post_filter": { "range": { "date": { "from": "2014-02-13", "to": "2014-02-14" } } } }' #mstechdays #elasticsearch StartUp
  • 22. Compute! $ curl -XPOST http://localhost:9200/sessions/session/_search -d' { "query": { ... }, "aggs": { "by_date": { "date_histogram": { "field": "date", "interval": "day", "format" : "dd/MM/yyyy" } } } }' #mstechdays #elasticsearch StartUp
  • 23. Compute! $ curl -XPOST http://localhost:9200/sessions/session/_search -d' { "query": { ... }, "aggs": { "by_date": { "date_histogram": { "field": "date", "interval": "day", "format" : "dd/MM/yyyy" } } "by_date": [ } { "key_as_string": "11/02/2014", "doc_count": 1 }, }' { "key_as_string": "12/02/2014", "doc_count": 2 }, { "key_as_string": "13/02/2014", "doc_count": 3 } ] #mstechdays #elasticsearch StartUp
  • 24. Compute! $ curl -XPOST http://localhost:9200/sessions/session/_search -d' { "query": { ... }, "aggs": { "by_date": { "date_histogram": { "field": "date", "interval": "day", "format" : "dd/MM/yyyy" } } "by_date": [ } { "key_as_string": "11/02/2014", "doc_count": 1 }, }' { "key_as_string": "12/02/2014", "doc_count": 2 }, { "key_as_string": "13/02/2014", "doc_count": 3 } ] #mstechdays #elasticsearch StartUp
  • 25. démo MAKE SENSE OF YOUR (BIG) DATA! let’s inject some marketing documents… #mstechdays #elasticsearch StartUp
  • 26. ELASTICSEARCH Elastique ? Distribué ? #mstechdays #elasticsearch StartUp
  • 27. Distributed indices node 1 #mstechdays #elasticsearch StartUp
  • 28. Distributed indices node 1 $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }' #mstechdays #elasticsearch StartUp
  • 29. Distributed indices node 1 orders $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }' #mstechdays #elasticsearch StartUp
  • 30. Distributed indices node 1 orders 1 2 3 4 #mstechdays #elasticsearch $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }' StartUp
  • 31. Distributed indices node 1 orders 1 2 3 4 $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }' $ curl -XPUT localhost:9200/products -d '{! "settings.index.number_of_shards" : 2,! "settings.index.number_of_replicas" : 0! }' #mstechdays #elasticsearch StartUp
  • 32. Distributed indices node 1 orders 1 2 3 4 products 1 2 #mstechdays #elasticsearch $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }' $ curl -XPUT localhost:9200/products -d '{! "settings.index.number_of_shards" : 2,! "settings.index.number_of_replicas" : 0! }' StartUp
  • 33. Start new nodes $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker] #mstechdays #elasticsearch StartUp
  • 34. Start new nodes $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker] $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Cyclops] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Cyclops] detected_master [Ghost Maker] #mstechdays #elasticsearch StartUp
  • 35. Start new nodes $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker] $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Cyclops] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Cyclops] detected_master [Ghost Maker] $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Karnak] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Karnak] detected_master [Ghost Maker] #mstechdays #elasticsearch StartUp
  • 37. Distributed indices node 1 orders 1 2 3 4 products 1 2 #mstechdays #elasticsearch $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker] StartUp
  • 38. Distributed indices node 1 node 2 orders 1 2 3 4 products 1 2 #mstechdays #elasticsearch $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker] StartUp
  • 39. Distributed indices node 1 node 2 orders orders 1 2 3 4 products 1 products 2 #mstechdays #elasticsearch StartUp
  • 40. Distributed indices node 1 node 2 orders orders 1 2 1 2 3 4 3 4 products 1 products 2 #mstechdays #elasticsearch StartUp
  • 41. Distributed indices node 1 node 2 orders orders 1 2 1 2 3 4 3 4 products 1 #mstechdays #elasticsearch products 2 StartUp
  • 42. Distributed indices node 1 node 2 orders orders 1 2 1 2 3 4 3 4 products 1 #mstechdays #elasticsearch products $ ./elasticsearch-1.0.0/bin/elasticsearch! 2 [INFO ][node ][Karnak] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Karnak] detected_master [Ghost Maker] StartUp
  • 43. Distributed indices node 1 node 2 orders node 3 orders 1 2 1 2 3 4 3 4 products 1 #mstechdays #elasticsearch products $ ./elasticsearch-1.0.0/bin/elasticsearch! 2 [INFO ][node ][Karnak] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Karnak] detected_master [Ghost Maker] StartUp
  • 44. Distributed indices node 1 node 2 orders node 3 orders orders 1 2 1 2 3 4 3 4 products 1 #mstechdays #elasticsearch products products 2 StartUp
  • 45. Distributed indices node 1 node 2 orders 1 node 3 orders 2 4 products 1 #mstechdays #elasticsearch orders 2 1 3 3 products products 2 StartUp 4
  • 47. Deploying on Azure (unicast) Cloud service: your-es.cloudapp.net VM node 1 private IP1 VM node 2 private IP2 discovery.zen.ping.multicast.enabled: false! discovery.zen.ping.unicast.hosts: ["ip1", "ip2"] #mstechdays #elasticsearch StartUp
  • 48. Deploying on Azure (unicast) Cloud service: your-es.cloudapp.net VM node 1 private IP1 VM node 2 private IP2 VM node 3 private IP3 discovery.zen.ping.multicast.enabled: false! discovery.zen.ping.unicast.hosts: ["ip1", "ip2", "ip3"] #mstechdays #elasticsearch StartUp
  • 49. Deploying on Azure (cloud plugin) Cloud service: your-es.cloudapp.net VM node 1 private IP1 VM node 2 private IP2 Azure REST API #mstechdays #elasticsearch StartUp VM node 3 private IP3
  • 50. Deploying on Azure (cloud plugin) Cloud service: your-es.cloudapp.net VM node 1 private IP1 Azure REST API VM node 2 private IP2 cloud:! azure:! keystore: /path/to/keystore! password: your_password_for_keystore! subscription_id: your_azure_subscription_id! service_name: your-es! discovery:! type: azure #mstechdays #elasticsearch StartUp VM node 3 private IP3
  • 52. démo ELASTICSEARCH ON AZURE Scale out! #mstechdays #elasticsearch StartUp
  • 53. Digital is business QUESTIONS ? @dadoonet / @tomconte © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 54. Digital is business QUESTIONS ? @dadoonet / @tomconte © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.