Netflix is technologically one of leading Software Companies in the World. They serve their customized homepage in milliseconds, no server outrage can bring Netflix down and much more. In this article, we explored Netflix's approach towards testing framework named Probnik.
Read these to understand how technically advanced Netflix's architecture is:
- How did Netflix become so good at DevOps by not prioritizing it?
- How Server Outrage did not impact Netflix
Probnik is Netflix's testing framework which is used in production. It helps Netflix to
Following are the major points on Probnik:
Probnik is a simple but powerful measurement framework, allowing you to compare various alternatives for your network configuration from your clients. It is easy to integrate into your application, perform tests in the background, and get results analysis upon completion.
Probnik was initially built at Netflix, where a team tasked with improving performance of network requests needed a way to compare performance for current and potential infrastructure. Over time, use cases grew from latency optimization to availability monitoring, traffic modeling and prototyping of various configurations in our client request path.
Probe is a sidecar agent, intended to be deployed as part of your client application. It's goal is to execute a series of "probes" (tests) according to a given test recipe, and report results to a caller.
Recipe provider hands out the test recipe to the Probe. Probnik project only specifies an interface a user needs to follow, with specific Recipes supported by Probe. The mechanics of requesting a recipe configuration to the application depends on a user scenario.
Test targets is a subject being tested. Depending on a test case, it could differ. Examples include an HTTP endpoint, ip address or DNS name. As test target deployment depends on user infrastructure, Probnik does not impose any limitations on deployment or implementation of test targets.
Once a Probe completes execution of a test recipe, it provides Probe Report to a caller. In a typical scenario, a client would then send the test report to an analytics system for analysis.
A great thing, probnik is Open Source. You can use it to test your systems too.
With this, you must have understood how important is a test framework and innovative ideas that can revolutionize the domain.