Live data from Hacker News

RFC 1178: Choosing a name for your computer (1990)

tools.ietf.org

41–50 of 128 posts

Re: RFC 1178: Choosing a name for your computer (1990)

#42
> Nobody expects to learn much about a person by their name.

That's a good point, but humans are very different to computers - machines (be they physical or virtual) are provisioned for a specific purpose (even if that is to be "Fred's PC"), whereas humans need time to grow and can decide for themselves what to do as a career / what their hobbies will be, and change it any time.

But realistically, yes, the RFC is right that you may end up with machines whose purpose changes or multiple machines have the same purpose etc. But when they don't, it is much easier to have meaningful names. If you will name them differently, then please make sure all developers can access the list/mapping document and it is kept updated. It's frustrating if you want to investigate some production problems but end up looking at the wrong server's logs because devops didn't tell anyone they moved an application /website etc.

I like someone else's comment about app01 being easier to reason about and recreate than something named more specifically, and in the modern world, its easy to spin up a new docker instance or VM so there's less need to "let's just add this small service on that machine because it has spare capacity" (where capacity could be CPU/RAM etc.)

Re: RFC 1178: Choosing a name for your computer (1990)

#44

I use the wordlist from Oren Tirosh’s mnemonic encoding project: http://web.archive.org/web/20090918202746/http://tothink.com... I can't find the post that linked it, but it had a very nice scheme. EDIT: found it: https://mnx.io/blog/a-proper-server-naming-scheme/ EDIT2: one-liner to get a random word from the file: cat wordlist.txt | tail -n +2 | sed -E 's/\s*(\w+)\s+/\1\n/g' | sed -E '/^$/d' | shuf -n 1 i.e. | | |…

> EDIT: found it: https://mnx.io/blog/a-proper-server-naming-scheme/

One problem I see, specifically for the environment, is that "dev" is now a TLD (thanks Google!), so you have to be careful should you try to do a short cut like "web01.dev" you may get a surprise depending on your resolv.conf:

* https://en.wikipedia.org/wiki/.dev

Lots of 'generic' TLDs now thanks to ICANN:

* https://en.wikipedia.org/wiki/List_of_Internet_top-level_dom...

There's both ".accountant" and ".accountants".

The article describes geographic sub-domains, and uses "nyc" as an example, but that's a TLD now as well. It may be better to use UN/LOCODE as a starting point:

* https://en.wikipedia.org/wiki/UN/LOCODE

If you don't need down to the city/municipal level, then ISO 3166-2 may be useful ():

* https://en.wikipedia.org/wiki/ISO_3166-2

Re: RFC 1178: Choosing a name for your computer (1990)

#46
post #2

I was expecting this to be a April Fools RFC [0]. I was disappointed when I checked the date. [0] https://en.wikipedia.org/wiki/April_Fools%27_Day_Request_for...

Also "IP over avian carriers" ( https://tools.ietf.org/html/rfc1149 ) (IP via pigeons).

In 2009 someone found that a pigeon was faster at transferring data than their ISP:

* https://www.wired.com/2009/09/in-africa-a-pigeon-transfers-d...

* http://news.bbc.co.uk/2/hi/africa/8248056.stm

* https://www.bbc.com/news/technology-11325452

Re: RFC 1178: Choosing a name for your computer (1990)

#47
post #21

Like a lot of things, people can remember names of things better than numbers. Genes for example, it’s easier to remember their names lz, wnt, than their associated gene Id number. But like stars and many other things there are too many to give each a unique name. Naming can make sense, our old cluster was named after orchestra parts. When you logged In you where placed on the lobby. The machines where clustered (vio…

Why is percussion01 better than web01?

I'm assuming (based on reading how they performed grouping) that percussion01 didn't exist, but perhaps cymbal01 did (since a cymbal is a type of percussion instrument). Therefore cymbal01 would be a web server of sometime. The benefit to naming it this way is you could have multiple types of web servers (internal, dev, prod) and by using a more generic name you could more easily change the function of that web server (so cymbal servers could be dev, then move to prod, without needing a name change).

Re: RFC 1178: Choosing a name for your computer (1990)

#49
post #17

This kind of naming is fine for small projects, and personal setups. In professional settings I would suggest using descriptive names and rely more on DNS. It's not that I don't enjoy fun and personal naming schemes, it's just that it's a constant annoyance when dealing with a large number of different systems. We've been hired to deal with different companies, who picks some random naming, cars, athletes, plants, ci…

Functional names for servers are IMHO one of the worst possible options, because functions drift over time. Have individual hw named in unique way that isn't related to functionality it runs, then use CNAMEs specific to functionality - i.e. never point a DNS client at "freddy.dc.somecorp.com", you point it at "dns01.dc.somecorp.com". The decision on what machines need unique names, not just pseudorandom IDs or simila…

Why can't you rename the host if its function changes? Like if "the 1U box with asset tag XY1Z234" goes from being a web server to a DB server, why not reinstall it and call it db03?

I think the approach of naming the host "freddy" works for small installations (and all installations in 1990 were small), where reinstalling a single server is a manual process and impacts your capacity, and where humans remember "Oh, freddy is the one with a very large hard drive." If you've got any sort of automation, let alone virtualization, you should be keeping facts about hardware somewhere other than people's heads and so you can index them by the actual identity of the hardware - the fact that web04 had a large disk last year is remembered by a field on your inventory entry for XY1Z234, not by any human. And reinstalling web04 as db02 is just a matter of running a script from the comfort of your work-from-home laptop - certainly no need to visit the datacenter.

I think this lines up with your point about pets being higher levels of abstraction - I wouldn't point any DNS client at dns01, since that's a specific server, I'd point it at a virtual IP that can be bound (possibly multicast) by any dnsNN server that happens to be up. That virtual IP is the pet and the API surface, and it belongs to no actual server.

Post reply on HN