Title: Topaz: Declarative and Verifiable Authoritative DNS at CDN-Scale
Authors:
James Larisch (Harvard University); Timothy Alberdingk Thijm (Princeton University); Suleman Ahmad, Peter Wu, Tom Arnfeld, Marwan Fayed (Cloudflare Inc.)
Introduction
The paper addresses the complexities of managing DNS queries in Content Delivery Networks (CDNs). It is crucial because efficient DNS management ensures optimal load distribution, performance, and adherence to service-level agreements (SLAs). Traditional imperative assignment systems for DNS management are opaque and can lead to conflicts between different objectives, making them hard to debug and maintain.
Key idea and contribution
The authors introduce Topaz, a new architecture for authoritative DNS in anycast CDNs that utilizes declarative, modular programs called policies to handle DNS objectives. These policies are executed directly by nameservers in response to live queries, making the DNS behavior more transparent and easier to modify. Topaz also includes a domain-specific language, topaz-lang, and a formal verifier to detect and resolve policy conflicts before deployment. This approach simplifies DNS management, allows for rapid global deployment of changes, and ensures the correctness of DNS behavior through formal verification.
Evaluation
The evaluation shows that Topaz handles approximately 1 million DNS queries per second at a global CDN, with acceptable latency overheads. This result is significant because it demonstrates that a declarative approach can scale to meet the demands of a large CDN while providing improved transparency and manageability over traditional systems.
Q&A
Q: The work emphasises the importance of conflict detection, so to what extent does its effectiveness depend on operator competence?
A: We recommend setting all policies to exclusive by default, which helps in conflict detection.
Q: Does the job validate only policies or specific configurations under policies?
A: Topaz is validating specific configurations.
Personal thoughts
I think the declarative approach of Topaz to be a significant improvement over traditional imperative systems. The use of policies to directly manage DNS behavior and the inclusion of a formal verifier to detect conflicts are particularly innovative. However, the implementation complexity and the need for operators to learn a new domain-specific language might be challenging. Future work could explore extending Topaz to handle additional network management tasks or integrating it with other CDN management tools to provide a more comprehensive solution.