Stéphane FOSSE

Netflix optimise ses serveurs CDN avec FreeBSD


2025 - - Copyleft : cette œuvre est libre, vous pouvez la copier, la diffuser et la modifier selon les termes de la Licence Art Libre 1.3
[PDF]

Netflix a fait un choix technique qui sort des sentiers battus : utiliser FreeBSD pour son réseau mondial de diffusion de contenu (CDN). Drew Gallatin, ingénieur chez Netflix depuis huit ans, a levé le voile sur la manière dont cette plateforme a été adaptée aux besoins très spécifiques du géant du streaming.

Pourquoi FreeBSD chez Netflix ?

Contrairement à ce qu'on pourrait croire, Netflix n'a pas choisi FreeBSD par caprice ou dogme technique. Cette décision repose sur des considérations pratiques. FreeBSD brille par ses performances élevées, ce qui est critique pour une entreprise devant acheminer des flux vidéo vers des millions de spectateurs simultanément. Le système offre aussi une remarquable flexibilité pour l'adapter aux besoins particuliers de l'entreprise.

L'équipe Netflix utilise FreeBSD et contribue activement à son développement. Drew Gallatin lui-même travaille sur ce système depuis plus de 25 ans, signe d'un engagement sincère envers cette technologie. La pile TCP/IP particulièrement affûtée de FreeBSD constitue un atout pour les besoins de Netflix.

Les innovations techniques apportées par Netflix

L'équipe de développement de Netflix a transformé FreeBSD pour répondre à ses enjeux. Une dizaine de développeurs, dont la plupart sont des contributeurs ou committers FreeBSD, ont conçu plusieurs innovations :

Ces contributions servent donc à Netflix et profitent à l'ensemble de la communauté FreeBSD.

Des performances qui pulvérisent les records

Les optimisations de FreeBSD par Netflix ont repoussé les frontières du possible en matière de serveurs CDN. Drew Gallatin souligne que son travail vise à accroître la bande passante sur un matériel donné tout en réduisant la consommation d'énergie, sans sacrifier l'expérience utilisateur. Supprimer certaines protections comme la régulation TCP augmenterait les performances brutes, mais détériorerait l'expérience des utilisateurs en provocant des mises en mémoire tampon intempestives.

La progression des performances est stupéfiante :

L'avenir vert des serveurs Netflix

Netflix travaille sur un projet révolutionnaire : un serveur capable de diffuser 100 Gbps tout en consommant moins de 100 watts. Ce petit miracle technologique repose sur l'utilisation d'un DPU NVIDIA BlueField, une unité spécialisée intégrant un processeur réseau 100 Gbps avec 16 cœurs ARM et environ 48 Go de mémoire DDR5.

Le prototype actuel, encore en phase de test, consomme environ 125 watts. L'équipe compte abaisser ce chiffre sous les 100 watts en optimisant l'alimentation et en réduisant le nombre de disques NVMe. À terme, ce serveur pourrait servir jusqu'à 30 000 clients simultanés avec la consommation d'une simple ampoule électrique.

Vivre sur la branche FreeBSD-CURRENT chez Netflix

Adopter FreeBSD-CURRENT, la version de développement, semble téméraire au premier abord. Pourtant, cette stratégie s'avère judicieuse. En actualisant leurs systèmes toutes les 3-4 semaines, l'équipe de Netflix détecte immédiatement les régressions, sans attendre qu'elles se manifestent des années plus tard.

Cette proximité avec le code de développement facilite aussi la collaboration avec les développeurs en amont et réduit l'accumulation de dette technique. Si CURRENT montre parfois des instabilités, les gains en réactivité et en intégration des correctifs compensent largement ces inconvénients.

Le « Magical Mystery Merge » : une leçon d'humilité

Drew Gallatin raconte une anecdote révélatrice. Après une fusion de code apparemment anodine, l'équipe constate une hausse inexpliquée de 20% de l'utilisation CPU sur leur machine de test 100 Gbit/s.

Après une investigation minutieuse par bisection (technique de débogage divisant le code pour isoler un problème), ils identifient le coupable : un commit visant à optimiser le démarrage de FreeBSD en améliorant un algorithme de tri. Ce changement avait modifié l'ordre d'initialisation des sous-systèmes du noyau, conduisant à l'utilisation d'un pilote obsolète de contrôle de fréquence CPU.

Cette histoire illustre la complexité vertigineuse des systèmes d'exploitation modernes et l'importance des tests approfondis. Elle met aussi en lumière les avantages de FreeBSD-CURRENT : Netflix a pu identifier et corriger en 24 heures un problème qui serait resté invisible pendant des années sur des systèmes moins exigeants.

Conclusion

La symbiose entre Netflix et FreeBSD montre comment une grande entreprise peut exploiter un système open source tout en nourrissant son développement. Cette collaboration bénéficie aux deux parties et, finalement, aux millions d'utilisateurs qui visionnent leurs séries et films préférés chaque jour dans le monde entier. Elle illustre aussi parfaitement l'intérêt des grandes entreprises à s'investir dans les projets open source pour en tirer le meilleur parti tout en participant à leur évolution au XXIe siècle.

Références