ippevent ogury 2016

69
Retour d'expérience d'une infrastructure Cloud et Big Data à très fort traffic

Upload: olivier-bazoud

Post on 19-Feb-2017

422 views

Category:

Technology


0 download

TRANSCRIPT

Retour d'expérienced'une infrastructure Cloud et Big Dataà très fort traffic

xxxxxSmart mobile acquisition

Smart mobile acquisition

Dev & Ops

Spring-*, Nodejs

Chef, Puppet, Docker, Graphite, ...

Co-auteur “Spring in Action”

Olivier Bazoud - @obazoudSmart mobile acquisition

xxxxxSmart mobile acquisition

Smart mobile acquisition

Et vous ?Smart mobile acquisition

xxxxxSmart mobile acquisition

Smart mobile acquisition

Smart mobile acquisition

xxxxxSmart mobile acquisition

Smart mobile acquisition

Smart mobile acquisition

Sommaire

Voyage à travers le cloud

Retour d’expérience

Déploiement

APPSDK

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

APPOPEN

SDK

1

4

5 6 7 8

2 3PUBLISHER PART

ADVERTISER PART

APP

ICON

ADCLICK

ADSEEN

ADSENT

DATA is SENT

SEND an AD

Smart mobile acquisition

Smart mobile acquisition

Overview

TARGETINGMethodology

XX

%

We

scor

e ea

ch u

ser

via

the

data

we

have

co

llect

ed a

nd c

ross

ref

eren

ce t

his

wit

h th

e ca

mpa

ign

obje

ctiv

es

Date Time

www.amazon.com/ 22/05

www.citroen.com

www.redbull.com

www.suv.comwww.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 TimeApp : 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

EXPERIENCEUTILISATEUR

- Format qui s’adapte- Template Ogury

FACILITE IMPLEMENTATION

- Aucun taggage de site- Pas de SDK à poser

Format statiqueVideo

Toucher votre audience sans déperdition

Ogury’s global reach

35 Musers

13 Musers

105 Musers

35 Musers

2 Musers

60 Musers

Users by country

Top 4 mobile data collector 4 locations globally 250 million users Top 200 brands

xxxxxSmart mobile acquisition

Voyage à travers le

cloud

Smart mobile acquisition

xxxxxSmart mobile acquisition

Plate-formes

1. Heroku

2. Hybride

3. AWS

xxxxxSmart mobile acquisition

Heroku

Smart mobile acquisition

xxxxxSmart mobile acquisition

Heroku

PAAS + Add-ons

Github / Travis CI

git push + pipeline

Startup

xxxxxSmart mobile acquisition

Heroku

Mobile API

Backoffice

No SQL Database

xxxxxSmart mobile acquisition

Couchbase

NoSQL document-oriented

Performance

Scalability / High availability

Cross Data Center Replication (XDCR)

xxxxxSmart mobile acquisition

Retour d’expérience

No (Dev)Ops

Difficile de scaler le front

Troubleshooting limité

Peu de Monitoring / Alerting

xxxxxSmart mobile acquisition

Hybride

Smart mobile acquisition

xxxxxSmart mobile acquisition

Hybride: Heroku / AWS

Traiter les évenements

Organiser et Analyser la data

Gestion des gros volumes

xxxxxSmart mobile acquisition

Hybride

Mobile API

Backoffice

No SQL Database

Bucket S3

Targeting

xxxxxSmart mobile acquisition

AWS

Cloud IAAS

Scalabilité / Automatisation / Agilité

Infrastructure As Code

Coûts

xxxxxSmart mobile acquisition

Kafka

Broker

Transaction logs

Topics / Partitions

Producers / Consumers

“Data is retained for a configuration period of time”

xxxxxSmart mobile acquisition

EMR / Hadoop

Besoins ponctuels

Targeting

Exploratoire / Troubleshooting

Hive / S3

xxxxxSmart 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

xxxxxSmart mobile acquisition

AWS

Smart mobile acquisition

xxxxxSmart mobile acquisition

“Allez, on passe tout sous AWS!” Les

fondateurs

xxxxxSmart 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

xxxxxSmart mobile acquisition

Automatisation

Cloud Formation / Chef

Collectd / Sensu / Cloud Watch

Graphite / Grafana

xxxxxSmart mobile acquisition

Cloud Formation

Infrastructure As Code

JSON, JSON, JSON, ...

Stack, Nested stack

Rollback, Evenements, Timeout, ...

xxxxxSmart mobile acquisition

Cloud Formation

xxxxxSmart mobile acquisition

Chef

Automate

Cookbooks

Chef Server / Chef Client

Scale

xxxxxSmart mobile acquisition

Chef

xxxxxSmart mobile acquisition

Retour d’expérience

xxxxxSmart mobile acquisition

Kafka

xxxxxSmart mobile acquisition

AWS: To infinity... and beyond

xxxxxSmart 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 :(

xxxxxSmart mobile acquisition

Retour d’expérience

xxxxxSmart mobile acquisition

Déploiement

Smart mobile acquisition

xxxxxSmart mobile acquisition

Automatisation

Créer des environnements facilement (10 + 2)

Automatisation maximum

Déploiement automatique

Cloud AWS

Infra

ProdStagingTeam A

xxx xxx

xxxxxSmart mobile acquisition

Environnement

Cloud Formation: 1 env ~ 35 stacks, 200+ au total

Prêt en ~1h30

Environnement complet

Restore des datas de prod

xxxxxSmart mobile acquisition

Déploiement

Comment déployer aussi du Rails, Java, Nodejs, …?

ISO Dévelopement / Production

Déploiement identique

xxxxxSmart mobile acquisition

Docker

xxxxxSmart mobile acquisition

Docker

xxxxxSmart mobile acquisition

Docker

Images / Containers

Isolation

Linux / Mac / Windows

Layers

xxxxxSmart mobile acquisition

Dockerfile

xxxxxSmart mobile acquisition

Docker Compose

Mettre en relation plusieurs containers Docker

docker-compose.yml

xxxxxSmart mobile acquisition

docker-compose.yml

xxxxxSmart mobile acquisition

Docker Compose

xxxxxSmart mobile acquisition

Déploiement

Auto Scaling group

Amazon S3

bucket

DockerRegistry

Dev

tag hook

CodeRepositor

y

CI

Push Docker images

End Users Amazon LB

Amazon RDSPostgreSQL

Deploy

1

4

2 3

Deployinstanc

e

update instances5

pull docker images

Amazon S3 bucketPush artifacts

zip: docker-compose.yml

Route 53

xxxxxSmart mobile acquisition

Déploiement avec Chef

xxxxxSmart mobile acquisition

Gestion des branches

git push origin devX-xxxx

Github: Pull Request + Merge

Release / Tag

xxxxxSmart 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 ?

xxxxxSmart mobile acquisition

Retour d’expérience

Pas de pipeline / Pas de promotion

Environnement: Sélectionner les composants

Gestion des logs

xxxxxSmart mobile acquisition

Smart mobile acquisition

Big Data

59

SDK

données sur le comportement utilisateur

S3

demande publicité

Hadoop

Smart mobile acquisition

Smart mobile acquisition

Big Data

xxxxxSmart mobile acquisition

Smart mobile acquisition

Smart mobile acquisition

Data

Elastic Map Reduce

Hive

Lecture / Ecriture sur S3

xxxxxSmart 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édiairesLent

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

Coût

Smart mobile acquisition

Smart mobile acquisition

Amazon Redshift

xxxxxSmart 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’

xxxxxSmart 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

xxxxxSmart 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é

xxxxxSmart mobile acquisition

Smart mobile acquisition

[email protected]

DevOpsDev Java/SpringDev NodejsDev AndroidDev Full Stack

xxxxxSmart mobile acquisition

Smart mobile acquisition

Questions ?Smart mobile acquisition