Why Do We Name Servers the Way We Do?
jfruhlinger writes "If you use a Unix machine, it probably has a funny name. And if you work in an environment where there are multiple Unix machines, they probably have funny names that are variations on a theme. No, you're not the only one! This article explores the phenomenon, showing that even the CIA uses a whimsical server naming scheme." What are some of your best (worst?) naming schemes?
A goofy naming scheme is a bad idea when you're running over 100 servers in a dynamic environment. When your servers are named after wines, cheeses, and trees, who can say what Oak does, or Chablis, or Feta, or Jujuba, or Sassafras, ad nauseum.
-r0
Naming our machines in odd and amusing ways it our way of secretly rebelling against over management.
Just like my user name, I decided to go with the word "snow" in various languages. So far, I have my router chioni, server nix, desktop losse, and various other names for components. My wii is yuki, my xbox 360 is xue, my ipod touch is lumi. Beyond that I've also used "eira" and "schnee".
At my university NMSU, the CS department used alcoholic drinks (vodka, gin, etc), which were changed to vehicles (cobra, stingray) over complaints from an incoming professor. The sunrays were "bear" in various languages (oso, medved, ursa), and later they had words from the hacker's dictionary (foo, bar, baz, frob)
The naming schemes all were easily memorable, and prompted word associations, making them easy to mentally group. Ok, except the translations for bears, (and mine for snow) except for fellow crazy polyglots, and linguiphiles.
WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
Over time, systems get refactored for uses that they were not originally intended, so that box named web1 is now an ftp server and nobody bothered to rename it. The same happens when you try to name them by physical location. r1a2r10n5 got moved from Room 1, Aisle 2, Rack 10, Number 5 to another room entirely.
The easiest time I had dealig with servers was when they were named after japanese monsters. We had Godzilla, Mothra, etc. We all know that Godzilla was the PostresSQL server. If a box's purpose changed, we didn't have to worry about renaming it and people would eventually learn its new purpose.
Whimsical names work.
-- Will program for bandwidth
Odd named hosts often have a meaning once you are clued in on the naming scheme. First off it really helps to give hosts on the network a NAME not just a number. You could just skip DNS if you are going to number em. A well thought out naming scheme helps. If you do it right the name gives you a rough idea what it does and still allows some fun in naming.
If I see a tree themed hostname I instantly know it is one of the machines in a patron lab. Flowers are staff hosts and mythological beings are in the server room. Yes machines in a lab could just be numbered but ya could also name yer cats Cat 1, Cat 2, Cat 3, etc.
Democrat delenda est
And for the same reason that we name the variable total_annual_cost instead of c113, it helps to have a human-readable/remember-able name for the server instead of a collection of gibberish which, though it may translate eventually into some useful information, is so hard to remember that it takes longer than just looking it up on the chart of server names on the wall. The names must be arbitrary because the server must be able to be repurposed, but the names must be consistent or they do not offer any mnemonic assistance.
We name servers for one group out of one arbitrary category (say mythical monsters) and servers for another group out of another (say SF authors). This allows the name to communicate some information directly (info which is unlikely to change even if the server's role is changed within that group). While all other information can quickly be found on the wiki or a printed out chart, which actually happens faster than deciphering that at13g3d12 is the 12th dev server for group 3 in the at&t datacenter rack 13. (It really is faster to look it up than to decode even that simple of an encoded name.) Finally, for an individual dev working on several projects it is much easier to remember that the billing project is on mothra while the reporting project is on grendel than it is to remember that one is on at13g3d3 and one is on at13g3d4.
My company actually switched from an arbitrary but consistent naming convention to a strictly encoded naming convention and quickly switched back when the loss of efficiency and productivity was actually measurable.
By your logic, I can name all the variables in my code "x", "y", and "z" and then complain that they've hired *idiots* who can't remember that "x means the number of items in the shopping cart, duh". I could claim it's just a rite of passage into the world of complex software development...
Depends. Functional naming conventions often try to name servers according to some crazy attempt to fully qualify the server name. It'd be like naming your variables like I have seen in some VB programs (stupid Hungarian notation!)
I have worked in places where servers are given functional names, and places where servers are named in a more whimsical fashion. Functional names suck.
Even "meaningful" names lose meaning over time, due to changes in naming conventions, repurposing of hardware, or other unforeseen things. Might as well give them whimsical names which relate to one another, yet aren't dependent on the implementation details. Servers are named for human reference, else they'd be IP addresses.
Then, a new director or new group handles server allocation. The naming convention changes and you have to remember yet another arcane naming system.
Again, functional names are cumbersome and hard to remember. And you often have to type server names over and over again. It's easier to remember names like sleepy, grumpy, and dopey than to remember and constantly retype TXDALDC09DEV01, TXDALDC03DEVDB01, and CASFDC06QADB11.
If you just hate whimsical names, then at least serialize the server names. Server01, Server02, and Server03 is a better way to go than coming up with some complex system of fully qualified names.
blah blah blah
We had this exact problem. Originally they were all named Webserver1,Webserver2,Monitoring1,Monitoring2 etc etc etc. We decided it would be cool to name them all after simpsons characters. 3 Days later I get an alert to my phone at 2am to tell me Nelson is not responding to ping. WTF is Nelson? Is he important? No idea what he did, and if he needed rebooting immediately or could wait till reasonable hours.
Hence I'm a big proponent for a useful naming scheme.
In Soviet Russia the insensitive clod is YOU!
We had this exact problem. Originally they were all named Webserver1,Webserver2,Monitoring1,Monitoring2 etc etc etc. We decided it would be cool to name them all after simpsons characters. 3 Days later I get an alert to my phone at 2am to tell me Nelson is not responding to ping. WTF is Nelson? Is he important? No idea what he did, and if he needed rebooting immediately or could wait till reasonable hours.
Hence I'm a big proponent for a useful naming scheme.
Yeah--that's even been a problem at the company I work for. Several times per week I end up in a conversation like this:
Me: "I can't connect to 192.168.7.241--it's out of admin slots for remote desktop" Boss: "What's 192.168.7.241? Is that DumbServerName1?" Me: "I'm not sure, what's 'DumbServerName1'?" Boss: 'It's the domain controller." Me: "Great, that still doesn't help."
I usually know everything by IP or it's DNS name. Where 192.168.7.241 might be 'mail.somedomain.com' but the box has a hostname of DumbServerName1
Lame.
There's no place like
I've mostly found it a sign of a company's size/age/maturity as to how boring the server names are. Several places I've worked for started out with the admins coming up with their funny/cute/dorky naming schemes, only to eventually have server names be locked down in the name of STANDARDIZATION.
Then you have endless meetings to decide what should be the important components of a system name. Should it indicate the machine's location? It's OS? It's function? Should it even indicate which rack number and elevation slot the system is in? Eventually you end up with racks full of servers named SJC-LX-APPDEV01, NYC-SV-EXCHG02, and LDN-UX-SMTPDR01.
I have to admit, a little part of me misses having room for a little creativity in naming systems, but then the rest of me doesn't miss wasting time trying to come up with names for work systems. I've always got my home network to label with my ever-changing nerdly obsessions.
It does not bloody well make administration easier! If you have say X servers scattered over Y locations, it makes sense to call them:
(site)(os)(function)(number)
i.e.
sydwindb002
meaning sydney windows database 002
as opposed to tauron or frickin picon, or smurf (I'm not kidding you). Best of all though I've seen was server. Just server.
Serving what?? This was in a rack of 27 severs in total.
As a sysad, it shits me when people come up with 'cute' nonsensical names that have no consistency and aren't self explanatory. I mean, good software engineering principles dictate that you use meaningful variable names. Why not server names as well?
http://www.zombieapocalypse.tv/
God save us from armchair psychologists!
Although it may be healthy to project personalities onto things (I'm a little skeptical, though I could maybe be persuaded by somebody who doesn't go around making sweeping psychiatric diagnoses of people he's never met) that hardly justifies encoding those projections into names. I'm not saying you should never do it (in fact, I do it a lot) but when you do it, be practical. Others may not share your projections. They may find your names confusing, misleading, or even offensive.
Where I work, there are two products that are very similar, but not quite. Somebody in engineering decided that their internal code names should be after a comic book hero and his evil twin. Those of us who don't follow comic books don't find these names very mnemonic, and often get them confused.
You're wondering why I don't tell you these two comic book characters. Can't, because they're for internal use only. If it became widely known that these products had these code names, somebody with a similar product with a similar name could sue us for trademark infringement. (The official product names combine trademarks we've already established with meaningless strings of letters and numbers.) That's another problem with these cute names: get careless and you get sued. Apple actually spends a lot of money paying off people with claims against the names they use for all their OS updates. Possibly worth it, since it contributes to their main marketing asset: their coolness factor. But not worth it for most companies.
And then there are names that just carry the cute reference bit too far. I mean, come on, whose idea was it to name a Linux distro "Yggdrasil"?
You're quite right, and not just about servers. I've been at companies where every printer had its own cute name. And these weren't small companies with a couple of printers, we're talking dozens of them. A real nuisance when your regular printer is broken and you can't remember the name of one of the alternates.
I came back to work at one of these companies, and now all the printers have boring names based on where they are. Makes life much easier.
Soap and water?
We could also cure breast cancer by performing preemptive mastectomies.
Here's an analogy... it's like they altered your eyes to make you see in black and white; and someone says you could have a "more intense" vision. Not ever knowing color, you can only imagine that as increased brightness. And you think, no, I don't need more brightness.
But it's not just more of what you know. It's something you don't know at all.
Circumcision is child abuse.
Although it may be healthy to project personalities onto things (I'm a little skeptical, though I could maybe be persuaded by somebody who doesn't go around making sweeping psychiatric diagnoses of people he's never met) that hardly justifies encoding those projections into names.
There's a simple, practical reason for using names: IP addresses can be hard to remember.
There's a simple, practical reason for using "themed" name spaces: coming up with dozens/hundreds of names can be hard.
After all, I am strangely colored.
19 cross-sectional studies, 5 case-control studies, 3 cohort studies, and 1 partner study showed that the relative risk for HIV infection was 44% lower in circumcised men. Where's your evidence?