I've always used this sort of thing too.
The only difference is that I've used them
only in smaller networks. Here's a list of
pros and cons as I see them:
- No naming overlap
We won't have to worry about versions or generations. Puppet
and other systems won't get confused.
- Mythical names are awesome
Let's face it, Thor is much cooler than db01. ;)
- Schema isn't transparent
This makes it harder for new/outside people to understand.
We may even have to have notes or documentations so we remember
what each server does (or was). The version and role of a server
will be harder to track.
- Names are limited
If we run out of names (and we eventually will) we'll be back to
where we started.
I'm probably just speaking a bunch of rubbish (as I'm not
all that familiar with the environment), but that's just
my first impression. Feel free to tell me to shut up. ;)
I would propose that we do something like this:
This way, we can keep track of *roles(by number),
function(by name, e.g. "db"), and version(by generation).
*Roles meaning: db1x1 => primary database server
db1x2 => secondary db server (or transition server)
On 4/28/11 2:50 PM, "Adam M. Dutko" <dutko.adam(a)gmail.com> wrote:
The following disscussion about how to name machines popped up in the
15:42 < nirik> basically the issue is this... we have a db01 machine in
we want to replace it with another new shiny instance.
15:42 < nirik> if we also call it db01, then there is a time where we
cut over and the old machine gets no more updates, etc.
15:43 < nirik> and there may be puppet changes to make the new db01 happy
would have to be reverted if we went back to the old one.
I am attempting to continue it on the mailing list. Instead of using
functional names like db01, db02, web01 and etc. I've always used
mythological names like heracles, odin, thor, and etc. It makes it a
bit difficult to determine the functionality of a system but it makes
it a lot easier to perform upgrades and changes like Nirik mentioned.
If desired we could then use DNS in the form of CNAME records to
create "functional aliases" like db01 and etc. that wouldn't affect
our core utilities like puppet.
Just a thought. Feedback?
infrastructure mailing list