Software-defined storage (SDS) enables users and organizations to uncouple or abstract storage resources from the underlying hardware platform for greater flexibility, efficiency and faster scalability by making storage resources programmable.
This approach enables storage resources to be an integral part of a larger software-designed data center (SDDC) architecture, in which resources can be easily automated and orchestrated rather than residing in siloes.
Most comprehensive application integrations require open programmable APIs for workflow automation, which SDS is uniquely designed for.
Software-defined-storage (SDS) solutions are alternative data storage programs where the storage resources are decoupled from the underlying physical hardware. This makes them more flexible than traditional storage area network (SAN) or network-attached storage (NAS) programs that are attached to the hardware. SDS programs typically run on either the server operating system (OS) or virtual machines (VM). But certain programs may run on a hypervisor kernel which allows for multiple VMs to be used simultaneously on one device.
These programs are also related to software-defined networking (SDN) and the software-defined data center (SDDC) architecture. These products reflect a broader industry-wide shift towards the virtualization of software-related functions such as storage, networking, and security.
SDS solutions have become very popular for recently for a few key reasons including:
- the evolving and increasingly unstructured nature of data
- increasing customer need for data virtualization capabilities
- rising demand for cloud storage technologies
Common SDS use cases include:
- Workflow automation
- Virtualized desktop infrastructure (VDI)
- Data security and protection
- Data management of integrated public and private cloud systems
- Providing better data access for remote offices
- Increasing data storage efficiency by eliminating silos
- Extending the life of more traditional storage systems
How Software-Defined Storage Works?
Software-defined storage is an approach to data management in which data storage resources are abstracted from the underlying physical storage hardware and are therefore more flexible. Resource flexibility is paired with programmability to enable storage that rapidly and automatically adapts to new demands. This programmability includes policy-based management of resources and automated provisioning and reassignment of the storage capacity.
The software-independent nature of this deployment model also greatly facilitates SLAs and QoS and makes security, governance, and data protection much easier to implement.
When administered correctly, this model increases performance, availability, and efficiency.
Benefits of Software-Defined Storage
- Future-proof with independence from hardware vendor lock-in
- Programmability and automation
- Faster changes and scaling up and down
- Greater efficiency
Types of Software-Defined Storage
A range of software-defined storage types exist in the market today, including:
- Container-based (for example, running in a Docker container)
- Scale-out storage for unstructured data
- Distributed file systems for object storage offload
- HCI software (storage is combined with networking, compute, and virtualization software in the same package)
Scaling Out vs. Scaling Up Storage Capacities
Scaling-out is an alternative to the more traditional ‘scaling-up’ method of increasing storage capacity. It involves adding additional storage space with SDS products that do not need to be physically attached to the hardware underneath.
Scaling-up storage involves adding more physical storage – such as disk drivers – to the original storage infrastructure to increase capacity. One drawback of scaling-up storage is that there is a limited amount of upgrading that can be done. In comparison, when scaling-out storage, there is essentially no limit to the amount of storage resources that can be added.
SDS Features and Capabilities
Most SDS products include a number of features and capabilities targeting storage management and functionality such as:
- Abstraction of storage resources from the underlying hardware
- Virtualization of pooled storage resources
- Ability to manage pooled storage via one administrative interface
- Policy-based management of storage resources
- Ability to increase storage capacity through scaling-out the system across a server cluster
- Compatibility with industry-standard hardware (x86 servers and API)
- Access to different types of storage interfaces such as block, file, and object storage
However, there are a multiple storage options to consider when selecting an SDS product. These include different scale-out and/or block, file, and object options, container-based software, virtualized software, and hyper-converged infrastructure (HCI) software.
SDS Vendors and Products
- VMware vSAN
- Microsoft Storage Spaces Direct
- Red Hat Ceph Storage
- Red Hat Gluster Storage
- HPE StoreVirtual VSA
- DELL EMC ECS, IslonSD Edge, VxRail
- IBM Spectrum Storage