The concept of comparing servers to cattle or pets isn’t something new… A presentation by Gavin McCance already covered the subject three years ago. Looking at a server farm as cattle is one of the major philosophies of the DevOps culture.
We are fond of our pets. They are given cute names (grumpycat.kvaes.be). We hand raise them and care for them. When they get ill, we’ll do everything we can to nurse them back to health!
Cattle are given numbers (web007f01.kvaes.be). They are all (give of take) identical. If one gets ill, we’ll just replace them…
In the end, everyone knows that herding is for cattle and not for pets… Or am I wrong about that?
Just kidding… The herding bares down to things like “configuration management” (think puppet, chef, ansible, tower, salt, …) & towards “automation” & “orchestration”. But why should we herd? It’s a matter of scaling out… and not up. Making it easy to go in numbers, makes it easy to scale. And in the end, this agility is what makes our business run better.
Anyhow, “ops” should see the infrastructure as code. One should be able to do version management upon it and “compile” (rebuild/deploy) it upon ease. Systems should be regarded as volatile and rebuilt with ease. Docker might seem an odd concept to some… though the overlays they use are really about combining libraries & software versions towards “infrastructure”. I’m not saying Docker is the way to go, just pointing out that the concept can be found all around the place. Just ask yourself… do you consider your servers as pets… or as cattle? Have fun petting / herding!