In 2017, NS1 embarked on a ground-up rewrite of its advanced DNS server software. This required significant research, planning, and execution time—over a year in total. Shannon Weyrick details the various challenges NS1 encountered and key points the company had to consider to successfully engineer and deploy across its global managed DNS network with no negative impact or downtime to its customers.
Shannon shares background on the decision to move forward with a rewrite (including DNSSEC and scaling requirements), research of appropriate technologies to balance performance, functionality, and engineering velocity, phased milestones with a hybrid release approach to better facilitate product iteration and to gain operational experience, a system for tee-testing traffic for verification of correctness during deploy, and the utilization of an anycast network for fault isolation during roll out. Along the way, Shannon discusses the many minor successes, failures, setbacks, and delays that you may face day to day and offers tips and advice to support you in your own quests to rebuild your airplanes in flight. You’ll leave with an appreciation for the challenges involved in planning and executing a large-scale rewrite and deployment of critical path software across a widely distributed network.
Shannon Weyrick is vice president of architecture at NS1. A 20-year veteran of internet infrastructure, Shannon is an accomplished technical architect, developer, and leader whose experience encompasses both development and operations of globally distributed platforms. Previously, Shannon worked at Internap and F5 Networks. A regular open source contributor, he has led and worked on a wide range of infrastructure projects, from high-performance servers to novel programming languages and runtimes, and enjoys writing and speaking at industry conferences.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com