5 ms·
This is classic "pets" vs "cattle". At small scale, it's "Frank the frontend is down, let's get him working again because otherwise our users can't do anything"
by andrewla 5y ago
This is classic "pets" vs "cattle". At small scale, it's "Frank the frontend is down, let's get him working again because otherwise our users can't do anything", up to "front017.xxy is down, take it out back and shoot it".
I wonder if the notion of machines naming conventions being just about where to locate it on the rack, or which AWS data center it lives in, require further levels of abstraction about "pet" and "cattle".
- bitwize 5y agoI wish people would stop talking about cattle and pets. If you have or know someone who has worked in animal husbandry, you know it's a fragile metaphor. My uncle owns a dairy farm with ~50 or so head of cattle.He gave each of them names and when one gets sick, he takes care of it. Of course this is not a big industrial farm, but even so... not even actual cattle are as "cattle" as we're expected to treat computer-cattle -- and thanks to virtualization, computer-cattle are largely pretend anyway.
- unethical_ban 5y agoIt's an effective and well-understood term.
- dkarl 5y agoIt's not only a shaky metaphor from the sentimental aspect, it's a downright bad one from the economic point of view. Individual cattle are expensive, and as a result, it makes economic sense to invest in their care. Even a ruthless person would not let a sick cow go without having a professional take a look to see if there was a way to restore it to good condition, but heartless or broke people often do decline to pay for veterinary care for a pet.
- piyh 5y agoMy relations own a pig farm with 10k pigs, they don't have names.
- octopoc 5y agoFun story, my employer once had a contract with a huge pig farm like that and whenever we went on site we had to strip nude and shower off and then dress in clothes they provided, so we didn't contaminate the pigs with anything.
- pvaldes 5y agoYup, having to kill and discard all your product by hog cholera is not a joke.
- panzagl 5y agoDairy cows are not usually referred to as cattle.
- gkop 5y agoIIRC this was litigated by k8s years ago, hence we don’t have pet sets. But the metaphor is still in use because it’s so vivid and memorable. Is there a recommended replacement metaphor?
- culpable_pickle 5y agoGarden vs Farm Restaurant vs Cafeteria Espresso vs Drip Cafe vs Starbucks Backyard BBQ vs McDonalds I actually think that garden vs farm is a good choice. The others are a bit funny to me :) Another thing to consider is international cultures. There’s been concern around calling servers cattle and saying to just shoot them in the head during work meetings. Some cultures may have issues with that.
- colechristensen 5y agoCan confirm, when you have a small number of cattle at least some of them end up with names.
- lostcolony 5y agoOnly sorta. Software devs can and should treat their machines as cattle, yes. But the guys actually maintaining the racks shouldn't. They have finite space, definite machines, and when one is down they have to identify it and go fix it. (Meanwhile moving further down, if the hardware guys are having to name ethernet or power ports on the wall due to their various temperaments, something is wrong. And moving up, it's reasonable for devs to name their services, but a signal of an issue if the VP has to know them) There's a level of abstraction underneath which you should not be aware of to do your job...but someone likely has to (it's not quite turtles all the way down, but it probably ends with physicists and theory rather than cold hard fact).
- ecshafer 5y agoIt is still better to have a clearly descriptive name policy than pet names. Maybe if you only have a half dozen machines. But with physical machines its better to have something like Region-Datacenter-Row-Rack-shelf-vendor-OS or something like that, so you are looking for EPNYA13CDL and not Dionysus. So that location and attributes of the machines are readily apparent. That way you immediately know its an External Facing, Production server, in New York, Row A, Rack 13, Shelf C, Dell Machine, running Linux.
- burnished 5y agoI think that would be 'cattle' for these purposes, and you sort of glossed over the 'pet' example.
- lostcolony 5y agoSo I'd view "descriptive names" as a separate discussion. The point with the analogy is not how you name them, but whether you identify them at all. I really don't care about the name of the machine that died while running my distributed service; I shouldn't ever have to know it. It should automatically be culled and replaced. The person working in a datacenter really does care about the name of the rack that is faulty; they have to find and replace it. That rack can be named "RM22-R3-5", a super descriptive identifier, or "Tennyson", because the whole room is Elizabethan authors and poets; point is, he DOES need to identify it. The whole cattle vs pets is about identification and uniqueness, not about whether the identity is self-descriptive or not.
- literallyaduck 5y agoA name generator makes the cattle herdable. Humans may remember zombie-wombat-kitten but not 3991. You might not ever interact with the machine directly but if you are hunting down an issue from log files it reduces cognitive load.
- fragmede 5y agoThe important thing is cognitive load is the key thing, as is the possibility of confusion. Zombie-Wombat-Kitten is going to get shortened to ZWK, and hopefully there's no Zombie-Wombat-Keeper (or Zebra-Wagon-Kelp or Zombie-Wombat-Cat for those that just remember zombie-something-small-furry-animal). There's also little/no semantic meaning from that name. api-box-3-991 lets you know what type it is, and the relative vintage, so at a glance, it's not a version 2 box (which would be named api-box-2-991), and it's fairly late in the series, #991 vs #100. Personally I like the second since we're having cattle not pets, but it's your fleet and this is rather bike-shed-y. :)