There are dog people and there are cat people. Rarely, if ever, will you get a dog person to admit that cats are superior in any material sense or vice versa. This can often be a source of conflict in many relationships.
Fortunately, my wife and I are both dog people. However, we have mixed views regarding another contentious issue: hardware versus software.
My wife, who uses an iPhone, and has built an impressive career at such successful appliance companies as Netscreen, Juniper, and Infoblox, is a "hardware person." Like most hardware people, she believes that the best solution to most IT problems is well-tuned software combined in a beautifully integrated package with purpose-built hardware.
I, on the other hand, use an Android phone, and have spent most of my career at software or services companies. And similar to most software people, I believe that the magic is in the software. I take my belief one step further and think it should be run on the user's choice of commodity hardware.
Which one is right? For the sake of marital harmony, I'll state that both points of view have their merits. Clearly, the hardware point of view has not only had great success in the consumer space, but has also proven to be a powerful model in areas of enterprise IT such as content and network security. By tightly constraining the variations of the hardware and software, the appliance approach results in solutions that are easily deployable and can be used without especially deep on-premise expertise.
However, as should be clear from most of my other posts, I believe the software model will win out in the storage space, just as it has won (or is winning) in the web server, application server and general compute market.
So, what predisposes one part of the IT market to hardware and another part to software? I believe it comes down to four main criteria: workloads, economics, flexibility and cloud.
Given this view of the world, it is fairly clear why the appliance model is winning in areas like network security. A single, well integrated, easy-to-manage firewall appliance can meet the workloads of most IT operations. The savings on a single, generic server are not material relative to the management ease of deploying a reliable, integrated appliance. To the extent that flexibility is needed, it can be achieved by configuring rules within the appliance.
By contrast, storage pools are not only massive and growing, but the workloads they serve differ massively across organizations. The ideal hardware, disk to server ratio, I/O choice, etc., will differ dramatically depending on whether one is providing storage for video, audio, images, virtual machines, or if one is dealing with read-intensive versus write-intensive applications. Therefore, having flexibility in the underlying hardware is critical.
Furthermore, in an environment where pools of hundreds of servers and petabytes of disk are becoming commonplace, the economics of being able to flexibly source commodity hardware from multiple vendors becomes very compelling.
Finally, with the move to the cloud, it is clear that a hardware-bound model of storage will face challenges in the long term. One simply can't move a large, proprietary storage appliance to the cloud. For that matter, one also can't easily adapt the proprietary appliance model to the kinds of SMAQ workloads I discussed in my previous posts. Hence, in hybrid cloud or Big Data environments, there will be a clear imperative for the software model to win out.
For all of these reasons, I think it is pretty clear that storage will follow the compute, middleware, and application server segments of the IT market in adopting the software model of the world. I'm sure that the "hardware" folks will disagree vehemently, including ... perhaps ... my wife. Fortunately, as I mentioned above, my wife and I are both dog people so, there is a nice, warm doghouse for me to sleep in if I take this argument too far.