SlideShare uma empresa Scribd logo
1 de 48
Le second écran chez
M6Web
another (php) brick in the wall !
@omansour
Offre digitale et interactive du
groupe M6
~20 sites : Clubic – JeuxVideo.fr – AchetezFacile …
6play 1M+ Vidéos Vues / jour
Catchup + Live + 2nd écran
2nd screen
https://github.com/M6Web/HttpToStatsd/
https://github.com/M6Web/HttpToGelf/
Mme Michu
H2Gelf
H2Statsd
ELK
Statsd +
graphite +
grafana
HTTP UDP
Les utilisateurs font
n’importe quoi !
mme Michu
S3
static.*
proxy-cache
500k of Mme Michu …
Mieux vaut plein de petits
rapides qu’un seul lent.
before
Mobile'
devices'
Live'
broadcast'
events'
contents'
1meline'calcula1on'
Synchronis
ed'events'
responsetime rps
after
Mobile'
devices'
Live'
broadcast'
events'
contents'
1meline'calcula1on'
Synchroni
sed'
events'
Timeline(s)''
contents'
responsetime
rps
REST in peace
Learn the rules like a pro,

so you can break them like an
artist.

— Pablo Picasso
/v1/contents/12?revision=3
Caching is
architecture
temps réel - live
résilient & performant
log - monitoring
intégration au système tv
temps réel 

= 

très rapide
2M de votants sur 30 secondes de ramp-up
5 secondes de short polling
20 secondes de vote => 100k écritures / secondes
logs de tous les votes (Maître Nadjar)
Infrastructure first !
logs
atomic counters
queue
cache pool
local mem
Principes
• connexion directe aux infras AWS (via token STS)
• traitements asynchrones des messages
• épargner au maximum les services managés
why PHP + latency
SQS DynamoDB
5 ms
WORKERS + AWS Client
• while(true)
https://github.com/M6Web/DaemonBundle
--run-max

--memory-max

UNIX signals

sf2 events
• AWS client 2.6 - waiting for v3 !
https://github.com/M6Web/AwsBundle
Mme Michu
t STSToken
status
SQS
vote
workers
dynamo
DB
S3
BO
TV
Mme Michu
queue
messages
status
1 - status check
messages

seen
logs
2 - check seen
3 - log
4 - counter incr
local mem
5 - write message seen
message acquisition
local mem
status
1 - status check
2 - get/delete counter
counters
3 - incr counters
count persistence
+42
+124
+25
Hotspots
• DynamoDB counter random spot
1
2
3
4
99…
batchGetItemrand(0,99)
Guzzle 3 + latency
100% CPU
Pour 250 VMs, décroche
ton téléphone !
CDN + short ttl = ¯_(ツ)_/¯
« Et je vais mettre à jour les dashboards
car là, je suis en mode Gilbert Montagné »
Un dev
★ Infrastructure first
★ scalability > webperf
★ real time ~= very fast
★ worker + PHP == OK
★ monitor all the things
★ fear the hotpsot !
★ caching is architecture
https://joind.in/talk/view/14286

Mais conteúdo relacionado

Destaque

Software libre ya!!!
Software libre ya!!!Software libre ya!!!
Software libre ya!!!raulinho
 
Baromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presse
Baromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presseBaromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presse
Baromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presseEurop Assistance Group
 
Feudalismo
FeudalismoFeudalismo
Feudalismobeikah
 
Amandine Page 2+Fotos
Amandine Page  2+FotosAmandine Page  2+Fotos
Amandine Page 2+FotosNoemí
 
Voyage d'études EBSI 2016
Voyage d'études EBSI 2016Voyage d'études EBSI 2016
Voyage d'études EBSI 2016savardr
 
La Soja
La SojaLa Soja
La Sojatonchi
 
Système excréteur
Système excréteurSystème excréteur
Système excréteurCody
 
Las Fiestas Del Pilar
Las Fiestas Del PilarLas Fiestas Del Pilar
Las Fiestas Del Pilarsomosrincon
 
Famosos
FamososFamosos
Famososbeikah
 
Crucero Por Le Mediterraneo
Crucero Por Le MediterraneoCrucero Por Le Mediterraneo
Crucero Por Le Mediterraneoguestad3569
 
Le Made in France vu par la Camif
Le Made in France vu par la CamifLe Made in France vu par la Camif
Le Made in France vu par la CamifEmery Jacquillat
 

Destaque (20)

Cice Mapas Conceptuales
Cice Mapas ConceptualesCice Mapas Conceptuales
Cice Mapas Conceptuales
 
Software libre ya!!!
Software libre ya!!!Software libre ya!!!
Software libre ya!!!
 
Monographie regulation-appetit-satiete
Monographie regulation-appetit-satieteMonographie regulation-appetit-satiete
Monographie regulation-appetit-satiete
 
Baromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presse
Baromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presseBaromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presse
Baromètre Santé & Société CSA-Europ Assistance 2013 _communiqué de presse
 
La Hispania romana
La Hispania romanaLa Hispania romana
La Hispania romana
 
Feudalismo
FeudalismoFeudalismo
Feudalismo
 
Ag2010 f
Ag2010 fAg2010 f
Ag2010 f
 
Sinergia
SinergiaSinergia
Sinergia
 
climatizacion1
climatizacion1climatizacion1
climatizacion1
 
Fleurieu 20130127
Fleurieu 20130127Fleurieu 20130127
Fleurieu 20130127
 
Amandine Page 2+Fotos
Amandine Page  2+FotosAmandine Page  2+Fotos
Amandine Page 2+Fotos
 
Voyage d'études EBSI 2016
Voyage d'études EBSI 2016Voyage d'études EBSI 2016
Voyage d'études EBSI 2016
 
Ges Dossier
Ges DossierGes Dossier
Ges Dossier
 
La Soja
La SojaLa Soja
La Soja
 
Système excréteur
Système excréteurSystème excréteur
Système excréteur
 
Sahara
SaharaSahara
Sahara
 
Las Fiestas Del Pilar
Las Fiestas Del PilarLas Fiestas Del Pilar
Las Fiestas Del Pilar
 
Famosos
FamososFamosos
Famosos
 
Crucero Por Le Mediterraneo
Crucero Por Le MediterraneoCrucero Por Le Mediterraneo
Crucero Por Le Mediterraneo
 
Le Made in France vu par la Camif
Le Made in France vu par la CamifLe Made in France vu par la Camif
Le Made in France vu par la Camif
 

Semelhante a Le second écran chez M6Web, another (php) brick in the wall !

La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsChristophe Villeneuve
 
Man In the Middle on Mobile Applications.
Man In the Middle on Mobile Applications.Man In the Middle on Mobile Applications.
Man In the Middle on Mobile Applications.Julien Stuyck
 
Web Squared (Web²) : Principes et exemples
Web Squared (Web²) : Principes et exemplesWeb Squared (Web²) : Principes et exemples
Web Squared (Web²) : Principes et exemplesSerge Courrier
 
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
 
Rebuild 2018 - Bonnes pratiques de développement Mixed Reality
Rebuild 2018 - Bonnes pratiques de développement Mixed RealityRebuild 2018 - Bonnes pratiques de développement Mixed Reality
Rebuild 2018 - Bonnes pratiques de développement Mixed RealityVincent Guigui
 
Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13Aymeric Roffé
 
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdfProgrammez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdflaminemhamed
 
Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN Starensen
 

Semelhante a Le second écran chez M6Web, another (php) brick in the wall ! (10)

La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applications
 
Symfonytn
SymfonytnSymfonytn
Symfonytn
 
Man In the Middle on Mobile Applications.
Man In the Middle on Mobile Applications.Man In the Middle on Mobile Applications.
Man In the Middle on Mobile Applications.
 
Web Squared (Web²) : Principes et exemples
Web Squared (Web²) : Principes et exemplesWeb Squared (Web²) : Principes et exemples
Web Squared (Web²) : Principes et exemples
 
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
 
Rebuild 2018 - Bonnes pratiques de développement Mixed Reality
Rebuild 2018 - Bonnes pratiques de développement Mixed RealityRebuild 2018 - Bonnes pratiques de développement Mixed Reality
Rebuild 2018 - Bonnes pratiques de développement Mixed Reality
 
Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13
 
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdfProgrammez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
 
Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN
 
Messaging
MessagingMessaging
Messaging
 

Mais de Olivier Mansour

Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013Olivier Mansour
 
Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013Olivier Mansour
 
Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013Olivier Mansour
 
Acheter des prestations IT et web
Acheter des prestations IT et webAcheter des prestations IT et web
Acheter des prestations IT et webOlivier Mansour
 

Mais de Olivier Mansour (7)

PHP, ce truc de vieux
PHP, ce truc de vieuxPHP, ce truc de vieux
PHP, ce truc de vieux
 
Devfacts are coming
Devfacts are comingDevfacts are coming
Devfacts are coming
 
Symfony à la télé
Symfony à la téléSymfony à la télé
Symfony à la télé
 
Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013Bilan moral et financier du bureau AFUP 2013
Bilan moral et financier du bureau AFUP 2013
 
Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013Keynote de cloture du forum PHP 2013
Keynote de cloture du forum PHP 2013
 
Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013Keynote d'ouverture du forum PHP 2013
Keynote d'ouverture du forum PHP 2013
 
Acheter des prestations IT et web
Acheter des prestations IT et webAcheter des prestations IT et web
Acheter des prestations IT et web
 

Le second écran chez M6Web, another (php) brick in the wall !