Netflix detailed Monday how the simple process of pressing play to launch a video requires a whole smorgasbord of administrator activities pertaining to DRM licensees, contract evaluations, and choosing the appropriate content delivery network (CDN), among others. To help automate these activities, the company updated its Playback Service–the internal name of Netflix’s system used to ensure quality video streaming–with technology that can split up complex tasks into smaller tasks.
At the core of the updated Playback Service, Netflix engineering manager Nicholas Eddy wrote, is the use of self-assembling components that are used to handle the tons of traffic Netflix gets on a daily basis. As Netflix has continued to grow in popularity and traffic, the company needed to update Playback Service as it was “showing signs of stress.”
Operating under the software engineering design principle of separation of concerns, which pretty much means that a software system should be composed of many different parts with little overlap between them, Netflix built its revamped service using building blocks it calls processors (not chips, mind you); these allow for the company to cut up various tasks and calculations in a way so the total product does not get impacted.
What makes these processors special is the fact that they can be used to automatically solve small problems in the service’s back end. The company’s assembler mechanism can then stitch together these multiple tasks into one big system.
From the blog post:
The processors triggered for some inputs is an emergent property of the complete set of processors within the system. An assembler mechanism exists to determine when each processor can participate in the computation. It makes this decision at runtime, allowing for a fully dynamic wiring for each request. As a result, processors can be organized in any way and do not need to be aware of each other. This makes their functionality easier to add, remove, and update than conventional mechanisms like switch statements or inheritance; which are statically determined and more rigidly structured.
In short, the processors coupled with Netflix’s assembler mechanism can supposedly take some pressure off of an engineer, who can now dedicate his time to larger issues.
Netflix plans on explaining more of how the Playback Service works in further posts, especially as it pertains to the concept of self-assembly.
Upgrading and ensuring a smoother streaming experience couldn’t come at a better time for Netflix, who just announced that it will be launching in Germany, France, Switzerland, Austria, Belgium and Luxembourg; it’s been two years since the company last made a big international move.