Netflix & Amazon Web Services

Cloud services are all around us these days and we use them all the time. Do you use Yelp! or on your Android or iPhone? Do you know it uses Amazon Web Services (AWS – an Infrastructure as a Service cloud offering)? Let’s go bigger … How about Netflix instant streaming? It ALSO uses AWS, since late 2009 in fact. Netflix was founded in 1997 and started as a small, mail-DVD-to-you service. Then in 1999, Netflix began digital content streaming. Within 10 years, the number of subscribers exploded to 10 million. And today … over 33 million! How do you deal with that kind of expansion and data center scaling? Furthermore, why Amazon? Their own streaming video service, Amazon Instant Video, launched in 2006. Why give business to your, arguably, biggest rival? There are other cloud providers: Azure and Rackspace to name a couple. Why give your competition business? Presumably, during a proof of concept phase, AWS supported most or all of their use cases at a good price. Turns out, this relationship isn’t as weird as it seems. After all, many retailers run some, or their entire, infrastructure on AWS, all of which are in direct competition with Amazon. The way this works is Amazon manages and maintains its AWS infrastructure separately from their other offerings.

For Netflix, moving to the cloud was a logical choice. The usual option is to build more and larger data centers or get REALLY creative about your current centers to cope with the amount of growth. With this of course comes the responsibility supporting these data centers. The cost of construction, maintenance, hardware, support staff, and infrastructure is enormous and is usually out of the question for all but the largest businesses. The impact to business is huge so this typically means small businesses move to managed services to meet their needs and the cloud makes sense and has a whole host of other benefits. The “can’t someone else do it” mentality really makes sense. The costs are drastically lower, the solutions are scalable and flexible, and deployment can be nearly instantaneous. Cloud-based solutions are well suited for rapid prototyping and can be modified very quickly. This all plays well into Netflix’s strategy going forward. What do they have to say about AWS and cloud computing in general?

  1. We needed to re-architect, which allowed us to question everything, including whether to keep building out our own data center solution.
  2. Letting Amazon focus on data center infrastructure allows our engineers to focus on building and improving our business.
  3. We’re not very good at predicting customer growth or device engagement.
  4. We think cloud computing is the future.

So what’s next? Netflix is probably the most visible customer of AWS out there but you probably wouldn’t notice just by going to Netflix.com except for the occasional regional identifier on some pages, us-east-1 in my case. Despite large and increasing content licensing costs Netflix continues to expand its offerings. And due to these costs, running on an AWS infrastructure continues to benefit Netflix. Not only does the pay-per-use model mean Netflix can run according to its need and only pay for what it runs (called variable cost), but another important aspect of how AWS works is continuing to keep those costs low and on a gradual decline. Known as economies of scale, Amazon must increase the size of its AWS infrastructure to keep pace with customer demand. A larger infrastructure means being able to reach more customers and improve/create services and features to support these new customers. Thanks to increasing infrastructure size and service innovation, the per unit cost is goes down and customers, both new and existing, see the decreased cost as savings.

Unfortunately, the Netflix / AWS partnership is not without its hiccups. There have been a handful of highly publicized outages (re: Christmas of 2012). In some future postings we will discuss some implications and “gotchas” of running in the cloud as well as looking into what Netflix has learned during its run on AWS.