Des infos en vrac sur le serveur "OTT" utilisé par Knet !
Je ne donne pas de photo de l'intérieur, le serveur que j'ai sous la main est plutôt vide ..
En revanche, je peux parler de celui qui est actuellement en production
* Matériel utilisé:- le chassis est un supermicro 6017R-WRF (
http://www.supermicro.com/products/system/1u/6017/sys-6017r-wrf.cfm)
- un CPU E5-2620 (12 core, dont 6 physiques)
- 32GB de ram DDR3
- une carte PCI 4*SFP+, à base de broadcom (
http://www.supermicro.com/products/accessories/addon/AOC-STG-b4S.cfm)
- des vieux disques dur qui trainent ..
Outre les ports SFP+, le serveur est branché sur un port Gb, utilisé pour le management et l'upstream.
* LogicielNiveau réseau, les 4 ports sont montés en LACP, sans vlan (pvid côté switch).
Comme l'upstream utilise le port Gb 'stock', la machine dispose vraiment d'une capacité utile de 40Gbps, soit 4000 clients fullHD simultané.
Au niveau routage, le serveur possède une session BGP avec le switch, afin d'annoncer l'IP "magique" de TV, via exabgp : c'est donc de l'anycast qui va me permettre, un jour peut-être, de faire de la haute disponibilité. Dans l'immédiat, cela permet à tout les abonnés de pointer sur le même nom de domaine, sur la même IP, mais sur des serveurs différents.
Au niveau système, l'ensemble des fichiers est stockés en mémoire : cela m'évite de passer par la case "stockage" pour bondir sur la case "IO cache", nécessaire pour fournir les débits requis. L'ensemble des chunks HLS a une taille inférieure à 5GB.
Quant au logiciel, j'utilise varnish .. un simple proxy cache HTTP. Tout est générique, rien n'est spécifique ! L'autre avantage, c'est que cela simule le comportement du multicast, sur des liens "en bout d'arbre" (deauville par exemple): si personne ne regarde une certaine chaine, cette dernière n'est pas ramené de l'upstream vers la machine.
* $$Histoire de faire un peu de business, le coût de la solution "serveur" est inférieur à 5k€ (incluant la carte et les SFP+/DAC)
En rajoutant 4 ports 10G sur un switch (800€) plus le downstream (*2), on arrive à moins de 2k€ pour le réseau
Donc, pour 7k€, il est possible fournir 4000 clients dans le pire des cas (avec le ratio chaine HD / chaine SD, je planche plutôt sur 10k clients par serveur).
Cela fait donc 0.7€ par client (1.75€ dans le pire des cas), one shot.