Software-defined storage refers to technology and tools that abstract storage services from the physical storage...
hardware. These services -- thin provisioning, deduplication, snapshots, replication and more -- have historically been developed by the storage vendor and run on their proprietary storage controllers. Today’s software-defined storage vendors take the next logical step of making these services agnostic to the hardware platforms they run on. By separating the storage hardware from the storage software, users gain flexibility, manageability and a host of other potential benefits, not the least of which is cost savings, since most storage vendors have charged a premium for these features. Generally, software-defined storage vendors sell systems that comprise the same three components: the software providing the data services themselves, the hardware running that SDS code, and the hardware supporting the storage media in use. In today’s market, it’s helpful to think about those components being delivered in three different models, outlined below.
Software only, hardware separate
The software-only approach to SDS involves the software (component No. 1) running on the physical server hardware (component No. 2) that the user chooses. This can be existing infrastructure when appropriate, or new hardware bought for the purpose of software-defined storage. The user must also choose the storage infrastructure (component No. 3) that their software-defined system will manage. Will it be disk arrays or flash? In the server or as a NAS or SAN? Obviously, this approach is more involved than simply buying a server appliance or a complete system that includes storage. However, from a user’s perspective, it does allow you to choose the storage you want to deploy with SDS. And from the perspective of the software-defined storage vendors, they are able to focus on software development and exclude hardware from their offerings. Ideally, they are able to get to market faster than competitors with frequent product updates.
Software with commodity hardware
This approach combines software with commodity server and storage hardware that’s preconfigured to run the SDS application. These systems typically have controller heads that run the SDS software and connect to shelves of disk capacity. The obvious advantage over the software-only approach mentioned above is users are absolved of designing the hardware part of the infrastructure and, for the most part, get a plug-and-play solution. On the other hand, users give up some flexibility, and this strategy means they can’t use existing hardware.
For vendors, this approach reduces risk. Yes, they do have to include hardware in their offerings, but using commodity hardware means the investment is less than the large, traditional, custom storage array vendors must make. However, the downside can often come in terms of performance since commodity hardware is typically designed to support hard disk drive (HDD) storage, which can mean it’s less-efficient when running flash and it can sacrifice storage density, as HDDs require more space and larger power supplies than flash. Finally, custom-designed hardware products enable the vendor to fine-tune the SDS software to the hardware, something that the commodity software products can’t match.
Combining software and custom hardware
This approach combines SDS software with hardware that is optimized for it. This creates a system with the greatest potential efficiency and highest possible performance. It’s important to note that SDS generates a fair amount of CPU overhead, something these custom-designed products are better able to handle. The downside is that this approach may be the most expensive to buy and offers the least flexibility, since it’s already packaged together by the vendor.
This is the approach most often taken by existing storage vendors who come out with SDS products. They can add SDS software to their existing storage systems, modifying the hardware as needed. For use cases where flash is important, this custom hardware approach may be the best option of the three, since it can be designed to specifically support flash, instead of using general-purpose hardware.
Successful implementation rests on cost and performance
SDS is a technology that’s proliferating across the storage industry, from startups to the largest existing storage vendors. Most SDS products include the same three components: software, the compute hardware it runs on, and the storage itself. But there are multiple ways to deploy SDS systems.
The software-only approach can offer the most flexibility, but can be more complex to implement since users have to choose and procure the hardware. The software and custom hardware approach can offer the greatest performance and simplest implementation, but can also cost the most. In the middle ground is the software and commodity hardware approach, which combines lower-cost hardware with a more plug-and-play design. The right one for your data center is largely dependent on which is more important: extracting maximum value, maximum performance or a balance of the two.
Are virtual volumes or SDS more efficient?