Les coulisses techniques de Deezer 50 millions de fichiers, 2,5 Po de données

Si son catalogue musical contient 35 millions de titres, ce sont en fait 50 millions de fichiers sources que Deezer héberge. "Un même MP3 peut être livré par différentes maisons de disques, sous forme de fichiers 'watermarkés' [ou 'tatoués' numériquement, NDLR] qui doivent être gardés dans la base de données", explique Aurélien Hérault. Et si la plupart de ces fichiers sont livrés au format Flac (à raison de 30 Mo par fichier en moyenne), Deezer propose aussi les formats MP3 (en 128 et 320 kbps) et AAC 64. Une grande variété de formats qui répond aux différentes formules d'abonnement – le Flac pour l'offre premium – mais aussi au choix du terminal.

La direction technique de Deezer est située au cœur de son siège parisien dans le 9e arrondissement de Paris.  © JDN / Cécile Debise

Un utilisateur peut, en effet, écouter son groupe favori sur un PC, une tablette, un smartphone, une TV connectée mais aussi depuis peu sur l'autoradio - via le format léger AAC 64 (qui répond aux contraintes de l'embarqué). Deezer vient de nouer un partenariat avec BMW dans ce sens. Au total, ces fichiers représentent 2,5 pétaoctets (Po) de données. Pour les stocker, Deezer fait appel à une plateforme NetApp tout en testant actuellement Ceph (une solution libre de stockage en mode distribué).

Une stratégie de CDN pour accompagner l'internationalisation

Des tables MySQL sont utilisées pour les données "figées", comme le catalogue mais aussi les comptes utilisateurs, les favoris, les playlists. Pour protéger cette base SQL, les serveurs ont, en frontal, memcached. "Depuis qu'on a mis ce système en place fin 2014, on observe une baisse de la consommation réseau", se réjouit Aurélien Hérault.

Le tournant de l'internalisation en 2010 a aussi conduit Deezer à mener une stratégie de Content delivery network (CDN). "Avant, en tant que site franco-français, nous pouvions diffuser les fichiers en direct. Avec plus de 180 pays couverts, ce n'est plus possible", commente Aurélien Hérault. Le CDN permet d'automatiser les processus de distribution. Quand un morceau est classé dans un "top", il est systématiquement poussé sur le CDN. A l'inverse, pour appeler un fichier qui n'est pas demandé, il faudra aller sur NetApp puis remonter sur le proxy et enfin sur le CDN. "Le chargement demandera donc un plus de temps, mais s'il n'y avait pas de CDN et de proxy, NetApp serait en danger", ajoute Aurélien Hérault.

Côté interface client, Deezer réfléchit, comme tous les acteurs du streaming, à l'après Flash. Un futur qui passera par HTML5 mais aussi peut-être par Ember.js : un framework JavaScript pour bâtir des interfaces web enrichies.

Serveurs / Streaming