Zuul 2: A new open source cloud gateway from Netflix
Always on the cutting edge of tech, Netflix has made their cloud gateway Zuul 2 open source. What can Zuul do for you?
How does Netflix handle all the requests that come into its cloud infrastructure? Wonder no more. On May 21, 2018 Netflix open sourced their cloud gateway Zuul 2. The Netflix Tech Blog states about this cutting-edge service, “The Cloud Gateway team at Netflix runs and operates more than 80 clusters of Zuul 2, sending traffic to about 100 (and growing) backend service clusters which amounts to more than 1 million requests per second.” Those are some big numbers, but it comes as no surprise that with all the binge-watching on our laptops, tablets, phones, and game consoles Netflix needs some sturdy architecture. Netflix promises that this version of Zuul is stable, so there should be no worry about jumping in right away to test some of its features.
Why Zuul 2 instead of Zuul 1? Back in 2016 Zuul got an upgrade to an asynchronous, non-blocking framework. It uses Netty in order to handle the challenging task of helping keep Netflix users connected to their favorite streaming website. (So you can thank Zuul 2 for keeping your Netflix connection strong while you watch every episode of Stranger Things in one night. Thank you Zuul, thank you.)
Here’s a handy chart to help explain what Zuul 2 does:
Source: Netflix Tech Blog
Let’s have a look at what Zuul 2 has to offer:
- server support for inbound HTTP/2 connections
- track proxy attempts and status
- adaptive retry logic
- origin concurrency protection
- mutual TLS
As described in the GitHub repo for Zuul: “Zuul is an edge service that provides dynamic routing, monitoring, resiliency, security, and more.” More security is always something to look into, especially with a large scale infrastructure like media giant Netflix. Using the same front door that Netflix does might be a bonus for anyone searching for something more resilient to add to their architecture.
Besides the features listed here, Netflix promises that there are many more things to come. Prepare yourself for an update that will include brownout filters, throttling, rate-limiting, and configurable routing. As of now, there is no set date for when these features will be completed and open sourced. In the meantime, we would love to hear what you have planned for Zuul 2 and what you look forward to most in its next update.
Netflix is no stranger to open source and helping the community. Previously the tech-conscious company has released several of their systems to the public and will surely keep bringing the goodies to the table. Titus, the container management platform, was open sourced in April 2018. Titus lives up to its hefty name; it is a tool that helps run Netflix’s all-important recommendation system, machine learning, video streaming, and other important aspects that help keep Netflix the big name that it is today.
Other tools that have been open sourced by Netflix in the past include:
- Conductor: a microservices orchestration engine
- Vizceral: a traffic intuition tool
- Lemur: a certificate management framework
- Hystrix: a cloud performance library
All of these heavy-lifting tools are available to deploy right now. No Netflix employee key card necessary!
Interested in using the same architecture as Netflix?