Menu
Dev.to #systemdesign·August 11, 2026

Netflix's Two-Plane Architecture: Control vs. Data Plane for Streaming

Netflix's streaming architecture exemplifies a powerful system design principle: separating the control plane from the data plane. This article explains how Netflix uses AWS for its intelligent, low-bandwidth control plane (authentication, entitlement, stream selection) and its custom-built Open Connect CDN for the high-bandwidth, edge-located data plane (video byte delivery), enabling scalability, performance, and resilience.

Read original on Dev.to #systemdesign

The Core Principle: Control Plane vs. Data Plane

Netflix's streaming infrastructure fundamentally separates concerns into two distinct planes: a control plane and a data plane. This separation is not just an arbitrary architectural choice but a deliberate strategy to optimize for different requirements, addressing issues of elasticity, cost, and proximity to the user.

  • Control Plane (AWS): Handles all "before playback" logic, including user authentication, entitlement checks, video/audio stream selection, and determining the nearest and healthiest content delivery nodes. These requests are typically small, bursty, and require significant computational flexibility, making AWS microservices an ideal host.
  • Data Plane (Open Connect): Responsible for the actual delivery of video bytes. Netflix developed its own Content Delivery Network (CDN), Open Connect, which deploys servers (Open Connect Appliances or OCAs) directly within Internet Service Provider (ISP) networks globally. This ensures heavy video streams are served from locations physically close to the end-user, minimizing latency and cost.
💡

The Key Takeaway

The most significant architectural decision is that video streams never originate directly from AWS. AWS provides the "map" (a list of Open Connect URLs), but the "movie" itself streams from the localized OCAs. This offloads the massive bandwidth requirements from the central cloud infrastructure to the distributed edge network.

Step-by-Step Playback Workflow

  1. Client Request to AWS: When a user presses Play, a small request goes to the AWS-hosted control plane. This verifies the user, checks viewing rights, selects the appropriate stream, and uses a steering service to identify optimal OCAs.
  2. AWS Response to Client: The control plane responds with a ranked list of Open Connect URLs. This completes AWS's involvement in the immediate playback request.
  3. Client Streams from OCA: The client player then establishes a direct connection to the highest-ranked OCA and pulls the video content. The player can dynamically switch to other URLs in the list if the current OCA experiences degradation, without needing further interaction with AWS.

Architectural Advantages of the Two-Plane Design

  • Optimized Tooling for Different Problems: Elastic microservices on AWS are perfect for complex decision-making, while purpose-built edge caching is ideal for high-volume, low-latency content delivery. Different needs are met with different, optimized solutions.
  • Cost Efficiency and Performance: By pushing petabytes of video data to the edge within ISP networks, Netflix drastically reduces egress costs from AWS and improves streaming performance, especially during peak hours.
  • Reduced Blast Radius: The independence of the control and data planes means that issues in one plane do not necessarily impact the other. A control plane incident won't stop a video already streaming from an OCA. This resilience is further enhanced by stateless services, horizontal scaling, and rigorous chaos engineering practices like Chaos Monkey.

This architectural evolution was not arbitrary; it was a response to scaling challenges and outages, notably a 2008 incident that pushed Netflix to AWS and microservices, and later the creation of Open Connect in 2012. It demonstrates how real-world constraints drive fundamental system design changes.

📌

Applying the Lesson

Many systems inherently have control and data plane characteristics, even if not explicitly designed as such. Think of an API that orchestrates tasks versus the workers that execute heavy payloads, or a metadata service versus a blob storage. Recognizing and intentionally separating these concerns can lead to more scalable, resilient, and cost-effective designs. Consider if your system's "decision layer" could be kept lean and elastic, while the "heavy lifting" or "heavy data" layer is pushed closer to the consumer or handled by specialized infrastructure.

NetflixCDNContent Delivery NetworkAWSMicroservicesSystem ArchitectureScalabilityControl Plane

Comments

Loading comments...