The past year has been a banner one for midrange storage, with sales on the rise and products becoming more scalable and capable. Some of you have newer midrange arrays that perform better than your older monolithic storage, with capacities to match. Midrange software is also gaining in sophistication. In many ways, today's midrange is merely yesterday's high end with newer parts and lower prices.
That's been great for budget-strapped shops struggling to keep their noses above constantly rising storage volume waterlines. But it's just that problem--never-ending storage growth--that begs for something more than just faster, cheaper versions of what we already have. Looking back over 2004, it strikes me that while commoditization of the midrange (and acceptance of low-end technologies) has set the tone for pricing conversations, advances in high-end arrays have set expectations for what future technology might look like.
I'm referring to IBM's DS series and Hitachi Data Systems' TagmaStore. Common threads run through both architectures: the primacy of software, the ability to concatenate arrays--even disparate ones--and the beginnings of a client/server architecture in storage.
The primacy of software is the most compelling trend in storage array design. Compare EMC's February 2003 launch of the DMX to TagmaStore and the DS series, and you'll see what I mean. DMX was about high-performance switching. TagmaStore promises a true network storage controller, and DS extends that with the potential to run not only volume management, but nearly any relevant application within the array in a much more manageable way. In this vision, volume management will grow into virtualization, replication into automatically scheduled migration and so on.
Part and parcel of this move is the wholesale borrowing of established concepts from the computing server world, notably client/server and partitioning. In some ways, TagmaStore sets up one array to be a "server" to other storage clients--i.e., the other arrays that will use TagmaStore as a virtual storage controller. With the DS series, IBM is applying partitioning with its new multicore processors--a technology that will feature heavily in future general-purpose servers--to figure out how to scale apps in a multi-array network.
The two current models--the appliance and the monolithic, embedded server--can't satisfy all the myriad sets of requirements you'll generate. Without granular control within the array, you might be forced to buy arrays that are too much for the application you require. Without a client/server relationship between arrays, you might have to manage a confusing mess of appliances to provide common services across arrays. Embedded applications and appliances have their place, but it isn't everywhere.
Storage servers may become the proving grounds for certain advanced concepts of server design like partitioning. Makes sense, because the environment is more closely controlled than your average application server, where allowances have to be made for the unexpected.
These technologies are brand new, and only time will tell if they work and if you can make effective use of them. If they work in the high end, they will trickle down into the entire tiered infrastructure. Today's high end is tomorrow's midrange, hopefully at a lower price.