FreeBSD : l'OS serveur sous-estimé
FreeBSD fait tourner Netflix, WhatsApp et PlayStation. Pourquoi ce Unix BSD mérite plus d'attention des développeurs qui choisissent Linux par défaut.

Quand Netflix vous diffuse un film, les données vidéo proviennent probablement d'un serveur FreeBSD. Quand vous envoyez un message WhatsApp, il transite par une infrastructure qui a tourné sous FreeBSD pendant des années. Le système d'exploitation de la PlayStation 4 et 5 est basé sur FreeBSD. Les routeurs Juniper Networks, l'épine dorsale des grands FAI, embarquent une version modifiée de FreeBSD. Pour un système d'exploitation que la plupart des développeurs n'ont jamais utilisé, FreeBSD est étonnamment présent dans les infrastructures critiques.
Linux domine le marché des serveurs à ce point que beaucoup de développeurs considèrent « Linux » et « OS serveur » comme synonymes. Mais FreeBSD occupe une niche que Linux ne couvre pas aussi bien : les systèmes où les performances réseau, la fiabilité du stockage et la simplicité des licences comptent plus que la richesse de l'écosystème. Comprendre pourquoi FreeBSD persiste, et où il excelle, reste utile même si vous ne l'utilisez jamais vous-même.
La différence de philosophie de conception
Linux est un noyau. Le « système d'exploitation Linux » est en réalité un noyau couplé à un userland assemblé à partir de dizaines de projets indépendants (GNU coreutils, systemd, glibc, etc.), packagés par une distribution. Les différentes distributions font des choix différents sur les composants à inclure et sur leur configuration. Ubuntu et Alpine sont tous deux « Linux », mais ils donnent l'impression de deux systèmes différents.
FreeBSD est un système d'exploitation. Le noyau, les utilitaires userland, le compilateur, la documentation et les bibliothèques de base sont développés comme un seul projet cohérent. L'ensemble du système de base est versionné, testé et publié en bloc. Il n'existe qu'un seul FreeBSD, pas des centaines de distributions FreeBSD. Cela signifie moins de choix, mais plus de cohérence : le système de base est garanti compatible avec lui-même, et la documentation s'applique à toute installation FreeBSD.
Concrètement, sous Linux, « comment configurer le réseau ? » dépend de savoir si vous utilisez NetworkManager, systemd-networkd, netplan, ifupdown ou autre chose. Sous FreeBSD, c'est /etc/rc.conf. Toujours. Pour chaque installation FreeBSD. La documentation fait autorité parce qu'il n'existe qu'une seule façon de faire.
Là où FreeBSD gagne
Réseau. La pile réseau de FreeBSD est légendaire. Netflix a choisi FreeBSD précisément parce qu'il pouvait servir 100 Gbit/s de vidéo chiffrée en TLS depuis un seul serveur. La pile réseau est mature, bien optimisée, et dispose d'un excellent support pour les cartes réseau haut de gamme. Des fonctionnalités comme netmap (E/S de paquets sans copie) et le contrôle de congestion TCP RACK/BBR sont bien intégrées.
ZFS. FreeBSD a été le premier OS non Solaris à proposer ZFS comme système de fichiers de première classe, et reste la plateforme ZFS la mieux intégrée. ZFS apporte l'intégrité des données par sommes de contrôle, la compression transparente, les snapshots, la réplication et l'auto-réparation, des fonctionnalités qu'aucun autre système de fichiers n'égale. Sous Linux, ZFS est un module noyau tiers avec des complications de licence. Sous FreeBSD, il est intégré et officiellement supporté.
# ZFS on FreeBSD — built-in, first-class support
# Create a mirrored pool
zpool create tank mirror /dev/da0 /dev/da1
# Create a dataset with compression
zfs create -o compression=lz4 tank/data
# Take a snapshot (instant, copy-on-write)
zfs snapshot tank/data@before-migration
# Send a snapshot to another machine (incremental replication)
zfs send -i tank/data@yesterday tank/data@today | \
ssh backup-server zfs recv backup/data
# Roll back if something goes wrong
zfs rollback tank/data@before-migration
# Check data integrity (detects and repairs bit rot)
zpool scrub tank
Jails. Le système de jails de FreeBSD précède les conteneurs Linux de plus de dix ans (jails : 2000, Docker : 2013). Les jails offrent une virtualisation au niveau du système d'exploitation avec une isolation forte : système de fichiers, pile réseau et espace de noms des processus distincts. Ils sont plus légers qu'une VM mais plus isolés que les conteneurs Linux, et simples à configurer sans runtime de conteneurs.
La licence. FreeBSD utilise la licence BSD, qui autorise l'usage propriétaire sans obligation de publier le code source. C'est pour cela que Sony a pu baser le système de la PlayStation sur FreeBSD sans le libérer, et que Netflix peut distribuer une version modifiée de FreeBSD sans publier ses optimisations de pile réseau. Les entreprises qui ne peuvent pas utiliser du code sous GPL pour des raisons juridiques ou commerciales choisissent souvent FreeBSD précisément pour cette souplesse.
Là où Linux gagne
Les avantages de FreeBSD n'effacent pas les forces de Linux, et il est juste d'être honnête sur les points faibles de FreeBSD.
Support matériel. Linux offre un support matériel nettement meilleur, surtout pour le matériel grand public : GPU, cartes WiFi, Bluetooth, ordinateurs portables récents. L'écosystème de pilotes de Linux éclipse celui de FreeBSD. Si vous utilisez du matériel serveur récent de grands constructeurs, le support FreeBSD est généralement correct. Sur du matériel bas de gamme ou de bureau, vous tomberez sur des trous dans les pilotes.
Écosystème de conteneurs. Docker, Kubernetes et toute la pile cloud-native supposent Linux. FreeBSD dispose des jails (probablement une meilleure isolation), mais l'écosystème (outils d'orchestration, registres de conteneurs, pipelines CI/CD) attend des conteneurs Linux. Faire tourner un cluster Kubernetes sous FreeBSD est techniquement possible, mais pénible en pratique.
Support cloud. AWS, GCP et Azure proposent tous FreeBSD comme image de VM, mais les outils par défaut, la documentation et les services managés supposent Linux. Le « chemin de moindre résistance » dans n'importe quel environnement cloud reste Linux.
Vivier de compétences et recrutement. Trouver des développeurs ayant de l'expérience avec FreeBSD est plus difficile que trouver des profils Linux. La plupart des cursus en informatique enseignent Linux. La plupart des outils DevOps supposent Linux. Choisir FreeBSD, c'est former votre équipe sur une plateforme peu familière.
L'étude de cas Netflix
Open Connect, le CDN de Netflix, est l'histoire de réussite emblématique de FreeBSD. Netflix sert environ un tiers du trafic internet américain aux heures de pointe, et le fait depuis des appliances basées sur FreeBSD déployées directement dans les réseaux des FAI.
Netflix a choisi FreeBSD pour des raisons techniques précises : sa pile réseau gérait mieux le TLS à haut débit que Linux à l'époque, ZFS offrait un stockage local fiable avec des garanties d'intégrité des données, et la licence BSD leur permettait de personnaliser le système sans obligations open source. Ils ont malgré tout reversé beaucoup de leurs améliorations à FreeBSD, mais la licence leur a laissé le choix.
Leurs serveurs atteignent une efficacité remarquable : une seule appliance Open Connect basée sur FreeBSD peut servir 400 Gbit/s de vidéo avec du matériel standard. Les optimisations clés (sendfile() avec déchargement TLS, gestion d'événements basée sur kqueue, réglage TCP agressif) sont des fonctionnalités de FreeBSD nées dans ce système ou affinées en premier lieu là-bas.
Faut-il utiliser FreeBSD ?
Pour la plupart des développeurs et la plupart des projets : non. Les avantages de l'écosystème Linux sont trop importants pour être ignorés. Docker, Kubernetes, la plupart des systèmes CI/CD, la plupart des services cloud, la plupart des outils de monitoring fonctionnent au mieux sous Linux. Le choix pragmatique est celui qui bénéficie du plus large support d'outillage.
Mais certains cas d'usage précis font de FreeBSD le meilleur choix.
- Charges de travail très réseau. Si vous construisez un CDN, un proxy, un répartiteur de charge ou tout système qui déplace de gros volumes de trafic réseau, la pile réseau de FreeBSD mérite d'être évaluée.
- Serveurs de stockage. Si les fonctionnalités de ZFS (sommes de contrôle, snapshots, réplication, compression) comptent pour vous, FreeBSD offre la meilleure expérience ZFS.
- Produits embarqués et appliances. Si vous livrez un produit basé sur un OS et que vous voulez éviter les obligations de la GPL, la licence BSD est plus simple pour un usage commercial.
- Apprendre les fondamentaux d'Unix. Le manuel FreeBSD (le FreeBSD Handbook) est l'une des meilleures documentations de système d'exploitation jamais écrites. Si vous voulez comprendre le fonctionnement d'un système Unix depuis les premiers principes, FreeBSD est un excellent environnement d'apprentissage.
FreeBSD ne remplacera pas Linux sur le bureau, dans les conteneurs ou dans le cloud. Mais il n'en a pas besoin. Il occupe une niche précieuse : un OS Unix cohérent, bien conçu, avec des forces techniques spécifiques qui comptent pour des charges de travail précises. Dans un monde où la plupart des développeurs ne voient pas au-delà de Linux, savoir que FreeBSD existe, et comprendre ses forces, est le genre de recul qui aide à prendre de meilleures décisions d'infrastructure.


