Akamai Diversity

The Akamai Blog

Best practices for DNS design and architecture

The DNS is a critical component of ISP infrastructure. It's usually described in two forms, Authoritative and Caching.

Authoritative DNS Servers host your domains like www.yourcompany.com, and associated resource records, as well as their location. It does this by mapping names of hosts to their IP-addresses.

Caching DNS Servers help applications and services - browsers, VOIP, IPTV, etc. - navigate the DNS hierarchy to find the appropriate Authoritative servers and eventually the target host of your domain.

When you design and deploy DNS caching infrastructure, it's important to understand and research the following first.

  • How many subscribers are going to access the environment?  100-150 thousand per server is a typical maximum for high-performance software running on a current generation hardware platform.
  • What is the anticipated subscriber growth?  It's worth matching growth to the hardware refresh cycle of 3-4 years.  Using the growth rate work back from 100-150 thousand subscribers maximum to figure out what the starting subscriber count should be.
  • How distributed do you want the infrastructure to be? This usually depends on the network topology.  Keeping DNS clusters/servers as close as possible to end-users provides the best possible Internet experience.
  • What additional features need to be enabled like IPv6 or DNSSEC?
  • What additional solutions - like redirection, bot identification, and mitigation or others need to be run on the platform?
  • What statistics and metrics do you need to feed internal systems - what DNS related stats are tracked currently, are there new stats offered with the new platform that would be useful?
  • What are other business growth drivers - are there plans to deploy new services that will fuel DNS growth?
  • How will your operations team manage the new infrastructure?
  • What processes and procedures have to be implemented to support the new and/or upgraded platform.

Once you have a clear understanding of the questions above and a few others that might be specific to your environment you can start putting your requirements into play.  Since you have the opportunity to build an infrastructure from scratch or upgrade an existing one, it's worth spending time understanding business needs can be balanced with cost and capabilities of the solution.  Work the numbers - look at subscriber count and performance and consider factors that impact the subscriber experience like latency and costs.