Maybe of their traffic, but not their infrastructure.
Netflix rents 300,000 CPUs on AWS just for video encoding. Encoding one TV series produces over 1,000 files that sit on S3, ready for those PoPs to pull them in and cache them.
They also do more data processing, analytics and ML than most people realize and that's all happening on AWS.
For example, not only are each user's recommendations personalized, but all of the artwork is personalized too. If you like comedy, the cover art for Good Will Hunting may be a photo of Robin Williams. If you like romance, the cover art for the same movie may be a photo of Matt Damon and Minnie Driver going in for a kiss.
They're also doing predictive analytics on what each person will want to watch tomorrow in particular. Every evening, all those non-AWS servers go ask AWS what video files they should download from S3 to proactively cache the next day of streaming.
> Netflix rents 300,000 CPUs on AWS just for video encoding.
I'm finding this hard to believe, and back of the envelope calculations don't make it look any more plausible. (Netflix gets maybe 20 hours of content per day, can smooth out any spikes over very long periods of time, and shouldn't need more than maybe a dozen different versions. There's just no way I can see how you'd need 300k cores for that amount of transcoding). Do you happen to have a source?
Thanks. The numbers still aren't lining up for me, but guess it can't be helped :)
They're saying that encoding a season of Stranger Things took 190k CPU-hours. That's about 20k CPU-hours per one-hour episode. If they need 300k cores round the clock, that implies they're encoding 360 hours of content every day (300k*24/20k=360). To a Netflix customer, it seems pretty obvious they don't have 360 hours of new content coming in daily.
I wonder if there is any discussion of whether they could make it cheaper with Google’s compression ASICs, which I assume will be a cloud service at some point.
Amazon offers something not has fancy (but maybe more flexible?)
VT1 instances can support streams up to 4K UHD resolution at 60 frames per second (fps) and can transcode up to 64 simultaneous 1080p60 streams in real time.
One thing is that a place like netflix has got to have a LOT of target formats (think of range of devices netflix delivers to). ASICS sometimes struggle when faced with this needed flexibility.
You’re thinking like an engineer. A business person would just ask for a discount (which I’m sure they do) and constantly renegotiate. Don’t forget the financing of on premise and data centre workers and how that looks on your balance sheet.
The load is emphatically not constant though? Encoding has to be done once, as fast as possible, and updated rarely. That warehouse (or just aisle) of racks would be sitting idle much of the time…