Software Defined Storage is the management and automation of storage infrastructure using software rather than dedicated hardware. This approach allows storage resources to be utilized and assigned programmatically, improving efficiency and agility. This software can include storage management functions such as de-duplication, replication, thin provisioning, and backup / restore.
By adding a layer of abstraction, separating the storage hardware from the software that manages it, SDS provides flexibility in choosing heterogeneous storage hardware. Programmatic control of the storage infrastructure enables compatibility with automated provisioning, thereby increasing agility and reliability.