Cloud Computing Done the Netflix Way

05.04.2012

Netflix's business is growing rapidly and experiences very uneven demand (highly skewed toward evenings, when, by some accounts, its video streaming service ). In this kind of environment, Netflix didn't want to experience service interruptions due to its inability to build data centers fast enough.

Even though Netflix is a highly technical organization, it wasn't as good as Amazon when it came to automating data-center operations. Rather than try to replicate that ability, Netflix chose to leverage a highly efficient, low-cost expert provider.

What's interesting is how Netflix goes about creating and running its environment.

Like a lot of online companies, it has blurred the concept of "release to production." In fact, as I interpret Cockcroft's presentation, it has blurred the concept of release. Rather than a release being a static collection of bits that are moved from one lifecycle stage to another, an application is composed of many, many fine-grained services. Each release may be thought of as a collection of services at a given point in time.

This implies that each service must deliver high availability and be failure-resistant. In some sense, the Netflix architecture represents the apotheosis of SOA, with all the associated "abilities" that such an architecture carries -- reliability, manageability, etc. For example, given that underlying infrastructure is fragile, the services are implemented with redundancy, failover and automatic restart.