Previously we discussed the shift from the traditional array based storage to a more software defined model. Of course this is not a huge shift per-say, but rather a changing of marketing terms and perceptions. The Software Defined Datacenter is nothing more than virtualzation at all its levels, simply a further shift of our distributed compute trend. It is also important to remember, traditional array based shared storage is not dead, despite the numerous storage vendors competing in the software defined storage space, there is still a great deal of development around the traditional storage array, but that is a future topic.
When looking at traditional storage, it is necessary to understand the essence of the storage array. You have a processor, memory, networking, and hard drives, all tied together by an operating system. In essence you have a very specialized, or in some cases a commodity, server. So what differentiates all the vendors? Generally speaking, the software and support. Most arrays provide similar functionality to one degree or another. Certainly one manufacturer may do something somewhat better, another company may have some specialized hardware, but from a very high level business business perspective, they essentially perform similar functions, and it is left to those of us who are fascinated by the details to sort out which array is best in a specific environment, and determine who can best support them for the long term.
As we begin to shift storage onto servers, relying on industry standard processors, memory, and network components rather than specific and dedicated parts, there is a trade off, much like we saw when we began to virtualize the compute layer. No longer does the storage vendor have control of the underlying hardware. No longer is purpose built hardware available to absorb some of the load. This presents an interesting challenge for storage and server vendors alike.
Unfortunately while manufacturers will set standards, write reference architectures, and create support matrices, many users will bend or even simply ignore them. When the storage vendor cannot control the hardware, it becomes much more difficult to provide performance guarantees or support. There will always be a certain need for traditional array based storage, for performance guarantees, and workloads that software defined storage just cannot support. As users demand more, faster, and cheaper storage for their apps, we are going to have to find a way to strike a balance between the traditional arrays, software defined storage, and the new technologies being created in labs around the world.