The biggest cloud app of all: Netflix

The biggest cloud app of all: Netflix

Summary: The largest pure-cloud play service of all is based on Netflix's open-source stack running on Amazon Web Services.

SHARE:

Netflix, the popular video-streaming service that takes up a third of all internet traffic during peak traffic hours isn't just the single largest internet traffic service. Netflix, without doubt, is also the largest pure cloud service.

netflixcloud-620x457
Netflix, with more than a billion video delivery instances per month, is the largest cloud application in the world.

At the Linux Foundation's Linux Collaboration Summit in San Francisco, California, Adrian Cockcroft, director of architecture for Netflix's cloud systems team, after first thanking everyone "for building the internet so we can fill it with movies", said that Netflix's Linux, FreeBSD, and open-source based services are "cloud native".

By this, Cockcroft meant that even with more than a billion video instances delivered every month over the internet, "there is no datacenter behind Netflix". Instead, Netflix, which has been using Amazon Web Services since 2009 for some of its services, moved its entire technology infrastructure to AWS in November 2012.

Specifically, depending on customer demand, Netflix's front-end services are running on 500 to 1,000 Linux-based Tomcat JavaServer and NGINX web servers. These are empowered by hundreds of other Amazon Simple Storage Service (S3) and the NoSQL Cassandra database servers using the Memcached high-performance, distributed memory object caching system. All of this, and more besides, are distributed across three Amazon Web Services availability zones. Every time you visit Netflix either with a device or a web browser, all these are brought together within a second to show you your video selections.

According to Cockcroft, if something goes wrong, Netflix can continue to run the entire service on two out of three zones. Netcraft didn't simply take Amazon's word for this. They tested out total Amazon Elastic Compute Cloud (EC2) failures with its open-source Chaos Gorilla software. "We go around trying to break things to prove everything is resistant to it," said Cockcroft. Netflix, in concert with Amazon, is working on multi EC2 region availability. Once in place, an entire EC2 zone failure won't stop Netflix videos from flowing to customers.

That won't be easy though. It's not so much that the problem is replicating videos and services across the EC2 zones. Netflix already has its own content delivery network (CDN), Open Connect, and servers placed at local ISP hubs for that. No, the real problem is setting the Domain Name System (DNS) so that users are directed to the right Amazon zone when one is down. That's because Cockcroft said, DNS provider wildly different application programming interfaces (API)s, and they're designed to be hand-managed by an engineer and thus are not at all easy to automate.

That isn't stopping Netflix from addressing the problem just because it's difficult. Indeed, Netflix plans on failure. As Cockcroft titled his talk, Netflix is about dystopia as a service. The plan isn't if something will fail on the cloud, it's on how to keep working no matter how the clouds or specific services fail. Netflix's services are designed to, when something go wrong, gradually degrade rather than fail completely.

As he said, sure, perfection, utopia would be great, but if you're always striving for perfection, you always end up compromising. So instead of striving for perfection, Netflix is continuously updating its systems in real time rather than perfecting them. How fast is that? Netflix wants to "code features in days instead of months; we want to deploy new hardware in minutes instead of weeks; and we want to see instant responses in seconds instead of hours". By deploying on the cloud, Netflix can do all of this.

Sure, sometimes, this doesn't work. In December 2012, for example, a failure in AWS's Elastic Load Balancer in the US-East-Region1 datacenter brought Netflix down during the Christmas holiday.

On the other hand, the Netflix method of producing code sooner rather than later, and running in such a way that the service keeps going even though some components are — not may, but are — broken and inefficient at any given time, has produced a service that is capable of being the single largest consumer of internet bandwidth. Clearly, it's not perfect, but Netflix's design decision to "create a highly agile and highly available service from ephemeral and often broken components" on the cloud works, and as far as Netflix is concerned, for day to day cloud-based video delivery, that's much better than "perfection" could ever be.

Related stories

Topics: Cloud, Amazon, Linux, Networking, Open Source, Software Development

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

27 comments
Log in or register to join the discussion
  • Microsoft Silverlight

    I thought Netflix used Microsoft Silverlight?
    reidar76
    • For Microsoft Windows clients, yes...

      Of course Netflix is on most commercial devices which is far more than just Microsoft Windows desktop environments.
      DonRupertBitByte
    • Netflix runs Linux.

      Search Netflix.com on netcraft.com
      Joe.Smetona
      • Joe.Smetona: "Netflix runs Linux"

        From the article:
        "... Netflix's Linux, FreeBSD, and open-source based services are "cloud native."

        And from the Netflix Open Connect Content Delivery Network web site:

        https://signup.netflix.com/openconnect/software
        "Operating System
        "For the operating system, we use FreeBSD version 9.0. This was selected for its balance of stability and features, a strong development community and staff expertise. We will contribute changes we make as part of our project to the community through the FreeBSD committers on our team.

        So, yes, Joe. Netflix uses Linux, but they are are a heavy user of FreeBSD too. Please, get out more Joe. Open-source is bigger than Linux.
        Rabid Howler Monkey
        • Wait WAOH!!

          Maybe i missunderstood you....forgive me if I did
          but FreeBSD is Linux? Since when did the BSD unix turn into Linux? Have I been living in a parallel universe or something?
          blazing_smiley_face
          • IT-world is more and more using Linux/BSD and open source...

            ... and making Microsofti more and more unnecessary and out-of-date.

            It's a shocking reveal for many Windows fanboyz but for us this is just natural evolution of science because after all, Windows ecosystem is Neanderthal.
            MacBroderick
          • Let me get this right....

            Where did Microsoft come into this? Did I ever mention them in my comment? Clearly you're an anti-Microsoft evangelist who trolls other people's legitimate comment spewing your vyle drivel.

            The last time I checked Microsoft had a whopping quarter they're far from being irrelevant or "is Neanderthal" according to you.

            Another point: a lot of companies use Linux/BSD not because its better but just because its more cost effective for them to do so.

            I use what works for me and if the Microsoft ecosystem is the better choice for me then that's where I'll be. I don't need to be a fanboy or anything of the sort. So please next time don't troll my comment. If you don't have anything better to say than to bring up some anti-Microsoft crap then keep your comment to yourself. Its that simple, it's not that hard to do.
            blazing_smiley_face
          • Are you trying to convince us, or yourself, MacBroderick?

            Sounds like you really don't believe what you just posted.

            Someone secure with their choices, someone who believes in their choices doesn't feel the need to justify those choicers to anyone, as you are trying to do.

            All I got out of it was - "IT-world is more and more using Linux/BSD and open source...

            though not to any degree that makes Microsoft unnecessary or out-of-date.

            It's not a shocking reveal for many Windows users, that the Windows ecosystem is massive, and I'm not sure if going all Linux is really the great idea I had believed"
            William Farrel
          • Where did you read FreeBSD is Linux, blazing_smiley_face?

            Certainly not in Rabid Howler Monkey's post.
            Clearly you're an anti-Linux evangelist who trolls other people's legitimate comments spewing your vile drivel.
            anothercanuck
        • Have you ever used FreeBSD? I have.

          My comment is based on netcraft.com which chooses to show Linux, where even Bing.com uses Linux.

          Well, obviously, no one I check on Netcraft is using Windows anymore.
          Joe.Smetona
          • Also, I used UNIX in the early '80's on an Intergraph Interact CAD station.

            http://www.dope.org/~reboots/projects/ia32c.html

            Unix, Linux and BSD are related and very closely. UNIX was running on a DEC VAX and provided the same look, feel, stability found in today's modern Linux.

            For all intents and purposes, using FreeBSD is the same as using Linux. Have you ever tried Free BSD?

            http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html
            Joe.Smetona
          • You don't need AV for BSD either.

            ....
            Joe.Smetona
          • I have used it...

            ...but i didn't find much advantage compared with Linux. However i'm eager to test and use it later. Perhaps their desktop OS would not eat so much disk space...
            MacBroderick
          • Stop lying right this minute with your FUD and propaganda

            I would have no problem if you actually telling the truth but I just checked netcraft bing.com and its shows bing uses Microsoft server. So maybe I did something wrong or used netcraft wrong but please show me where it says bing is using Linux. Thanks.
            blazing_smiley_face
          • The CDN Bing uses employs Linux

            Bing itself runs on Windows servers, but the Akamai CDN that everyone actually connects to runs on Linux servers. I don't believe there's any CDN out there that runs on Windows, though you actually CAN setup a primitive CDN using IIS with modules like ARR etc.

            The Netflix CDN runs FreeBSD, while their origin servers run Linux ... analogous situation.
            daboochmeister
          • As far as I know

            Microsoft builds their own cdn. I've done a fast check online to see what platform Microsoft cdn runss on and all I've seen is they run it on windows azure, and other Microsoft data centers. So please help me out in finding the right answer. I don't like to have bad info
            blazing_smiley_face
          • It depends, blazing_smiley_face

            "bing.com" shows Windows server 2008, but "www.bing shows" linux, though likely Akamai Technologies's web facing servers.
            William Farrel
          • Well of course, Joe

            "Well, obviously, no one I check on Netcraft is using Windows anymore"

            As long as you stick to searching on know Linux users, of course you'll never see Windows servers. :-)
            William Farrel
  • Just think how much less hardware and money it would take to run the

    equivalent on Azure. And how much more reliable it would be. Wow. But I'm sure amazon appreciates the extra cash even if they are burning a lot of it on electricity.
    Johnny Vegas
    • Just think how many less posts there would be

      if people had to actually present facts to backup their wild-eyed assertions.

      Any facts at all underlying that assertion? You're not going by that "Azure is x% faster" thing, are you? There's SO many apples-to-pianos comparisons in that study ...
      daboochmeister