Hacker News new | past | comments | ask | show | jobs | submit login

That was the point. You should not treat humans like you treat machines but this happens all the time.



Hmm, I read it as "just they wanted to treat humans as 'fungible, replaceable cogs in the machine' it's stupid that some people want to do the same things with server". I think the "stupid" modifier is what really pushed me to think that was the case as I don't think the pets-vs-cattle debate for servers is stupid, it makes a lot of sense.


I think that both mentalities with regards to servers have their place, but right now it is very fashionable to bash servers as "pets". Like Windows vs Mac or Playstation vs Xbox, the debate itself is stupid. For either humans or servers, everyone wants to commoditize them.

Maybe stupid isnt the best word but I feel strongly in both cases.


It's not "fashionable", as that would imply it's merely based on subjective taste. It's not like console or distro debates at all, which depend on the situation and user preferences/taste.

A system where you can blow away the server and automatically have a new instance recreated is objectively better than a bespoke server that needs someone to recreate everything. The less time I need to spend manually configuring and tending to systems, the better. This is objectively a better model for software infrastructure and deployment. These are literally machines, not cattle or pets or whatever.


We engineers are absolutely fantastic at rationalizing subjective tastes.

Stay at this game long enough and you start to see the yada yada about cycles (fashions) repeating themselves. Is this debate one? I don't know, but I suspect it to be so. Personally I don't think all the extra moving parts of having "cattle" are worth it unless you're trying to be like Youtube, and the reality is lots of folks think they are when they shouldn't. I'm also not OK with a pay-for-compute model, but I also understand that the accountants and bean counters love it.

In my homelab and in every organization I've ever been a part of, there is a mix of both pets and cattle (servers) depending on need. (Although, maybe that applies to people too?) But drift too far in one direction or the other and you're going to be pissing a lot of people off that you don't need to be.

In any case I think this tangent is bikeshedding. Which is another thing we engineers are great at. I should have realized how much one word could nerd-snipe


If it were better to the degree you pretend, we'd all use that. That is not the reality, as such we can expect the amount of better to be marginal at best.


Sure, implementation is easier said than done. That doesn’t change that, conceptually, having machines that you can destroy and spin up new ones at will is much better than bespoke “pet” instances. The “pet” stuff is used until someone sets up e.g. Salt, Terraform/Ansible, plain bash scripts etc.


Some things are "obvious", but not or poorly measured and just assumed by everyone to be true.


The difference is that servers are cogs in a machine. It's often desirable to treat them as fungible and interchangeable, and there are no ethical problems with doing so.


What if the server has AI and a name?


When it starts to have memory, develops a personality and identity - I can see some people might care for certain instances of AI as pets. Like that Japanese guy who married a robot (or was it a hologram), then the company deprecated the software and it stopped working (or disappeared).

The fact that humans can develop emotional bonds with machines and objects is strange and fascinating.


Current AI are cattle, it doesn't matter if you shut it down or put it up on 100 different servers, it behaves the same.


If you think "treat servers as cattle" is stupid or has no merit, I question your credentials.

Decoupling config, app state and the app itself has a lot of upside in certain cases.


Like all metaphors, the pets vs. cattle one started to break down if you poked at it too hard. But it came from a place where individual servers were highly valued and were often at least somewhat unique. Standard operating environments had been around for a while but the "monitor the server's health and nurse it back to health if something's wrong" sentiment was still pretty widespread.

Even redundancy tended to be hardware-based to a significant degree. How much did the IT industry put into things like failover Unix clusters (and VAX/VMS etc. before that) over the years?


For some people servers have their individual "servernalities".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: