Netflix is once again showing its passion for open source. The company has posted the code for its Eureka service that provides middle tier load balancing and failover on Amazon Web Services (AWS). Netflix actually uses a more sophisticated of the technology for its troubled video streaming service, which is hosted on AWS.
According to the announcement on the Netflix tech blog,
“In AWS cloud, because of it’s 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. Since AWS does not yet provide a middle tier load balancer, Eureka fills a big gap in that area.”
AWS already offers a load balancer, AWS Elastic Load Balancer (ELB). However, ELB can only be used for services exposed to the outside world, which can present security risks. Netflix addresses this issue with a simple REST-based round-robin style load balancer.
This is not the first time for Netflix to step in and save the day to fill a void in its frenemy Amazon’s platform. Earlier this summer, the company posted the source code to the Asgard technology it uses to deploy code changes on Github. Netflix has also said it is currently working on combining Asgard and Eureka. In August, Netflix made resiliency tool Chaos Monkey open source.
The status of the Netflix and Amazon relationship is complicated. AWS claims that Netflix is one of its best customers, but the retail side of Amazon is stepping on Netflix’s toes with its Prime Instant Video streaming business. Netflix’s stock price plummeted again when Amazon announced its new deal with Epix. The AWS outage that took Netflix down earlier this year also didn’t help things.
There has been no indication that Neflix plans to re-architect its platform to ditch AWS. The company seems to be too busy trying to fight for its survival.