What Operating System Does Netflix Use?
Netflix runs two operating systems in production: Linux on its Amazon Web Services fleet and FreeBSD on the Open Connect appliances that deliver the video. There is no "Netflix OS". If you are asking whether you can watch Netflix on Linux, the answer is yes, in Chrome or Firefox, at 720p by default.
This page answers both questions, because searches for "Netflix Linux" come from viewers as often as from engineers. The server facts come from the Netflix Technology Blog and the Open Connect documentation.
Linux on the AWS control plane
Everything except video delivery runs on Linux inside AWS: sign-in, the catalog, billing, recommendations, and the API layer. Netflix builds its own base machine image, which its engineering posts describe as Ubuntu-based, and every service is deployed from that image or in a container on top of it.
Most services now run in containers. Netflix's container platform is called Titus, and Netflix has described moving Titus onto Amazon EKS, Amazon's managed Kubernetes service. Kubernetes is the open source system that schedules containers across a pool of machines. So the answer to "does Netflix use Kubernetes" is yes, through Titus, with Linux as the host operating system.
FreeBSD on Open Connect
The servers that send video to your screen run FreeBSD. Open Connect is Netflix's own content delivery network, a set of storage servers placed inside internet providers' networks and at internet exchange points. Each appliance holds a copy of the most-watched titles for its region and serves them over HTTPS.
Netflix chose FreeBSD for its network stack and has contributed changes to it, including kernel support for encrypting video in flight without copying it through user space. Published Netflix talks describe a single appliance serving several hundred gigabits per second. The web server on each appliance is NGINX.
Operating systems by part of the system
| Part | Operating system | Notes |
|---|---|---|
| Backend services on AWS | Linux (Netflix's own Ubuntu-based image) | Java services, containers on Titus |
| Open Connect appliances | FreeBSD | Video delivery, NGINX, Netflix kernel patches |
| Engineer laptops | macOS mostly, some Linux | Not a production choice |
| Netflix app on TVs | Android TV, Roku OS, tvOS, webOS, Tizen | Netflix ships the app, the maker ships the OS |
| Netflix app on phones | iOS, Android | Native apps |
| Netflix on computers | Windows app, browser on macOS and Linux | No native Linux app |
Watching Netflix on Linux
Netflix works on Linux in a browser and has no native Linux app. Chrome and Firefox both include Widevine, the Google copy-protection module that Netflix requires, so playback works after you accept the DRM prompt once. Ubuntu, Fedora, Debian and other mainstream distributions are all fine.
The limits are on resolution, not on whether it works.
- 720p is the default in Chrome and Firefox on Linux. Netflix caps browser playback that uses software Widevine at 720p, and that is also the cap on Windows and macOS in the same browsers.
- 1080p is possible with a browser extension that asks Netflix for the higher profile. It requires a plan that includes HD.
- 4K is not available on Linux. Netflix serves 4K only to players with hardware-backed DRM, such as the Windows app on supported hardware, Safari on recent Macs, and television apps.
- Chromium builds without Widevine will not play Netflix. Use the official Chrome package or Firefox if your distribution's Chromium lacks the module.
Kodi and other media centers have community plugins that log in to Netflix, but Netflix does not support them and they can stop working after a Netflix change.
What servers Netflix uses
Netflix owns no data centers for its streaming service. Compute runs on AWS EC2 instances across several regions, storage is on Amazon S3, and the only hardware Netflix builds is the Open Connect appliance. Netflix does not publish a server count.
The split between the two operating systems follows the workload. Linux on AWS suits a fleet that scales up and down by the hour. FreeBSD on fixed appliances suits a workload that does one thing, reading files from disk and pushing them onto the network, as fast as the hardware allows.
Why this matters in a system design interview
Interviewers who ask you to design a video streaming service want the same split. Put the control plane, meaning user accounts and the catalog, on general cloud servers. Put the data plane, meaning the video bytes, on a CDN close to viewers. Netflix is the standard example because it built both layers and wrote about them.
How to Prepare
- Learn the CDN and caching material before the interview. Grokking System Design Fundamentals covers CDNs, load balancing and caching in plain steps.
- Practice the full streaming design question. Grokking the System Design Interview includes video streaming among its case studies.
- Work through the Netflix design itself. See designing a Netflix-like streaming service.
- Know what the Netflix API layer does. See does Netflix use an API.
- If you are interviewing at Netflix, read the process first. See Netflix's interview process for software engineers.

GET YOUR FREE
Coding Questions Catalog

$98

$197

$72