Forgot your password?
typodupeerror
Cloud Open Source Software Hardware IT

Netflix Gives Data Center Tools To Fail 75

Posted by timothy
from the because-the-fan-is-dirty dept.
Nerval's Lobster writes "Netflix has released Hystrix, a library designed for managing interactions between distributed systems, complete with 'fallback' options for when those systems inevitably fail. The code for Hystrix—which Netflix tested on its own systems—can be downloaded at Github, with documentation available here, in addition to a getting-started guide and operations examples, among others. Hystrix evolved out of Netflix's need to manage an increasing rate of calls to its APIs, and resulted in (according to the company) a 'dramatic improvement in uptime and resilience has been achieved through its use.' The Netflix API receives more than 1 billion incoming calls per day, which translates into several billion outgoing calls (averaging a ratio of 1:6) to dozens of underlying systems, with peaks of over 100,000 dependency requests per second. That's according to Netflix engineer Ben Christensen, who described the incredible loads on the company's infrastructure in a February blog posting. The vast majority of those calls serve the discovery user interfaces (UIs) of the more than 800 different devices supported by Netflix."
This discussion has been archived. No new comments can be posted.

Netflix Gives Data Center Tools To Fail

Comments Filter:
  • by interkin3tic (1469267) on Tuesday November 27, 2012 @01:30PM (#42106829)
    But they can't possibly manage to bring it to Linux.
  • by concealment (2447304) on Tuesday November 27, 2012 @01:31PM (#42106839) Homepage Journal

    One of the best changes in "design philosophy" that has happened in the past 20 years is that instead of the idea of any product as a fortress that cannot fail, products are designed to expect their components to fail, and to recovery gracefully from it.

    This leads to a more flexible and resilient product. It reminds me of the military approach, where every system has at least two backups or alternates.

  • by curunir (98273) * on Tuesday November 27, 2012 @01:48PM (#42106983) Homepage Journal

    Your critique seems overly simplistic. An HTTP load balancer is great for HTTP calls, but not everything in a complex infrastructure is HTTP. There's queues, data stores, caches, RPC, FileSystem access (SAN, NAS or local) and more that shouldn't run behind an HTTP interface. This tool helps solve the problem and gives you health check monitoring and metrics in the process. On initial inspection, my only complaint is that it requires too much modification of application code, however it seems like it should be pretty simple to integrate with the various IoC frameworks to use AOP proxies to apply the tool declaratively based on annotations.

    And you do realize that you followed up a weak critique of a backend scalability tool with a critique about a failing of their front-end application, right? What relevance does that have?

  • by Anonymous Coward on Tuesday November 27, 2012 @02:31PM (#42107443)

    (Netflix employee here, so forgive the AC)

    We don't use GPL code (and, assuming we were using GPLv2 code, given that we don't ship out server code, we wouldn't need to share it anyway), but:

    1. Netflix uses a ton of open-source technology. It's nice to be polite and give back;
    2. It's good publicity, which helps when we recruit people (which is something we do all the time);
    3. If it's good, then we'll have other people contribute to the software engineering efforts, which lowers the cost we pay to maintain and improve the software;

As the trials of life continue to take their toll, remember that there is always a future in Computer Maintenance. -- National Lampoon, "Deteriorata"

Working...