SlideShare une entreprise Scribd logo
1  sur  69
Retour d'expérience
d'une infrastructure
Cloud et Big Data
à très fort traffic
xxxxx Smart mobile acquisition
Smart mobile acquisition
Dev & Ops
Spring-*, Nodejs
Chef, Puppet, Docker, Graphite, ...
Co-auteur “Spring in Action”
Olivier Bazoud - @obazoud Smart mobile acquisition
xxxxx Smart mobile acquisition
Smart mobile acquisition
Et vous ? Smart mobile acquisition
xxxxx Smart mobile acquisition
Smart mobile acquisition
Smart mobile acquisition
xxxxx Smart mobile acquisition
Smart mobile acquisition
Smart mobile acquisition
Sommaire
Voyage à travers le cloud
Retour d’expérience
Déploiement
APP
SDK
A publisher ADDS the
Ogury’s SDK in his App
The publisher PUBLISHES or
updates his App with the
Ogury’s SDK inside
APP LIVE ON PLAYSTORE
APP
SDK
The user OPEN
the app
to all the users who open an App
with the SDK and who are
targeted in the campaign
1 Ad which is seen
= 1 impression
If the user click on the Ad
= 1 icon installed
If the user clicks again on the icon
APP
OPEN
SDK
1
4
5678
2 3PUBLISHER PART
ADVERTISER PART
APP
ICON
AD
CLICK
AD
SEEN
AD
SENT
DATA is SENT
SEND an AD
Smart mobile acquisition
Smart mobile acquisition
Overview
TARGETING
Methodology
XX%
Wescoreeachuserviathedatawehavecollectedand
crossreferencethiswiththecampaignobjectives
Date Time
www.amazon.com/ 22/05
www.citroen.com
www.redbull.com
www.suv.com
www.carmerchant.com/
22/05
22/05
23/05
24/05
26/05
4min.
4min.
4min.
4min.
www.kia.com
Ogury then pushes the delivery of the
recommendations based on our
‘compatability score’
USED : Sarenza 22/05
USED : Autoscout24 22/05
Date Time
App : Candy crush 22/05
App : Cityapp 22/05
App : Mr porter 22/05
App : Forbes 23/05
App : Surfsession 24/05
App : Quicksilver 26/05
4min.
4min.
5min.
0min.
2min.
1min.
100% 98% 100%
95% 100% 96%
97% 99% 94%
100% 95% 96%
50% 55% 52%
51% 54% 50%
DATA ULTRA
GRANULAIRE
- Applications téléchargées &
usages
- URLs consultées
100% ON
TARGET
- Technologie de ciblage
- Ciblage
comportementale
EXPERIENCE
UTILISATEUR
- Format qui s’adapte
- Template Ogury
FACILITE
IMPLEMENTATION
- Aucun taggage de site
- Pas de SDK à poser
Format statique
Video
Toucher votre audience sans déperdition
Ogury’s global reach
35 M
users
13 M
users
105 M
users
35 M
users
2 M
users
60 M
users
Users by country
Top 4 mobile data collector 4 locations globally 250 million users Top 200 brands
xxxxx Smart mobile acquisition
Voyage à
travers le cloud
Smart mobile acquisition
xxxxx Smart mobile acquisition
Plate-formes
1. Heroku
2. Hybride
3. AWS
xxxxx Smart mobile acquisition
Heroku
Smart mobile acquisition
xxxxx Smart mobile acquisition
Heroku
PAAS + Add-ons
Github / Travis CI
git push + pipeline
Startup
xxxxx Smart mobile acquisition
Heroku
Mobile API
Backoffice
No SQL Database
xxxxx Smart mobile acquisition
Couchbase
NoSQL document-oriented
Performance
Scalability / High availability
Cross Data Center Replication (XDCR)
xxxxx Smart mobile acquisition
Retour d’expérience
No (Dev)Ops
Difficile de scaler le front
Troubleshooting limité
Peu de Monitoring / Alerting
xxxxx Smart mobile acquisition
Hybride
Smart mobile acquisition
xxxxx Smart mobile acquisition
Hybride: Heroku / AWS
Traiter les évenements
Organiser et Analyser la data
Gestion des gros volumes
xxxxx Smart mobile acquisition
Hybride
Mobile API
Backoffice
No SQL Database
Bucket S3
Targeting
xxxxx Smart mobile acquisition
AWS
Cloud IAAS
Scalabilité / Automatisation / Agilité
Infrastructure As Code
Coûts
xxxxx Smart mobile acquisition
Kafka
Broker
Transaction logs
Topics / Partitions
Producers / Consumers
“Data is retained for a configuration period of time”
xxxxx Smart mobile acquisition
EMR / Hadoop
Besoins ponctuels
Targeting
Exploratoire / Troubleshooting
Hive / S3
xxxxx Smart mobile acquisition
Début de l’automatisation
Début de monitoring / alerting
Tuning ELK
Retour d’expérience
Jobs hadoop lents
Heroku cher pour nos besoins
xxxxx Smart mobile acquisition
AWS
Smart mobile acquisition
xxxxx Smart mobile acquisition
“Allez, on passe tout sous AWS!”
Les fondateurs
xxxxx Smart mobile acquisition
Smart mobile acquisition
Smart mobile acquisition
Chiffres
250 Millions d’utilisateurs
1 To data compressé / jour
1 Million request per minute
15 Millions messages per
minute
30 Milliards de documents
dans ES
xxxxx Smart mobile acquisition
Automatisation
Cloud Formation / Chef
Collectd / Sensu / Cloud Watch
Graphite / Grafana
xxxxx Smart mobile acquisition
Cloud Formation
Infrastructure As
Code
JSON, JSON, JSON, ...
Stack, Nested stack
Rollback, Evenements,
Timeout, ...
xxxxx Smart mobile acquisition
Cloud Formation
xxxxx Smart mobile acquisition
Chef
Automate
Cookbooks
Chef Server / Chef Client
Scale
xxxxx Smart mobile acquisition
Chef
xxxxx Smart mobile acquisition
Retour d’expérience
xxxxx Smart mobile acquisition
Kafka
xxxxx Smart mobile acquisition
AWS: To infinity... and beyond
xxxxx Smart mobile acquisition
Limites AWS
Lenteur Cloud Formation (RDS, Cloud Front, IAM)
Bonne intégration Cloud Formation / Chef
Retour d’expérience
Packer AMI: image de base seulement
JSON :(
xxxxx Smart mobile acquisition
Retour d’expérience
xxxxx Smart mobile acquisition
Déploiement
Smart mobile acquisition
xxxxx Smart mobile acquisition
Automatisation
Créer des environnements facilement (10 + 2)
Automatisation maximum
Déploiement automatique
Cloud AWS
Infra
ProdStagingTeam A
xxx xxx
xxxxx Smart mobile acquisition
Environnement
Cloud Formation: 1 env ~ 35 stacks, 200+ au total
Prêt en ~1h30
Environnement complet
Restore des datas de prod
xxxxx Smart mobile acquisition
Déploiement
Comment déployer aussi du Rails, Java, Nodejs, …?
ISO Dévelopement / Production
Déploiement identique
xxxxx Smart mobile acquisition
Docker
xxxxx Smart mobile acquisition
Docker
xxxxx Smart mobile acquisition
Docker
Images / Containers
Isolation
Linux / Mac / Windows
Layers
xxxxx Smart mobile acquisition
Dockerfile
xxxxx Smart mobile acquisition
Docker Compose
Mettre en relation plusieurs containers Docker
docker-compose.yml
xxxxx Smart mobile acquisition
docker-compose.yml
xxxxx Smart mobile acquisition
Docker Compose
xxxxx Smart mobile acquisition
Déploiement
Auto Scaling group
Amazon S3
bucket
Docker
Registry
Dev
tag hook
Code
Repository
CI
Push Docker images
End Users Amazon LB
Amazon RDS
PostgreSQL
Deploy
1
4
2
3
Deploy
instance
update instances
5
pull docker images
Amazon S3
bucket
Push artifacts
zip: docker-compose.yml
Route 53
xxxxx Smart mobile acquisition
Déploiement avec Chef
xxxxx Smart mobile acquisition
Gestion des branches
git push origin devX-xxxx
Github: Pull Request + Merge
Release / Tag
xxxxx Smart mobile acquisition
Network “host” / Logs cappé
Pas de problème lié à Docker / Docker
compose
Retour d’expérience
150+ containers en production
Choix d’un orchestrateur ?
xxxxx Smart mobile acquisition
Retour d’expérience
Pas de pipeline / Pas de promotion
Environnement: Sélectionner les
composants
Gestion des logs
xxxxx Smart mobile acquisition
Smart mobile acquisition
Big Data
59
SDK
données sur le comportement utilisateur
S3
Hadoop
Smart mobile acquisition
Smart mobile acquisition
Big Data
xxxxx Smart mobile acquisition
Smart mobile acquisition
Smart mobile acquisition
Data
Elastic Map Reduce
Hive
Lecture / Ecriture sur S3
xxxxx Smart mobile acquisition
Retour d’expérience
Créer un cluster EMR “on-demand”
Pré-processing pour chaque use-case
Pas de stockage de résultats intermédiaires
Lent
Optimisations des coûts
62
Avant Après
Smart mobile acquisition
Smart mobile acquisition
Retour d’expérience
63
Base de données relationnelle (SQL)
Orientée OLAP
Distribué pour les Big Data
Excellentes performances
Très bonne scalabilité
Hébergée dans le cloud AWS
Administration facile
Smart mobile acquisition
Smart mobile acquisition
Amazon Redshift
xxxxx Smart mobile acquisition
Performances
Avec Hive/S3/20 instances EC2: 4 heures avec 7 jours de
data
Avec Redshift/20 noeuds: 1 minute avec 2 mois de data
Compter le nombre d’utilisateurs français ayant consulté plus de 2 fois le site ‘lemonde.fr’
xxxxx Smart mobile acquisition
Dashboards
66
Planifie exécution chaînes de scripts
Ordonnancement des tâches
Scripts de différentes natures (batch, sql, …)
Lancement conditionnels
Service d’alerte
Reprise sur erreur
Smart mobile acquisition
Smart mobile acquisition
AWS DataPipeline
xxxxx Smart mobile acquisition
Smart mobile acquisition
Smart mobile acquisition
Voyage à travers le cloud
Retour d’expérience
Déploiement
Conclusion
L’infrastructure accompagne le
dévéloppement de la société
xxxxx Smart mobile acquisition
Smart mobile acquisition
olivier@ogury.co
DevOps
Dev
Java/Spring
Dev Nodejs
Dev Android
Dev Full Stack
xxxxx Smart mobile acquisition
Smart mobile acquisition
Questions ? Smart mobile acquisition

Contenu connexe

En vedette

Millionaire venere.com
Millionaire venere.comMillionaire venere.com
Millionaire venere.comSusan Geraeds
 
Mozoo-OpionWay-Oct2014
Mozoo-OpionWay-Oct2014Mozoo-OpionWay-Oct2014
Mozoo-OpionWay-Oct2014Mozoo
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHubThibault Vlacich
 
Google Search Console: An Ultimate Guide
Google Search Console: An Ultimate GuideGoogle Search Console: An Ultimate Guide
Google Search Console: An Ultimate GuideTyler Horvath
 
Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...
Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...
Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...TheFamily
 
Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...
Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...
Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...SaaStock
 
DEVOPS - La synthèse
DEVOPS - La synthèseDEVOPS - La synthèse
DEVOPS - La synthèseCOMPETENSIS
 
Journée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousJournée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousPublicis Sapient Engineering
 
Journée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsJournée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsPublicis Sapient Engineering
 
Memoire la publicité programatique mobile et le rapport marque consommateur ...
Memoire  la publicité programatique mobile et le rapport marque consommateur ...Memoire  la publicité programatique mobile et le rapport marque consommateur ...
Memoire la publicité programatique mobile et le rapport marque consommateur ...Pierre-Yves Trennec
 
Mobile Is Eating the World (2016)
Mobile Is Eating the World (2016)Mobile Is Eating the World (2016)
Mobile Is Eating the World (2016)a16z
 

En vedette (12)

Millionaire venere.com
Millionaire venere.comMillionaire venere.com
Millionaire venere.com
 
Mozoo-OpionWay-Oct2014
Mozoo-OpionWay-Oct2014Mozoo-OpionWay-Oct2014
Mozoo-OpionWay-Oct2014
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
Google Search Console: An Ultimate Guide
Google Search Console: An Ultimate GuideGoogle Search Console: An Ultimate Guide
Google Search Console: An Ultimate Guide
 
Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...
Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...
Les Barbares Attaquent les transports ! Par Nicolas Colin, Cofondateur et Par...
 
DevOps
DevOpsDevOps
DevOps
 
Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...
Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...
Lessons learned from 3k SaaS Companies - Patrick Campbell, CEO, Price Intelli...
 
DEVOPS - La synthèse
DEVOPS - La synthèseDEVOPS - La synthèse
DEVOPS - La synthèse
 
Journée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousJournée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tous
 
Journée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsJournée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOps
 
Memoire la publicité programatique mobile et le rapport marque consommateur ...
Memoire  la publicité programatique mobile et le rapport marque consommateur ...Memoire  la publicité programatique mobile et le rapport marque consommateur ...
Memoire la publicité programatique mobile et le rapport marque consommateur ...
 
Mobile Is Eating the World (2016)
Mobile Is Eating the World (2016)Mobile Is Eating the World (2016)
Mobile Is Eating the World (2016)
 

Similaire à Ippevent Ogury 2016

Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...FactoVia
 
Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016Simplicité Software
 
Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote Aymeric Weinbach
 
Développer et déployer dans le cloud
Développer et déployer dans le cloudDévelopper et déployer dans le cloud
Développer et déployer dans le cloudJulien Dubois
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Patricia NENZI
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Patricia NENZI
 
Les Clouds: Buzzword ou révolution technologique
Les Clouds: Buzzword ou révolution technologiqueLes Clouds: Buzzword ou révolution technologique
Les Clouds: Buzzword ou révolution technologiqueFrederic Desprez
 
Cloud computing & logiciels libres JDLL 2009
Cloud computing & logiciels libres JDLL 2009Cloud computing & logiciels libres JDLL 2009
Cloud computing & logiciels libres JDLL 2009Philippe Scoffoni
 
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...FactoVia
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Patricia NENZI
 
Qu'est-ce que le cloud ?
Qu'est-ce que le cloud ?Qu'est-ce que le cloud ?
Qu'est-ce que le cloud ?Vincent Misson
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTFactoVia
 
L’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data centerL’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data centerColloqueRISQ
 
Présentation CloudStack by Ikoula pour les Start-up @ La Cantine
Présentation CloudStack by Ikoula pour les Start-up @ La CantinePrésentation CloudStack by Ikoula pour les Start-up @ La Cantine
Présentation CloudStack by Ikoula pour les Start-up @ La CantineIkoula
 
Exadays cloud – Enjeux et Transformation du SI
Exadays   cloud – Enjeux et Transformation du SIExadays   cloud – Enjeux et Transformation du SI
Exadays cloud – Enjeux et Transformation du SISamir Arezki ☁
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM France Lab
 
French .NEXT on Tour Keynote and Technical deck-libre
French .NEXT on Tour Keynote and Technical deck-libreFrench .NEXT on Tour Keynote and Technical deck-libre
French .NEXT on Tour Keynote and Technical deck-libreNEXTtour
 
Biztalk summit - IOT
Biztalk summit - IOTBiztalk summit - IOT
Biztalk summit - IOTCellenza
 
Solution Hitachi Content Platform
Solution Hitachi Content PlatformSolution Hitachi Content Platform
Solution Hitachi Content PlatformBertrand LE QUELLEC
 

Similaire à Ippevent Ogury 2016 (20)

Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...Pres azure   paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
 
Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016
 
Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote Microsoft azure boot camp Keynote
Microsoft azure boot camp Keynote
 
Développer et déployer dans le cloud
Développer et déployer dans le cloudDévelopper et déployer dans le cloud
Développer et déployer dans le cloud
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17
 
Les Clouds: Buzzword ou révolution technologique
Les Clouds: Buzzword ou révolution technologiqueLes Clouds: Buzzword ou révolution technologique
Les Clouds: Buzzword ou révolution technologique
 
Cloud computing & logiciels libres JDLL 2009
Cloud computing & logiciels libres JDLL 2009Cloud computing & logiciels libres JDLL 2009
Cloud computing & logiciels libres JDLL 2009
 
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17
 
Qu'est-ce que le cloud ?
Qu'est-ce que le cloud ?Qu'est-ce que le cloud ?
Qu'est-ce que le cloud ?
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
L’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data centerL’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data center
 
Présentation CloudStack by Ikoula pour les Start-up @ La Cantine
Présentation CloudStack by Ikoula pour les Start-up @ La CantinePrésentation CloudStack by Ikoula pour les Start-up @ La Cantine
Présentation CloudStack by Ikoula pour les Start-up @ La Cantine
 
Exadays cloud – Enjeux et Transformation du SI
Exadays   cloud – Enjeux et Transformation du SIExadays   cloud – Enjeux et Transformation du SI
Exadays cloud – Enjeux et Transformation du SI
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
 
French .NEXT on Tour Keynote and Technical deck-libre
French .NEXT on Tour Keynote and Technical deck-libreFrench .NEXT on Tour Keynote and Technical deck-libre
French .NEXT on Tour Keynote and Technical deck-libre
 
Biztalk summit - IOT
Biztalk summit - IOTBiztalk summit - IOT
Biztalk summit - IOT
 
Plateforme DATA HUB / API
Plateforme DATA HUB / APIPlateforme DATA HUB / API
Plateforme DATA HUB / API
 
Solution Hitachi Content Platform
Solution Hitachi Content PlatformSolution Hitachi Content Platform
Solution Hitachi Content Platform
 

Plus de Olivier BAZOUD

BBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - PuppetBBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - PuppetOlivier BAZOUD
 
TDD for DevOps with Chef
TDD for DevOps with ChefTDD for DevOps with Chef
TDD for DevOps with ChefOlivier BAZOUD
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyribaOlivier BAZOUD
 
WS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - XebiaWS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - XebiaOlivier BAZOUD
 
Paris JUG Spring Batch
Paris JUG Spring BatchParis JUG Spring Batch
Paris JUG Spring BatchOlivier BAZOUD
 
Chtijug springbatch 2011
Chtijug springbatch 2011Chtijug springbatch 2011
Chtijug springbatch 2011Olivier BAZOUD
 
Breizhjug spring batch 2011
Breizhjug spring batch 2011Breizhjug spring batch 2011
Breizhjug spring batch 2011Olivier BAZOUD
 

Plus de Olivier BAZOUD (8)

BBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - PuppetBBL - TDD pour les DevOps - Puppet
BBL - TDD pour les DevOps - Puppet
 
TDD for DevOps with Chef
TDD for DevOps with ChefTDD for DevOps with Chef
TDD for DevOps with Chef
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyriba
 
WS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - XebiaWS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - Xebia
 
Paris JUG Spring Batch
Paris JUG Spring BatchParis JUG Spring Batch
Paris JUG Spring Batch
 
Spring Batch Avance
Spring Batch AvanceSpring Batch Avance
Spring Batch Avance
 
Chtijug springbatch 2011
Chtijug springbatch 2011Chtijug springbatch 2011
Chtijug springbatch 2011
 
Breizhjug spring batch 2011
Breizhjug spring batch 2011Breizhjug spring batch 2011
Breizhjug spring batch 2011
 

Ippevent Ogury 2016

  • 1. Retour d'expérience d'une infrastructure Cloud et Big Data à très fort traffic
  • 2. xxxxx Smart mobile acquisition Smart mobile acquisition Dev & Ops Spring-*, Nodejs Chef, Puppet, Docker, Graphite, ... Co-auteur “Spring in Action” Olivier Bazoud - @obazoud Smart mobile acquisition
  • 3. xxxxx Smart mobile acquisition Smart mobile acquisition Et vous ? Smart mobile acquisition
  • 4. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition
  • 5. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Sommaire Voyage à travers le cloud Retour d’expérience Déploiement
  • 6.
  • 7. APP SDK A publisher ADDS the Ogury’s SDK in his App The publisher PUBLISHES or updates his App with the Ogury’s SDK inside APP LIVE ON PLAYSTORE APP SDK The user OPEN the app to all the users who open an App with the SDK and who are targeted in the campaign 1 Ad which is seen = 1 impression If the user click on the Ad = 1 icon installed If the user clicks again on the icon APP OPEN SDK 1 4 5678 2 3PUBLISHER PART ADVERTISER PART APP ICON AD CLICK AD SEEN AD SENT DATA is SENT SEND an AD Smart mobile acquisition Smart mobile acquisition Overview
  • 8. TARGETING Methodology XX% Wescoreeachuserviathedatawehavecollectedand crossreferencethiswiththecampaignobjectives Date Time www.amazon.com/ 22/05 www.citroen.com www.redbull.com www.suv.com www.carmerchant.com/ 22/05 22/05 23/05 24/05 26/05 4min. 4min. 4min. 4min. www.kia.com Ogury then pushes the delivery of the recommendations based on our ‘compatability score’ USED : Sarenza 22/05 USED : Autoscout24 22/05 Date Time App : Candy crush 22/05 App : Cityapp 22/05 App : Mr porter 22/05 App : Forbes 23/05 App : Surfsession 24/05 App : Quicksilver 26/05 4min. 4min. 5min. 0min. 2min. 1min. 100% 98% 100% 95% 100% 96% 97% 99% 94% 100% 95% 96% 50% 55% 52% 51% 54% 50%
  • 9. DATA ULTRA GRANULAIRE - Applications téléchargées & usages - URLs consultées 100% ON TARGET - Technologie de ciblage - Ciblage comportementale EXPERIENCE UTILISATEUR - Format qui s’adapte - Template Ogury FACILITE IMPLEMENTATION - Aucun taggage de site - Pas de SDK à poser Format statique Video Toucher votre audience sans déperdition
  • 10. Ogury’s global reach 35 M users 13 M users 105 M users 35 M users 2 M users 60 M users
  • 12. Top 4 mobile data collector 4 locations globally 250 million users Top 200 brands
  • 13. xxxxx Smart mobile acquisition Voyage à travers le cloud Smart mobile acquisition
  • 14. xxxxx Smart mobile acquisition Plate-formes 1. Heroku 2. Hybride 3. AWS
  • 15. xxxxx Smart mobile acquisition Heroku Smart mobile acquisition
  • 16. xxxxx Smart mobile acquisition Heroku PAAS + Add-ons Github / Travis CI git push + pipeline Startup
  • 17. xxxxx Smart mobile acquisition Heroku Mobile API Backoffice No SQL Database
  • 18. xxxxx Smart mobile acquisition Couchbase NoSQL document-oriented Performance Scalability / High availability Cross Data Center Replication (XDCR)
  • 19. xxxxx Smart mobile acquisition Retour d’expérience No (Dev)Ops Difficile de scaler le front Troubleshooting limité Peu de Monitoring / Alerting
  • 20. xxxxx Smart mobile acquisition Hybride Smart mobile acquisition
  • 21. xxxxx Smart mobile acquisition Hybride: Heroku / AWS Traiter les évenements Organiser et Analyser la data Gestion des gros volumes
  • 22. xxxxx Smart mobile acquisition Hybride Mobile API Backoffice No SQL Database Bucket S3 Targeting
  • 23. xxxxx Smart mobile acquisition AWS Cloud IAAS Scalabilité / Automatisation / Agilité Infrastructure As Code Coûts
  • 24. xxxxx Smart mobile acquisition Kafka Broker Transaction logs Topics / Partitions Producers / Consumers “Data is retained for a configuration period of time”
  • 25. xxxxx Smart mobile acquisition EMR / Hadoop Besoins ponctuels Targeting Exploratoire / Troubleshooting Hive / S3
  • 26. xxxxx Smart mobile acquisition Début de l’automatisation Début de monitoring / alerting Tuning ELK Retour d’expérience Jobs hadoop lents Heroku cher pour nos besoins
  • 27. xxxxx Smart mobile acquisition AWS Smart mobile acquisition
  • 28. xxxxx Smart mobile acquisition “Allez, on passe tout sous AWS!” Les fondateurs
  • 29. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Chiffres 250 Millions d’utilisateurs 1 To data compressé / jour 1 Million request per minute 15 Millions messages per minute 30 Milliards de documents dans ES
  • 30. xxxxx Smart mobile acquisition Automatisation Cloud Formation / Chef Collectd / Sensu / Cloud Watch Graphite / Grafana
  • 31. xxxxx Smart mobile acquisition Cloud Formation Infrastructure As Code JSON, JSON, JSON, ... Stack, Nested stack Rollback, Evenements, Timeout, ...
  • 32. xxxxx Smart mobile acquisition Cloud Formation
  • 33. xxxxx Smart mobile acquisition Chef Automate Cookbooks Chef Server / Chef Client Scale
  • 34. xxxxx Smart mobile acquisition Chef
  • 35. xxxxx Smart mobile acquisition Retour d’expérience
  • 36. xxxxx Smart mobile acquisition Kafka
  • 37. xxxxx Smart mobile acquisition AWS: To infinity... and beyond
  • 38. xxxxx Smart mobile acquisition Limites AWS Lenteur Cloud Formation (RDS, Cloud Front, IAM) Bonne intégration Cloud Formation / Chef Retour d’expérience Packer AMI: image de base seulement JSON :(
  • 39. xxxxx Smart mobile acquisition Retour d’expérience
  • 40. xxxxx Smart mobile acquisition Déploiement Smart mobile acquisition
  • 41. xxxxx Smart mobile acquisition Automatisation Créer des environnements facilement (10 + 2) Automatisation maximum Déploiement automatique Cloud AWS
  • 43. xxxxx Smart mobile acquisition Environnement Cloud Formation: 1 env ~ 35 stacks, 200+ au total Prêt en ~1h30 Environnement complet Restore des datas de prod
  • 44. xxxxx Smart mobile acquisition Déploiement Comment déployer aussi du Rails, Java, Nodejs, …? ISO Dévelopement / Production Déploiement identique
  • 45. xxxxx Smart mobile acquisition Docker
  • 46. xxxxx Smart mobile acquisition Docker
  • 47. xxxxx Smart mobile acquisition Docker Images / Containers Isolation Linux / Mac / Windows Layers
  • 48. xxxxx Smart mobile acquisition Dockerfile
  • 49. xxxxx Smart mobile acquisition Docker Compose Mettre en relation plusieurs containers Docker docker-compose.yml
  • 50. xxxxx Smart mobile acquisition docker-compose.yml
  • 51. xxxxx Smart mobile acquisition Docker Compose
  • 52. xxxxx Smart mobile acquisition Déploiement
  • 53. Auto Scaling group Amazon S3 bucket Docker Registry Dev tag hook Code Repository CI Push Docker images End Users Amazon LB Amazon RDS PostgreSQL Deploy 1 4 2 3 Deploy instance update instances 5 pull docker images Amazon S3 bucket Push artifacts zip: docker-compose.yml Route 53
  • 54. xxxxx Smart mobile acquisition Déploiement avec Chef
  • 55. xxxxx Smart mobile acquisition Gestion des branches git push origin devX-xxxx Github: Pull Request + Merge Release / Tag
  • 56. xxxxx Smart mobile acquisition Network “host” / Logs cappé Pas de problème lié à Docker / Docker compose Retour d’expérience 150+ containers en production Choix d’un orchestrateur ?
  • 57. xxxxx Smart mobile acquisition Retour d’expérience Pas de pipeline / Pas de promotion Environnement: Sélectionner les composants Gestion des logs
  • 58. xxxxx Smart mobile acquisition Smart mobile acquisition Big Data
  • 59. 59 SDK données sur le comportement utilisateur S3 Hadoop Smart mobile acquisition Smart mobile acquisition Big Data
  • 60. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Data Elastic Map Reduce Hive Lecture / Ecriture sur S3
  • 61. xxxxx Smart mobile acquisition Retour d’expérience Créer un cluster EMR “on-demand” Pré-processing pour chaque use-case Pas de stockage de résultats intermédiaires Lent Optimisations des coûts
  • 62. 62 Avant Après Smart mobile acquisition Smart mobile acquisition Retour d’expérience
  • 63. 63 Base de données relationnelle (SQL) Orientée OLAP Distribué pour les Big Data Excellentes performances Très bonne scalabilité Hébergée dans le cloud AWS Administration facile Smart mobile acquisition Smart mobile acquisition Amazon Redshift
  • 64. xxxxx Smart mobile acquisition Performances Avec Hive/S3/20 instances EC2: 4 heures avec 7 jours de data Avec Redshift/20 noeuds: 1 minute avec 2 mois de data Compter le nombre d’utilisateurs français ayant consulté plus de 2 fois le site ‘lemonde.fr’
  • 65. xxxxx Smart mobile acquisition Dashboards
  • 66. 66 Planifie exécution chaînes de scripts Ordonnancement des tâches Scripts de différentes natures (batch, sql, …) Lancement conditionnels Service d’alerte Reprise sur erreur Smart mobile acquisition Smart mobile acquisition AWS DataPipeline
  • 67. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Voyage à travers le cloud Retour d’expérience Déploiement Conclusion L’infrastructure accompagne le dévéloppement de la société
  • 68. xxxxx Smart mobile acquisition Smart mobile acquisition olivier@ogury.co DevOps Dev Java/Spring Dev Nodejs Dev Android Dev Full Stack
  • 69. xxxxx Smart mobile acquisition Smart mobile acquisition Questions ? Smart mobile acquisition