4 ms·
That goes against the paradigm. I prefer that my hostnames are ambiguous, that way I'm forced to write tools to automate administrative tasks. If I know the ho
by SteveNuts 9y ago
That goes against the paradigm. I prefer that my hostnames are ambiguous, that way I'm forced to write tools to automate administrative tasks.
If I know the hostname I or my team will be tempted to make one-off changes, breaking the whole "cattle" idea.
- deleted 9y ago[deleted]
- deathanatos 9y agoIt is still helpful to have decent names even if you're treating your machines like "cattle" instead of like "pets". Inevitably, some bug will occur, and in my experience, it usually happens to occur on a machine (rather than all of them at once; I'm not saying this machine is special — the bug could have happened on any of them, and likely exists on all of them because they're all running the same code, but this particular machine ended up being the lucky one to serve that slightly unusual request). Getting in and debugging the state of that machine, pulling logs, directing a coworker to look at CPU detail "frobnozz", etc. is all easier if I can easily speak or type out the machine's name. "3.dev.microservice" is much easier to type/speak than say, an IP address, an EC2 instance ID, etc. (I fully agree on not making one-off changes, and not treating machines as pets. But I think that even after that, decent naming has a place.) And even with cattle, the other way, I still think it's useful for the name to provide some information. I.e., 3.prod.microservice being the third or fourth instance of the production setup of "microservice" is better than say, some random entry from the periodic table of elements.
- mulmen 9y agoIf you have to say the name of an instance you already lose.
- semanticist 9y agoIf you do anything to the point of dogma, you've lost. Being a good sysadmin is all about being pragmatic.
- Pxtl 9y agoThen the paradigm is wrong. Serving websites is the most important thing a webserver does, call it that. If that changes, rename it. If renaming it is impossible, you failed.
- mulmen 9y agoWhat about all the application servers behind the load balancers?
- matt_wulfeck 9y agoThere's no reason you can't have both.
- djur 9y agoI think it's useful to give long-lived entities memorable names (literally in the sense of 'possible to remember') to allow people to draw fortuitous connections and keep similar entities distinct from each other during discussions. Even if you're just trying to keep track of which server it is that seems to be faulting.
- mulmen 9y agoI think its more important that names refer to long-lived resources. If I put a DB name in a connection string I want to see the same data every time. I don't care what hardware it is on.