Comment by pastage

21 days ago

> DNS broke my site for three hours. But now I actually understand it

I have been broken for three decades and I still don't understand DNS. It is a simple protocol but people use it in complicated manners.

Simple? Oh no. Simple it is not.

It's the most baroque protocol that is still somehow surviving from the initial Internet. There are so many weird limitations, like not being able to use CNAME for apex zones. Or the entire DNSSEC fiasco.

  • I think CNAMES were a mistake, think of them as lightweight NS records. It is a simple protocol solving a rather complex system. I have respect for simple things I have tried implementing my own server, did not go well.

why you need DNS for at server? just use hosts file. why your server would need to resolve domains on the internet? client yeah, server no.

  • > why you need DNS for at server? just use hosts file.

    IP's can change without warning.

  • You have to go back five decades if you want to use a host file. My point is that cache and making are the three hard things in computer science DNS has had both problems several times. I choose DNS over hosts files every time.

    EDIT I might be off by one here.

  • interesting.

    But it's not an issue at all, and it provides a convenience that can be depended on by a lot of your dependencies.

    Code may use domains instead of ip addresses (which provides resiliency), package managers like apt depend on domains. And so on.

  • clusters and other load-balanced workloads. who wants to maintain hosts files across a fleet of containers or multiregion load-balanced situations?