Balancing Storage Performance and Cost Utilizing Auto Tiering and Thin Provisioning
Hundreds of TBs per day are collected and stored by companies like Facebook and eBay! Small, medium, and large enterprises have lots and lots of storage in their environments. Some of it is internal to servers, direct attached, network attached, fiber channel block, and/or object. On average, according to Gartner and IDC, the amount of storage is growing annually at a 16% clip. The bottom line – we all feel compelled to collect more data and, like the 10 old sweatshirts in your closet, to keep files and data forever! Users want their applications to respond instantly. Database and application teams expect the storage system to deliver high I/O and throughput. It seems that everyone wants high performance and long term retention of data at a reasonable, aka cheap, cost.
As the Director of Information Technology or Storage, the target is to deliver the required performance within or below budget. Not an enviable position to be in, I know. I will outline the technologies that you should be using and a recommended storage tier framework. This information can be used to guide your design of the storage service that will meet the performance and cost requirements.
Most enterprises have multiple storage tiers made up of SATA/NL-SAS, Fiber Channel (FC), and now Solid State Disk (SSD). The storage and server teams place systems and their workloads in the tier they think is needed in order to meet the performance requirements that the application team provides. If the performance requirements end up being different, the storage, server, and application teams manually migrate to the next tier up or down. This process is usually time consuming and requires gathering approvals and a change window.
What can be done to help with this situation? Introducing storage auto-tiering and thin-provisioning. EMC, IBM, Hitachi, and most other storage vendors have introduced their own versions of storage auto-tiering. What is storage auto-tiering? Storage auto-tiering is a storage software management feature that dynamically moves data between different disk types and RAID levels to meet performance needs. The auto-tiering software places the data on the appropriate disk/RAID group based on how frequently or infrequently the data is accessed. When data is “hot” or accessed frequently, it is placed on the higher performing, more expensive disk/RAID group (e.g. SSD). When data is “cold” or accessed infrequently, it is placed on the lower performing, less expensive disk/RAID group (e.g. SATA). Obviously, the benefits are that the data uses a small amount of expensive SSD in conjunction with less expensive FC and even less expensive SATA/NL-SAS drives. This lowers your overall cost per GB and delivers the needed performance.
Thin provisioning can also help. Thin provisioning enables the allocation of more storage space than what is actually available. This is possible because the majority of servers do not use a large percentage of their allocated storage. Thin provisioning takes advantage of this fact. How does this help financially? Essentially, the storage team purchases and deploys less actual disk space than what is allocated. This can result in 10%, 20%, 30%, or more CAPEX reduction.
Suggested Tier Approaches
Now that we are going to use auto-tiering and thin provisioning, let’s look at a couple of different approaches to the new storage tier(s). There are a few different storage tier approaches one could take and you will have to decide which is right for your environment. The first example is a single tier with a mix or ratio of SSD, FC, and SATA/NL-SAS. The mix of the three drive types would deliver an average level of IOPS, latency, and throughput for all of the workloads which are using the tier. The workloads could range from needing high IOPS and low latency to low IOPS and high latency and anything in between. The main benefit of the single, auto-tiered storage tier is that it is simpler to provision, maintain, and allocate to servers. The main drawback is that some workloads could be squeezed out of needed SSD or moved into SSD when the performance isn’t needed.
Another approach would be establishing multiple tiers with differing mixes of SSD, FC, and SATA/NL-SAS. One might establish a three tier approach that could be described as Gold, Silver, and Bronze with Gold being the highest performance tier and Bronze being the lowest performing tier. An example of the disk ratios would be for a 1TB LUN of the Gold tier, 5% or 50GB could be SSD, 20% or 200GB could be FC, and 75% or 750GB could be SATA/NL-SAS drives. With the three tier approach, there would be differentiated storage options with specific performance capabilities that would be used in order to meet the specific needs of the applications. The main drawback would be the on-going maintenance of the tiers.
In summary, Information Technology teams are in a world of constant change with varying business demands including better performance for application workloads and reduced costs. One must retain more data every second of every day and meet business demands of responsiveness. The two recommended approaches are to implement auto-tiered and thin-provisioned storage. Utilizing these two storage technologies enables the establishment of storage tiers that will maintain or improve performance and reduce costs! Who would say no to that?