DNSControl: A DSL for DNS as Code from StackOverflow.com

Tuesday, March 14, 2017 - 11:55am12:50pm

Craig Peterson and Tom Limoncelli, Stack Overflow


Introducing dnscontrol: the DNS DSL and compiler that lets StackOverflow.com treat DNS as code, with all the DevOps-y benefits of CI/CD, unit testing, and more. StackOverflow.com has a large and complex DNS configuration including many domains, complex CDN interactions, unavoidably repeated data, and more. The dnscontrol language permits us to specify our domains at a high level and leave the actual manipulations and updates to our automation. Massive changes, such as failovers between datacenters, are now a matter of changing a variable and recompiling. We've been able to address new problems with smart macros rather than manual updates. Dnscontrol is extendable and has plug-ins for BIND, CloudFlare, Route53/AWS, Azure, Google Cloud DNS, Name.Com, and more.

Tom Limoncelli, Stack Overflow

Tom is an SRE Manager at StackOverflow.com and is a co-author of The Practice of System and Network Administration (http://the-sysadmin-book.com). He is an internationally recognized author, speaker, system administrator and DevOps advocate. He's also known for other books such as The Practice of Cloud System Administration (http://the-cloud-book.com) and Time Management for System Administrators (O'Reilly). Previously he's worked at small and large companies including Google, Bell Labs / Lucent, AT&T. His blog is http://EverythingSysadmin.com and he tweets @YesThatTom.

Craig Peterson, Stack Overflow

Craig is a developer on the SRE team at Stack Overflow. He is a lead developer their open source monitoring system, bosun, and for DNSControl. He has a passion for scale and performance and for improving sre and developer workflows in any way possible.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

@conference {201829,
author = {Tom Limoncelli and Craig Peterson},
title = {{DNSControl}: A {DSL} for {DNS} as Code from {StackOverflow.com}},
year = {2017},
address = {San Francisco, CA},
publisher = {USENIX Association},
month = mar

Presentation Video 

Presentation Audio