Should African DevOps engineers treat servers as Cattle or Pets?
When I first heard the expression, “Don’t treat servers as Pets, treat them more like Cattle” it immediately made sense to me, based on what I knew about the value of Cattle and Pets, then I heard the real explanation that made me pause … and chuckle.
The simple (maybe naive) interpretation of that phrase is that cattle are more expendable than pets.
See, where I come from cattle are more dear to people than pets. Actually, caring for pets too much is modern luxury. Most people keep dogs for security, not for company. Cats are for dealing with rodents. You own cattle, now that makes you wealthy! The more you own, the richer you are. That doesn’t mean they aren’t expendable, no, but someone who owns cattle will go out of their way to make sure they are bred and fed to grow. They send their sons to herd them at the expense of the child’s education or play time. They’d go on a bike or other form of transport to find feed or pay someone to find feed if the nearby pastures don’t have enough supply for the cattle to feed on.
Thinking of servers as cattle is basically saying that this is a very valuable resource that you must keep alive at all costs.
Contrast that with the western interpretation; that servers can be slaughtered and respawned without too much fan fare or worry. I found it amusing, I still do.
It makes me wonder what an African inspired server orchestration platform would look like.
Some more interesting reads on the topic: