In the cloud world, the "pets vs. cattle" meme is everywhere. It's almost universally used as the means to differentiate cloud implementations from so-called traditional virtualization environments. For those who aren't familiar with this analogy, here's the short version:
In traditional virtualization, VMs are like pets. Administrators give them unique names and care for them if they get "sick." In other words, administrators or application owners get attached to their VMs.
In cloud environments, instances are like cattle. They are given generic names like instance-048, and they are a dime a dozen. If an instance gets "sick," then you just shoot it in the head (destroy the instance and spin up a new one). In other words, instances are disposable and replaceable, so don't get attached.
Unfortunately, some nuance is lost when a discussion is boiled down to this sort of "black or white" comparison. In particular, I think many people tend to focus on the care aspect -- do I care for my VM or shoot my instance in the head and spin up a new one? Focusing on this aspect of the theme tends to cause organizations to question the need for any sort of maintenance on their workloads. After all, if it gets sick, we just destroy the VM and spin up a new one, right?
In my view, the core of the pets vs. cattle theme isn't about care.
After all, let's think about this. Do cattle ranchers not care for their cattle? Of course, they do. Providing care for their cattle allows them to produce quality products and maximize their profits. What's important here is how they provide that care. Does each cow get personal, direct care and feeding? No. Instead, it's about systems and processes for feeding lots of cattle efficiently, for immunizing lots of cattle as easily as possible, and for assimilating new cattle into the herd. Everything is as automated as possible, but care is given.
In my view, the core of the pets vs. cattle theme is about systems, processes, and culture.
What does this mean for IT organizations? If it's not about care -- meaning that IT pros do need to provide some care for their workloads -- then the focus has to shift to systems, processes, and culture. Ranchers don't question whether they will care for their cattle; they question how they will provide care. Gone are the days when IT organizations could afford to provide direct, personal care for their workloads. That simply won't scale, and today's IT organizations need scale and efficiency.
Keep in mind that many organizations still have a fair number of stateful applications that don't work with the "kill it and spawn a new one" mentality, so caring for the application isn't optional -- it's a necessity. IT practitioners shouldn't be asking if they will care for their workloads, but rather how to provide that care most efficiently and effectively. Everything needs to be as automated as possible, so that the appropriate level of care is provided in a way that is efficient and effective.
Systems and processes aren't enough, though. Organizations also need to create and foster a culture that embraces systems and processes for enhancing automation -- think of it as an "automation first" culture. Without such a culture, the systems and processes will slowly, gradually weaken and crumble, and efficiency will be lost.
Don't agree with me? Think about this: How possible is it to destroy an instance of a workload and spin up a new one -- the "ultimate nirvana" described by the pets vs. cattle meme -- without automation and without systems, processes, and a culture that supports those systems and processes?
Here's my challenge to you: Stop focusing on the level of care and start focusing on the way in which you provide that care.