How Netflix Builds High Performance Applications at Global Scale
ScyllaDB
926 views
41 slides
Jul 01, 2024
Slide 1 of 41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
About This Presentation
We all want to build applications that are blazingly fast. We also want to scale them to users all over the world. Can the two happen together? Can users in the slowest of environments also get a fast experience? Learn how we do this at Netflix: how we understand every user's needs and preferenc...
We all want to build applications that are blazingly fast. We also want to scale them to users all over the world. Can the two happen together? Can users in the slowest of environments also get a fast experience? Learn how we do this at Netflix: how we understand every user's needs and preferences and build high performance applications that work for every user, every time.
Size: 4.18 MB
Language: en
Added: Jul 01, 2024
Slides: 41 pages
Slide Content
How Netflix Builds High Performance Applications at Global Scale Prasanna Vijayanathan Senior Software Engineer at Netflix
Prasanna Vijayanathan ( he/him ) Senior Software Engineer at Netflix Something cool I’ve done My perspective on P99s Another thing about me What I do away from work
Your app (phone, browser, TV, multiverse?)
Your app (phone, browser, TV, multiverse?)
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users
Understanding your application Observability and monitoring
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users Errors, latency
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users Errors, latency Tracking
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users Errors, latency Tracking
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users Errors, latency Tracking
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users Errors, latency Tracking
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users Errors, latency Tracking
User Experience
Your infrastructure Your app (phone, browser, TV, multiverse?) Reverse proxy/load balancer Data Microservices CDNs Users
Your app (phone, browser, TV, multiverse?) Users Engagement Sessions Time spent on app Environment Platform Device capabilities Network conditions Experience Time to load the app Time to render Video quality
Diversity in devices Web Mobile TV Other devices (VR, Watches, Glasses,..) Platform Crashes and errors Storage Buffering Memory CPU/GPU Energy consumption Computing and efficiency
Diversity in network Ethernet, Fiber, WiFi, 4G, 5G Type of Network 1000s of providers different plans ISPs bandwidth, throughput, errors Factors impacting networks
Diversity in Users What does the user need from the app? User's needs How does the user expect the app to behave? User's preferences
Consistency of QoE
Consistency of QoE Experience is relative Users like to get expected behavior
Consistency of QoE Provide the expected behavior every time Do better whenever possible
Consistency of QoE How to know what’s expected? User disruptions
User Disruptions Needs & Preferences Environment
Needs & Preferences App improvements New product offerings, features, performance Better feedback Lower support calls Longer sessions, more engagement User Needs & Preferences Distruptions Environment
Environment User Environment Needs & Preferences Device Make/model, platform, memory, CPU Network throughput, latency, errors Others time, location, seasonality Disruptions
User Disruptions Needs & Preferences Environment
How could we do this? QOE models Devices Networks Disruption prediction Transfer learning Learn what’s good and bad for each user
How could we do this? <Demo: building a model with a sample data set>
How could we do this? <Demo: Show using SHAP values for interpretability>
What’s possible? Constant iteration and improvement Automatic feature selection and experimentation The best experience possible, every user, every time.
First Last [email protected] @twitter website/blog url Thank you! Let’s connect.