Netflix is open sourcing its libraries for connecting the numerous services it uses on Amazon Web Services to keep its business running. Dubbed Hystrix, the offering is just another example of how Netflix has become the model for how to deploy and maintain a cloud infrastructure.
The Hystrix library controls the interactions between the various distributed services that organizations may use when using a cloud infrastructure. These libraries provide a greater tolerance of latency and failure by isolating points of access between the services. This prevents cascading failures and at the same time provides fallback options, which improves the system’s overall resiliency.
Hystrix is available on GitHub. In the near future, Netflix plans to offer a real-time dashboard for the Hystrix environment.
Hystrix evolved out of the resilient engineering work that the Netflix API team did last year. Through 2012, Netflix developed Hystrix. As it has matured, Hystrix has been adopted internally at Netfix across several of its teams. The blog post about Hystrix states that “tens of billions of thread-isolated and hundreds of billions of semaphore-isolated calls are executed via Hystrix every day at Netflix and a dramatic improvement in uptime and resilience has been achieved through its use. ”
With most companies, I’d take a claim about dramatic improvements with a grain of salt. But Netflix is different when it comes to deploying and maintaining cloud infrastructures. The company’s growing importance as a model for how to manage a cloud infrastructure has had far-reaching impacts.
For example, the Obama campaign depended on Netflix for its own deployments on AWS. The campaign used the full stack at AWS to leverage its speed and agility, and CTO Harper Reed said the campaign deployed hundreds of apps. But AWS does not have a lot of tools to manage infrastructure. So often, Reed said they’d turn to Netflix and its catalog of open-source tools for help.
Hystrix should play a similar role for companies that are building out complex systems on AWS.