Le PHP chez Deezer

16
Le PHP chez Deezer

Transcript of Le PHP chez Deezer

Page 1: Le PHP chez Deezer

Le PHP chez Deezer

Page 2: Le PHP chez Deezer

Jean PasdeloupSenior Software Engineer - Catalog TeamArrivé il y a 3 mois

Page 3: Le PHP chez Deezer

= +

Page 4: Le PHP chez Deezer

530 GB pour la base tampon d’import200 GB pour la base catalogue de production

= +

Page 5: Le PHP chez Deezer

= +530 GB pour la base tampon d’import

200 GB pour la base catalogue de production

Page 6: Le PHP chez Deezer

sandbox catalog

flow data

payment

user dataproductioncatalog

Providerdata

catalog

back-office

Deezer Legacy Monolithic PHP application

IOS / Android / Windows / BlackBerry

www.deezer.com

api

Fingerprint

managerpartners

payment

BO NGPayment

Analyses

Page 7: Le PHP chez Deezer
Page 8: Le PHP chez Deezer

Deezer NG!

Page 9: Le PHP chez Deezer

Deezer Business Code (aka Korn)● Découpé en domaines● Modélisé en s’inspirant

du DDD (Domain Driven Design)

● Framework agnostic

Page 10: Le PHP chez Deezer

Des applications● Point d’entrée pour

utilisateurs (BOs) ou systèmes tiers (APIs)

● Basées sur Symfony3 (mais pas obligatoire)

● Bibliothèque de bundles communs

Page 11: Le PHP chez Deezer

Command Bus● Accès des applications aux

domaines uniquement via Command Bus

● Command: demande d’action

● Query: requête sans action

Page 12: Le PHP chez Deezer

Principe fondamental: l’isolationIsolation “horizontale” entre les domaines fonctionnels

Isolation “verticale” entre les couches techniques

Page 13: Le PHP chez Deezer

Le changement, c’est maintenant !

Page 14: Le PHP chez Deezer

CONCLUSION

● Deezer c’est du PHP/MySQL depuis toujours,

● Forcément, y a du legacy...

● Mais c’est en train de devenir du beau PHP !

Continuez de nous suivre sur Twitter@deezerdevs

Page 15: Le PHP chez Deezer

THANK YOU

Page 16: Le PHP chez Deezer

BY THE WAY, ON RECRUTE!

Pauline [email protected]@FarinaPauline

Guillaume [email protected]

@grillatg

http://jobs.deezer.com

Lead Web EngineerSenior Backend Engineer

Web Engineeretc.