%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#E50914','primaryTextColor':'#fff','primaryBorderColor':'#B20710','lineColor':'#666','secondaryColor':'#221f1f','tertiaryColor':'#333','background':'#fff','mainBkg':'#E50914','secondBkg':'#f5f5f5','clusterBkg':'#fafafa','clusterBorder':'#ddd','titleColor':'#333','edgeLabelBackground':'#fff','fontSize':'14px'}}}%%
graph TB
subgraph clients["π₯οΈ Client Layer"]
Web["<b>Web Browsers</b><br/><i>React + Redux</i>"]
Mobile["<b>Mobile Apps</b><br/><i>iOS & Android</i>"]
TV["<b>Smart TVs</b><br/><i>Multiple Platforms</i>"]
Console["<b>Game Consoles</b><br/><i>PS, Xbox, Switch</i>"]
end
subgraph edge["βοΈ Edge Layer"]
DNS["<b>Global DNS</b><br/><i>Route Management</i>"]
CloudFront["<b>CloudFront</b><br/><i>Static Assets & APIs</i>"]
end
subgraph gateway["πͺ API Gateway"]
Zuul["<b>Zuul 2.0</b><br/><i>Async Gateway</i><br/>Rate Limiting"]
end
subgraph services["βοΈ Microservices Cluster - AWS"]
UserService["<b>User Service</b><br/><i>Profiles</i>"]
AuthService["<b>Auth Service</b><br/><i>OAuth & JWT</i>"]
RecommendationService["<b>Recommendations</b><br/><i>ML-Powered</i>"]
SearchService["<b>Search</b><br/><i>Real-time</i>"]
PlaybackService["<b>Playback</b><br/><i>ABR Streaming</i>"]
BillingService["<b>Billing</b><br/><i>Subscriptions</i>"]
ContentService["<b>Content Meta</b><br/><i>Catalog</i>"]
end
subgraph storage["πΎ Data Storage Layer"]
Cassandra[("<b>Cassandra</b><br/><i>NoSQL</i><br/>User Data")]
MySQL[("<b>MySQL</b><br/><i>RDBMS</i><br/>Billing")]
ElasticSearch[("<b>ElasticSearch</b><br/><i>Search Index</i>")]
S3[("<b>S3</b><br/><i>Object Store</i><br/>Video")]
EVCache["<b>EVCache</b><br/><i>In-Memory</i><br/>Cache"]
end
subgraph streaming["πΊ Streaming Infrastructure"]
OpenConnect["<b>Open Connect</b><br/><i>Custom CDN</i>"]
ISP["<b>ISP Locations</b><br/><i>Edge Servers</i>"]
Encoder["<b>Encoding</b><br/><i>Multi-Quality</i><br/>AV1/H.265"]
end
subgraph bigdata["π Big Data & ML Pipeline"]
Kafka["<b>Apache Kafka</b><br/><i>Event Stream</i>"]
Spark["<b>Apache Spark</b><br/><i>Processing</i>"]
Hadoop["<b>Data Lake</b><br/><i>S3-based</i>"]
ML["<b>ML Models</b><br/><i>TensorFlow</i><br/>Personalization"]
end
Web -.->|Static| CloudFront
Mobile -.->|Static| CloudFront
TV -.->|Static| CloudFront
Console -.->|Static| CloudFront
DNS ==>|API Route| Zuul
DNS ==>|Playback| OpenConnect
Web -.->|API| Zuul
Mobile -.->|API| Zuul
TV -.->|API| Zuul
Console -.->|API| Zuul
Web -.->|Video| OpenConnect
Mobile -.->|Video| OpenConnect
TV -.->|Video| OpenConnect
Console -.->|Video| OpenConnect
Zuul ==>|HTTPS| UserService
Zuul ==>|HTTPS| AuthService
Zuul ==>|HTTPS| RecommendationService
Zuul ==>|HTTPS| SearchService
Zuul ==>|HTTPS| PlaybackService
Zuul ==>|HTTPS| BillingService
Zuul ==>|HTTPS| ContentService
UserService -->|Query| Cassandra
UserService -->|Cache| EVCache
AuthService -->|Verify| Cassandra
RecommendationService -->|Read| EVCache
RecommendationService -->|Predict| ML
SearchService -->|Index| ElasticSearch
BillingService -->|ACID| MySQL
ContentService -->|Meta| Cassandra
PlaybackService ==>|Stream| OpenConnect
OpenConnect ==>|Deliver| ISP
S3 -->|Source| Encoder
Encoder ==>|Push| OpenConnect
UserService -.->|Events| Kafka
PlaybackService -.->|Telemetry| Kafka
RecommendationService -.->|Metrics| Kafka
Kafka ==>|Process| Spark
Spark -->|Store| Hadoop
Spark ==>|Train| ML
ML ==>|Serve| RecommendationService
classDef clientStyle fill:#E50914,stroke:#B20710,stroke-width:3px,color:#fff,rx:10,ry:10
classDef edgeStyle fill:#333,stroke:#666,stroke-width:2px,color:#fff,rx:10,ry:10
classDef serviceStyle fill:#0071eb,stroke:#005bb5,stroke-width:2px,color:#fff,rx:10,ry:10
classDef storageStyle fill:#16a34a,stroke:#15803d,stroke-width:2px,color:#fff,rx:10,ry:10
classDef streamStyle fill:#7c3aed,stroke:#6d28d9,stroke-width:2px,color:#fff,rx:10,ry:10
classDef dataStyle fill:#f59e0b,stroke:#d97706,stroke-width:2px,color:#fff,rx:10,ry:10
class Web,Mobile,TV,Console clientStyle
class DNS,CloudFront,Zuul edgeStyle
class UserService,AuthService,RecommendationService,SearchService,PlaybackService,BillingService,ContentService serviceStyle
class Cassandra,MySQL,ElasticSearch,S3,EVCache storageStyle
class OpenConnect,ISP,Encoder streamStyle
class Kafka,Spark,Hadoop,ML dataStyle
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#E50914','primaryTextColor':'#fff','primaryBorderColor':'#B20710','lineColor':'#666','fontSize':'14px'}}}%%
graph LR
subgraph resilience["π‘οΈ Resilience & Traffic Control"]
ConcurrencyLimits["<b>Adaptive Concurrency</b><br/><i>Load Shedding</i><br/>Concurrency Limits"]
ServiceMesh["<b>Service Mesh</b><br/><i>Envoy/Prana</i><br/>Traffic Shaping"]
Eureka["<b>Service Registry</b><br/><i>Eureka</i><br/>Discovery"]
end
subgraph observability["π Observability Stack"]
Atlas["<b>Atlas</b><br/><i>Metrics</i><br/>Time-series DB"]
Mantis["<b>Mantis</b><br/><i>Stream Processing</i><br/>Real-time Analytics"]
Trace["<b>Distributed Tracing</b><br/><i>Request Tracking</i><br/>Latency Analysis"]
end
subgraph deployment["π Deployment Pipeline"]
Spinnaker["<b>Spinnaker</b><br/><i>CD Platform</i><br/>Multi-cloud"]
Titus["<b>Titus</b><br/><i>Container Mgmt</i><br/>EC2 Orchestration"]
Chaos["<b>Chaos Engineering</b><br/><i>Chaos Monkey & ChAP</i><br/>Resilience Testing"]
end
Eureka ==>|Discovery| ServiceMesh
ServiceMesh ==>|Policies| ConcurrencyLimits
ConcurrencyLimits -.->|Signals| Atlas
Atlas ==>|Streams| Mantis
Trace -.->|Feeds| Mantis
Spinnaker ==>|Deploys| Titus
Chaos -.->|Tests| Titus
Titus -.->|Metrics| Atlas
classDef resilienceStyle fill:#dc2626,stroke:#991b1b,stroke-width:2px,color:#fff,rx:10,ry:10
classDef observeStyle fill:#8b5cf6,stroke:#6d28d9,stroke-width:2px,color:#fff,rx:10,ry:10
classDef deployStyle fill:#059669,stroke:#047857,stroke-width:2px,color:#fff,rx:10,ry:10
class ConcurrencyLimits,ServiceMesh,Eureka resilienceStyle
class Atlas,Mantis,Trace observeStyle
class Spinnaker,Titus,Chaos deployStyle
Netflix supports multiple platforms including web browsers, mobile apps (iOS/Android), smart TVs, gaming consoles, and streaming devices. Each client is optimized for its platform while maintaining consistent user experience.
Open Connect appliances positioned inside partner ISPs carry the bulk of video delivery, while global DNS steers devices to the closest healthy edge. AWS CloudFront augments this for static assets, images, and some API acceleration rather than serving primary streaming traffic.
Zuul acts as the front door for all requests, handling dynamic routing, monitoring, security, and resilience. It routes requests to appropriate microservices and applies cross-cutting concerns like authentication, rate limiting, and request filtering.
Netflix pioneered microservices at scale with hundreds of services:
Netflix uses polyglot persistence:
Open Connect is Netflixβs primary CDN with appliances placed in ISP data centers worldwide. Video encoding creates multiple quality versions (4K to mobile) using adaptive bitrate streaming, and content is pre-positioned near users for optimal performance.
Netflix now emphasizes adaptive protection layers:
This architecture enables Netflix to stream billions of hours of content monthly while maintaining high availability and delivering personalized experiences at massive scale.