As Internet-based companies outgrow their data centers, they’re looking at larger cloud-based infrastructures such as those offered by Microsoft, Google, and Amazon. Last year, Netflix made such a transition when it moved some of its services into Amazon’s cloud.
In a recent interview, Adrian Cockcroft, (@adrianco) cloud architect at Netflix and a speaker at Velocity 2011, talked about what it took to move Netflix to the cloud, why they chose Amazon’s platform, and how the company is accommodating the increasing demands of streaming.
Our interview follows.
Why did Netflix choose to migrate to Amazon’s cloud?
Adrian Cockcroft: We couldn’t build our own data centers fast enough to track our growth rate and global roll out, so we leveraged Amazon’s ability to build and run large-scale infrastructure. In doing that, we got extreme agility. For example, when we decided to test world-wide deployment of services, our developers were immediately able to launch large-scale deployments and tests on another continent, with no planning delay.
What architectural changes were required to move from a conventional data center to a cloud environment?
Adrian Cockcroft: We took the opportunity to re-work our apps to a fine-grain SOA-style architecture, where each developer pushes his own auto-scaled service. We made a clean separation of stateful services and stateless business logic, and designed with the assumption that large numbers of systems would fail and that we should keep running without intervention. This was largely about paying down our technical debt and building a scalable web-based product using current best practices.
What issues are you facing as streaming demand increases?
Adrian Cockcroft: We work with all three “terabit-scale” content delivery networks — Level 3, Limelight, and Akamai. They stream our movies to the end customer, and if there is a problem with one of them, traffic automatically switches to another. We don’t see any limits on how much traffic we can stream. We aren’t trying to feed everyone in the world from a single central point — it’s widely distributed.
Netflix doesn’t ask customers to change much on their side (browsers, speeds, etc.) — how do you achieve this level of inclusivity, and do you see it continuing?
Adrian Cockcroft: We have very wide ranging support for streaming devices and expect this to continue. We are working on the HTML5 video tag standards, which may eventually allow DRM-protected playback of movies on any browser with no plugin. We currently depend on Silverlight for Windows and Mac OS, and we don’t have a supported DRM mechanism for playback on Linux browsers.
For hardware devices, we work with the chip manufacturers to build
Netflix-ready versions of the chipsets used to build TV sets and Blu-ray players. That way we are included in almost all new Internet-connected TV devices.
This interview was edited and condensed.
- Video: Daniel Jacobson on the evolution of Netflix’s API
- Amazon’s cloud platform still the largest, but others are closing the gap
- Why clouds and web services will continue to take over computing
- Reaching the pinnacle: truly open web services and clouds
- Pandora’s ubiquitous platform play