Netflix yesterday pushed version 1.1 of its Denominator DNS automation system onto its public GitHub account. This open-source tool allows developers and administrators alike to automate DNS migrations, changes and rules without having to edit DNS records by hand. With this release, the project now includes geographic-based controls for DNS routing, and thus is nearly ready to be deployed internally at Netflix.
When a developer is hired at Netflix, they learn a few different ways of doing things off the bat. For starters, there are very few managers, and all developers are senior level. Secondly, developers tend to find their own niches rather than have one assigned to them. So it went for Adrian Cole, who joined Netflix in December and found himself running a brand new open-source project by January.
That project, proposed by Adrian Cockcroft (Netflix’s cloud architect), came to be called Denominator. “Some of the outages we had last year could be solved by running multiple [cloud] regions,” he said. “We were looking for ways to direct our customers to more than one region. We do that by managing DNS, but we can’t have a hand-managed configuration the way most people do DNS; we needed a RESTful API.”
Cole, who had just signed on at Netflix and designated himself the “Cloud Guy,” took on the task of building this proposed DNS automation system. He had previously built JClouds, a cloud feature-abstraction layer for Java developers. With Denominator, he saw an opportunity to build another much-needed tool.
Automating DNS updates might sound like a mundane systems-administration task, but Cole and Cockcroft found few worthwhile alternatives to building their own system.
Said Cockcroft: “We’ve seen some attempts to build DNS libraries, but they do the simple stuff. What’s been hard here is building a very comprehensive model of the advanced features of DNS.”