Netflix Open Sources Another Time-Tested Tool
We've reported before on Netflix open sourcing a series of interesting "Monkey" cloud tools as part of its "simian army," which it has deployed as a series satellite utilities orbiting its central cloud platform. These utilities are notable because they have been tested and hardened at Netflix. The company has also recently open sourced some machine learning tools.
Now, in its latest open source move, Netflix is contribution what it calls a "traffic intuition tool" called Vizceral. This was previously called Flux, and here is more on it.
"Vizceral transformed the way we understand and digest information about the state of traffic flowing into the Netflix control plane. We wanted to be able to intuit decisions based on the holistic state of the system. To get that, we needed a tool that gives us an intuitive understanding of the entire system at a glance. We can’t afford to be bogged down in analysis of quantitative or numerical data, or otherwise ‘parse’ the information in a typical dashboard. When we can apply an intuitive approach instead of relying on the need to parse data, we can minimize the time an outage impacts millions of members. We call the practice of building these types of systems Intuition Engineering. Vizceral is our first, flagship example of Intuition Engineering.
Here are four repos that we are open sourcing:
- vizceral: The main UI component that lets you view and interact with the graph data.
- vizceral-react: A react component wrapper around vizceral to make it easier to integrate the visualization into a react project.
- vizceral-component: A web component wrapper around vizceral to make it easier to integrate the visualization into a project using web components.
- vizceral-example: An example project that uses vizceral-react and sample data as a proof of concept and a jumping off point for integrating the visualization into your own data sources.
The component takes a simple JSON definition of graph data (nodes and connections) with some metrics and handles all of the rendering.
Internally at Netflix, we have a server-side service that gathers data from Atlas and our internal distributed request tracing service called Salp. This server-side service transforms the data into the format needed for the Vizceral component and updates the UI via web sockets. We separated the logic into the distinct parts of Vizceral and the server-side service so that we can reuse the visualization with any number of data sources."
The best way to visualize what Vizceral does is to walk through the screenshots and videos found here.
"On the Traffic and Chaos Teams at Netflix, our mission requires that we have a holistic understanding of our complex microservice architecture," wrote Netflix developers as they created Flux, which gave birth to Vizceral.
If you haven't taken a look at Netflix's other recently open sourced tools, see our previous post here.