Suppose I've purchased example.com from my neighbor's startup domain name company, superlowcostdomainnames.com (aka SlowDNS).

At first DNS is a bit of a performance drag, because SlowDNSs servers are all hosted in my neighbor's basement. My site only got ~100 visits per day, so ISPs often didn't have the domain name record cached. The requests would travel all the way to my neighbor's basement.

But now example.com has taken off and is receiving hundreds of thousands of visits every day. I suppose it must be the attractive combination of rounded corners and a beige background.

So now, most DNS requests are fast, since they're cached at the ISP.

But a representative for SkyFlashCDN is trying to sell me their distributed DNS service. Instead of requests traveling to my neighbor's basement, they'll be serviced by "one of 1138 data centers around the world."

My site is popular, and ISPs are basically functioning as a distributed DNS service. Why would I pay for the service when I'm (apparently) getting the equivalent for free? Is there some performance benefit I'm missing?

New contributor
mac9416 is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • 1
    So most DNS requests are fast, what about the ones that are not (when the cached record expires)? Are you okay with things loading more slowly for X% of requests? Plus, a company with "1138 data centers around the world" is likely to have a more reliable service with more features than one hosted in my neighbour's basement. If you're getting hundreds of thousands of visits a day these things are important. – Tim Fountain Nov 9 at 12:56
  • @TimFountain makes sense, thanks for the thoughts. So I guess distributed DNS is meant to shorten the "long tail" of slow lookups. Can you expand on the "more features" with some examples? – mac9416 Nov 9 at 14:02
  • 1
    Things like DNSSEC, secondary DNS; and if you have multiple servers, routing users to ones geographically closest to them, healthchecks to not direct users to servers that are down – Tim Fountain Nov 9 at 15:26
  • @TimFountain feel free to convert that info to an answer, and I'll accept. Really just wanted to make sure there was no glaring benefit I was missing. – mac9416 Nov 9 at 15:43
up vote 2 down vote accepted

You shouldn't host DNS in your basement. At a minimum you should have 3 DNS servers located in different geographic locations. Otherwise DNS is a single point of failure. Your website could easily be knocked offline by:

  • A power outage in a single location
  • A network outage in a single location
  • A single computer crash
  • A denial of service attack against DNS
  • A single hacker

Basic but robust DNS services are super cheap. You can get get DNS hosting for $10 or $20 per year. Such services are often bundled with domain registration or web hosting. There is really no reason to host DNS yourself in your basement.

I don't see a lot of benefit from moving from 3 nameservers to thousands though. As you point out, DNS requests are often cached, and DNS performance is rarely bad enough to cause perceivable performance problems for the site as a whole.

Your Answer

mac9416 is a new contributor. Be nice, and check out our Code of Conduct.
 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.