Netflix has released a load balancing tool to help administrators of very large websites on the Amazon Web Services (AWS) cloud.
The open source 'Eureka' technology was released as a Github package by Netflix on Tuesday. Eureka can help load balancing of AWS workloads that don't directly process external traffic but talk to services which do.
"In AWS cloud, because of its inherent nature, servers come and go. Unlike the traditional load balancers which work with servers with well-known IP addresses and host names, in AWS load balancing requires much more sophistication in registering and de-registering servers with the load balancer on the fly," Netflix wrote in an engineering blog announcing the technology on Tuesday. "Since AWS does not yet provide a middle tier load balancer, Eureka fills a big gap in that area."
The tool can also provide an additional layer of security to applications in Amazon by replacing Amazon's own Elastic Load Balancer service. This, while capable, can expose mid-tier services to the public internet thereby "losing all the usefulness of the AWS security groups", according to Netflix.
Eureka stores information about servers it deals with on a Eureka client in its AWS availability zone. This helps protect applications against outages of load-balancing technology as server information is cached to the client. This increases the resiliency of the servers and leads to a small decrease in latency as the server can be queried directly rather than through a proxy.
"Eureka clients are built to handle the failure of one or more Eureka servers," Netflix wrote. "Since Eureka clients have the registry cache information in them, they can operate reasonably well, even when all of the Eureka servers go down. Eureka Servers are resilient to other Eureka peers going down. Even during a network partition between the clients and servers, the servers have built-in resiliency to prevent a large-scale outage."
The most recent tool the company released prior to Eureka was named Chaos Monkey, designed to find flaws in Netflix's cloud and help the company spot them before they lead to a cascading fail.
Why Eureka matters
Eureka is a useful tool for a relatively specific use case, but the reason why I've highlighted it is that it stands for something much greater: Amazon's ecosystem.
With the release of Chaos Monkey, Eureka and other tools, Netflix is helping to fill in holes in Amazon's own service
With the release of Chaos Monkey, Eureka and other tools, Netflix is helping to fill in holes in Amazon's own service. Not only that, it is donating these tools to the wider developer community. It's an open-source movement within a proprietary technology model and highlights how Amazon's dominance in the cloud is of a similar class to what we find when we look to the vast amount of open-source applications (Gimp, VLC, et cetera) that have been ported into Windows' proprietary system.
Until we see similar community participation on rival clouds like Azure or Google Compute Engine, Amazon has an objective measure of success measured by the amount of code being built for the service by its customers and shared for free.
Netflix plans to release more tools in the future. Watch this space.