There are different interpretations of software defined storage (SDS), and this is the definition that we believe is the one that is the most common. Software defined storage manages all of your data storage, the same way as an operating system manages applications. It virtualises all of the disks, controllers, memory and storage and networking ports associated with the storage chassis and then creates virtual disk volumes for the applications and services. Normally SDS does not use the RAID controller or create a software RAID, instead it handles each disk independently based on it's characteristics i.e. HDD 15k, SSD 1TB etc. By controlling the storage components, enables the SDS to create virtual disk pools based on performance and then can map blocks of data where it is needed the most such as a tier 1 SSD volume.
Depending on the size of SDS deployment most SDS applications require a server(s) with multiple disk bays or a server(s) with a JBOD chassis and a certified SAS controller to work. Depending on the SDS solution you could attach 2-3 JBOD chassis to the server to create a resilient pool of storage. Alternatively, attach three JBOD chassis to three servers and create a scalable clustered architecture allowing the SDS to write data across multiple virtual volumes across the JBOD chassis.
Some software defined storage application enable you to pool multiple disparate disk vendors storage under a single umbrella in a unified architecture to provide storage to your applications and services at greatly accelerated performance.
Every storage vendor has slightly different ways of providing disk volumes, features and functionality. Most businesses tend to buy storage to solve an application issue and it is not necessarily always the same vendor that they choose. The same vendor may purchase another storage business and add it to it's existing storage portfolio, it may not use the same software management layer or even have common code. This over time causes issues in trying to manage multiple storage infrastructures from multiple hardware vendors, training, maintenance and interoperability issues all add to the cost and complexity.
The problem with storage hardware is everything is unique per storage vendor, yes they all adhere to the SAS/SATA protocols for writing data and this is where the commonality ends. How those blocks of data are written could go through various stages i.e. written on RAID cache, system memory, SSD cache etc. Need more IOPS, add another storage shelf containing SSD's or for increased capacity more HDD's. However, there certainly is a limit to how many disk shelves you can add and how many RAID controllers are supported to keep the system operation. Furthermore, with traditional storage infrastructure, it becomes a challenging task to assign resources to applications based on their specific requirements, hence under or over utilisation of specific storage resources often occurs.
This is where a software defined storage architecture differs, start utilising what you already have far more efficiently as it separates storage characteristics from the underlying hardware infrastructure and delegates them to the software layer. SDS manages the storage based on the unique characteristics of each disk i.e. HDD, SSD, NVMe etc. This provides a far lower priced entry point to building a highly redundant, reliable and performance storage solution that allows you to add additional functionality when the next revision of software becomes available. Saves the expense on purchasing additional hardware since better performance, data availability, and resiliency are all provided by programs. With software defined storage, you can manage your heterogeneous storage infrastructure from a single pane of glass and provide your applications with necessary storage and performance requirements.
Firstly a software defined storage architecture utilises the storage characteristics from the underlying hardware. This means an SDS solution can run on commodity x86 server hardware, enabling huge cost savings over traditional storage area network (SAN) and network attached storage (NAS) systems, which tightly couple software and hardware.
By separating the hardware from the software, SDS provides a far more affordable method to purchasing the storage components. No longer do you need to buy an OEM disk at an inflated price, you can now buy common hardware components at greatly reduced prices and build a solution using the latest SSD drives or 14TB hard disks etc. Software defined storage breaks vendor lock in and eliminates the interoperability, under and over utilisation issues and enables a business to scale for performance or capacity as and when required at a far more attractive price point.
Some SDS systems even provide HA and clustering capabilities to ensure continuous up-time and allow you to seamlessly add more storage or functionality that were previously unavailable with your existing infrastructure. Features such as QoS (quality of service), deduplication, replication, snap shots, thin provisioning etc.
A software defined architecture by design makes your IT infrastructure more flexible. It allows the system to both scale up by simply throwing in more capacity to the existing storage nodes, or to scale out by adding new nodes with their own storage, RAM, and CPUs to increase both capacity and performance. As the software defined storage controls individual storage devices it provides a transparent storage tiering platform that knows and understand where the blocks reside, the SDS application can automatically move the data to less performant storage based on the application, last access date etc, all this is done transparently through the SDS application.
With SDS, storage management becomes unified and much easier as all storage resources are pooled together and orchestrated at the OS or hypervisor layer with the help of virtual storage controllers running on every cluster node. Ultimately, provide applications with all the necessary resources, including compute, memory, storage, and networking, via a single management interface, thus reducing training costs, maintenance and vendor lock in.
Probably, the number one scenario where software defined storage is used is for high availability for mission-critical data. In case a server goes down, the SDS architecture allows shifting load and data automatically to another available node. SDS can mirror internal storage resources between hypervisor servers, creating a highly available storage pool and allowing data to remain available even in case something happens to the node where it was stored.
Another use case for SDS is non-disruptive data migration. By deploying an SDS solution enables you to virtualise storage volumes on existing and new storage arrays and swiftly migrate data between them. Thus, applications continue running while remaining unaware that data migration occurs.
As cloud storage becomes more and more popular as it offers a reliable and cost-efficient way for storing data. This is where SDS provides the flexible scaling options (scale up/scale out), to expand storage infrastructures to the cloud delivering even higher cost-efficiency and DR capabilities.
If you would like to know more about the software defined storage solutions we provide, please complete the form below or call us on 01256 331614.