As I wrote last week, server-based caching and tiering--the process of moving data closer to the server--can help break network bottlenecks. But at some point you have to wonder: have we taken the whole concept of tiering too far? Are we making the placement of data too complex? Let's break it down.
What's the problem that server-based tiering Is trying to solve?
Creating a tier of flash-based storage in the server is supposed to improve performance but that is a broad swipe at what is typically a nitpicky problem. How would this solution compare to other performance improvement methods? The competing view would be that solid-state storage systems on a high-speed storage network would offer much the same performance benefit. Alternative: if you are going to go "local" with data, why not go local with all your data and use one of the cloud storage designs?
Which performance problem does a server-based tier or cache of storage solve? By moving data off of mechanical or solid state drives and putting it inside the server, the implication is that either the storage system or the network is the performance problem and putting the most active data inside a server will improve performance.
The network performance improvement.
Can the network cause a storage performance problem? Sure it can. But is a server-based storage tier the best way to solve the problem? As always, it depends. If you have an average network, 4GB FC or 1GB Ethernet, it is certainly possible, especially with server virtualization, to flood the storage network channel to the point that it becomes the bottleneck. Certainly moving most of the active data, even if it is only reads, off of the network and putting it inside the server will improve performance.
Is implementing a server-based tier worth the effort and expense if you are going to be upgrading to 8Gb FC, 10GbE, or 16Gb FC in the next year or so? Maybe not. As I noted in my article, Is PCIe SSD Always Faster, when you get to the point where every server or host has access to this type of bandwidth, and assuming that the OS or hypervisor knows how to use that bandwidth efficiently, then the performance delta between having the data local on a PCIe base SSD in the server or a shared SSD on the SAN is measured in microseconds.
The advantage that a server-based storage tier will bring is the ability to fix host-specific performance problems without having to upgrade the network or change out the storage system. For legacy environments that are having network performance problems, there is certainly value to the strategy. Another question is if a single vendor is qualified to provide all these tiers of storage and do it better than a vendor focused on just one specific type of storage.
If you are currently considering a refresh of your storage or storage network or both, you might want to wait to see how that improves your performance before implementing a server based tier or cache. You might want to consider a solid-state storage appliance or SSD to go in your storage system along with that network upgrade as well. If the key stumbling block to upgrading the storage network is price, there are many new methods that can use inexpensive 10GbE as a connectivity option.
The storage system problem
Next time we'll look at storage systems' performance problems, which might actually be the main motivation for legacy storage manufacturers to bring server-based storage tiering solutions to market. Certainly most, if not all, storage systems can add solid state to their chassis but many don't get near the performance they should. Maybe server-based storage tiering is a way to hide that reality.
Track us on Twitter