5 ms·
service discovery via DNS on top of etcd: https://github.com/skynetservices/skydns https://github.com/skynetservices/skydns I personally believe that servers s
by kbar13 12y ago
service discovery via DNS on top of etcd: https://github.com/skynetservices/skydns https://github.com/skynetservices/skydns
I personally believe that servers should not have names, as naming them just creates the incentive to try to fix broken infra instead of just killing and respawning. I've considered using some kind of short UUID for hostnames instead.
- bryanlarsen 12y ago"short UUID" is an oxymoron. If it's short, then it's not universally unique. Assuming you meant "short ID", how is that any different than the OP's suggestion of randomly choosing from a list of meaningless names?
- Alupis 12y agoI think it would matter what the Universe is for their environment. A UUID may be fine as "server123" if there will never be a collision in their environment (ie. server124, server125, server 126, etc).
- drsintoma 12y agoIn a past life as sysadmin, I found very useful to encode a letter with number, so that serves with similar specs share the same letter. a1, a2, ... aN for serves 2 cores 8GB ram b1, b2, ... bN for serves 4 cores 8GB ram c1, c2, ... bN for serves 4 cores 16GB ram ...
- aroch 12y agoIt only has to be "universally" unique within the DNS servers you query, no?
- awalton 12y ago"Short" is relative. 4 billion IDs is likely Unique within an organization, even one the size of IBM, Google or Microsoft.
- eldavido 12y agoAt the risk of pedantry, it depends on whether their allocation is centrally coordinated. 4 billion IDs with central coordination isn't too bad, but you need a much, much bigger space to make collision-free, uncoordinated ID assignment practical. Corollary: in a room of 23 randomly selected individuals, there's a 1/2 chance that two individuals share a birthday. 365 days in a year, but only 23 samples gets you to 1/2 chance of collision. Look up the "birthday paradox" for more info on this surprising result.
- jorangreef 12y ago4 billion IDs = 32 bit = Math.pow(2,32). For a 50% chance of collision you need Math.pow(2,32/2) calls to your ID generating function which is 65536 calls. And that's just a 50% chance. Even a 1% chance is too much (for which you would need much less than 65536 calls). I doubt "IBM, Google or Microsoft" are using 32bit UUIDs. "4 billion IDs is likely Unique within an organization" I don't think it's unique within any organization.
- peterwwillis 12y ago"Hey Al, could you go take a look at the drive on the secondary mysql server? I think it might be throwing a fault condition." "Sure Frank. What's its host tag name?" "AF84n3Dd2PM."
- kbar13 12y agoNot sure your comment is intended on proving a con of naming servers as random strings, but honestly I would consider that a positive. If hostnames are actual words, then people are able (and sometimes incentivized) to transmit them verbally. This can lead to communication issues. If the hostname is randomized, then the logical thing would be to copy and paste the hostname and send it off over the wire, which would theoretically cut down on human error.
- peterwwillis 12y agoThe human then has to write down a long string of unrelated numbers and letters and track it down somewhere in the server room. Both are time-consuming and error prone. It's annoying enough to try to find "snowwhite" amongst 40 servers in each of 40 racks; trying to scan the list of names for "ABC123XYZ987" when none of the name correlates with any useful information would be absolutely maddening. Jesus christ, I can just imagine for every sever looking at the name on a sticky note, looking at a tag name, and then looking again at the sticky note and back to the tag name, possibly a third time, just to make sure it wasn't off by one number or letter or something. Repeat for thousands of servers? Euuggh! Besides the poor cage monkey having to deal with that crap, when you're fighting fires in the ops room you need to be able to refer to a handful of server names quickly. You can't be copying-and-pasting names to people, looking information up every 2 seconds because you can't possibly memorize it. We are human beings and so we need human interfaces to information.
- thezilch 12y agoIf we're naming racks to be serviceable, seems easier to have numeric rows, dash, alphanumeric cabinets, dash, numeric racks. 3-K-7 seems extremely better than disney-snowwhite-dopey. And your labels should hold the breadcrumb: [3] (row), [3-K] (cabinet), [3-K-7] (rack). The other benefit is not having to guess where these things are (or having to dictate this very same information to land someone near "dopey").
- awalton 12y agoThat's taking the "pets" vs "cattle" meme a bit literally. Memorable hostnames can be given to both pets and cattle. However, I personally question the wisdom of giving a network intruder a roadmap to your internal network via easily predicted DNS names, but that's probably just me being paranoid.