logoalt Hacker News

necovekyesterday at 4:05 AM2 repliesview on HN

It is not really true that DNS is for people only: it is used as an aliasing system, for load balancing, and for caching (with no cache invalidation mechanism other than ahead-of-time TTL setting).

It is used to make entire protocols work (MX records for email, but SRV records are used for much more).

Now, if we do look at the most basic of basic DNS roles — mapping a human readable name to arbitrary set of numbers identifying a machine on the network — we should consider how do we avoid some of the issues while keeping all of the benefits of DNS.

Eg. if we indeed "materialize" machine identifiers, we lose the ability to do virtual hosting (domains not passed in) or fix a problem with just a DNS update (eg. treating load-balancing machines like cattle).

The author jumps immediately to, arguably, ill advised materialization techniques like /etc/hosts, without considering all that DNS does for a complex, real world system and what goes missing.


Replies

tharakamyesterday at 11:46 PM

"It is not really true that DNS is for people only" Yes, "Any problem in computer science can be solved with another level of indirection... except for the problem of too many layers".

DNS is one mechanism of adding a layer of abstraction.

show 1 reply
louwrentiusyesterday at 5:22 AM

- note I was talking about internal infrastructure, not public services

- DNS load balancing is not that important for internal services in most Cases? Would only use it if alternatives won’t work.

- the virtual host issue is really adressed by /etc/hosts, I thought that was obvious, I now regret not explicitly adressing it.

show 1 reply