Serving Netflix Video Traffic at 400Gb/S and Beyond (2022) [pdf](nabstreamingsummit.com) |
Serving Netflix Video Traffic at 400Gb/S and Beyond (2022) [pdf](nabstreamingsummit.com) |
KTLS is mostly useful if paired with sendfile (I'm ignoring io_uring because I'm not as up to date on that). Otherwise you have to context switch back to userspace constantly.
@drewg123 starts discussing this section at 4:21 in the presentation: https://www.youtube.com/watch?v=WzfADu1qyAM&t=261 ("we had this mandate that we had to start encrypting communications between our servers and our clients")
Netflix announced the change in 2016, citing viewer privacy from eavesdropping: https://netflixtechblog.com/protecting-netflix-viewing-priva...
However, it looks like in 2015 (at iOS 9.0 / macOS 10.11) Apple began requiring that network connections made by apps use TLS. While exceptions are allowed, including for media streaming, they are discouraged and require a justification for App Store review: https://developer.apple.com/documentation/security/preventin...
1. When Netflix is using these specialized NICs, doesn't Netflix use AWS, so would that mean that they can add their own specialized hardware in AWS DC's (so is it co-location?) or does AWS natively support these NIC's
2. Considering this is Netflix whose whole architecture is to optimize for Videos, is this the correct architecture stack for video CDN's, if so, then does Youtube or cloudflare or any platform which also has video CDN at scale also do something similar to what Netflix is doing?
3. Seeing the amount of architectural optimizations, why doesn't netflix have their own DC's instead of Amazon, saturating a 400 Gb/s would lead to some massive bills (I have heard that Amazon makes more from Netflix than their own video service), now I understand that there are lock-ins in using AWS and AWS offered scaling that Netflix needed back then and its a more symbiotic relationship where both parties benefit from one other but seeing this level of optimization problems, I feel like wouldn't Netflix also benefit from something about leaving AWS and then having more freedom overall too? I would love to know more reasoning of it.
4. Does anybody have more resources like these pdf's that I can read about how companies optimize things, I am interested in almost anything about optimization like for example, I would be interested in reading about google's architecture decisions but also the fact that Jane street uses custom FGPA's for their high frequency trading.
5. let's say, I am interested in finding the job/contracts to be the guy who wishes to fix these problems. So how do I establish myself in such optimization to be "the guy", and also, to gain the expertise needed, I suppose I would need to test things out which might require specialized hardware etc. (which would be capital intensive), are there things that I can test without too much capital needed yet still gain some skills in this area because it just fascinates me!
Thanks for reading and I would love to get answers, Thanks and have a nice day!
1. Netflix does use AWS but it's far more economical for them to embed content caches/servers within ISP networks so that it relies solely on the ISPs network. All major CDN-like providers (Apple with their Edge Cache, Google with their GCC) offer embedded caches which tend to make a lot of sense at sufficient ISP scale (# of users). It's a misconception or just journalistic misunderstanding that everything Netflix runs is from AWS. Content delivery is the large majority of Netflix's outbound traffic. It also removes the reliance of Netflix to run in inordinately large backbone to serve content.