VMware and Microsoft dominate the current server virtualization landscape, but with Virtual SAN and Clustered Storage...
Spaces, respectively, the two vendors have taken decidedly different approaches in terms of their software-defined storage architecture.
Software-defined storage (SDS) is the separation of the control path from the data path in storage infrastructure. It delivers an architecture that abstracts value-added software functionality normally delivered via a proprietary storage array controller away from commodity hardware and places it instead under the auspices of the server hypervisor software stack thereby creating storage as an application.
VMware strives to accomplish this feat by creating a new layer in its hypervisor microkernel stack called Virtual SAN, an architecture pioneered by StarWind Software Inc. From this vantage point in the hypervisor stack, VMware standardizes the internal and direct-attached storage inside and behind all the host servers participating in a minimum three-node Virtual SAN cluster. The software controller also manages the mirroring or replication of workload data between clustered hardware/software stacks. This is a departure from VMware's previous methodology, which relied on special SCSI commands to hand off bulk data copy functions to the hardware controllers of attached storage arrays. VMware states this decision is part of what makes them "pure software-defined storage." The company has absorbed all the functionality of the hardware array controller into its software.
This is partly intended as a dig at Microsoft, which, by contrast, has not abstracted all storage functionality away from the storage hardware. Microsoft's preferred approach involves pooling SAS disk and JBODs behind servers, leveraging Storage Spaces technology introduced in Windows Server 2012. Rather than taking all intelligence away from the commodity storage, Storage Spaces, in combination with Windows Clustering Service, implements a Clustered Storage Spaces pool that still relies on the SAS protocol and hardware to provide locking mechanisms for logical volumes.
Of course, a lot of array controller functionality has been absorbed into the software layer by Microsoft. For example, there is no RAID in Clustered Storage Spaces since the Windows Server 2012 Storage Spaces service enables the user to apply and administer different types of data protection and redundancy schemes. There is also no need for an array controller to set up tiering between solid-state drives (SSDs) and hard disk drives, since hot blocks (blocks of data receiving a lot of access) are automatically moved to the SSD components if present to improve performance.
Clustered Storage Spaces forms a "virtual SAN" comprising disks mounted into external JBODs behind clustered servers. This, by itself, can be used to host block data from virtually any source -- from enterprise applications like SQL Server and Exchange to Hyper-V virtualized applications and desktops. Perhaps the most interesting use case is to simply build a Clustered Storage Space behind a Windows File Server for shareable and scalable file-oriented storage. This scale-out file server leverages Microsoft's Server Message Block protocol, which is now in version 3.0.
The primary complaint about the Microsoft approach is its lack of support for inexpensive SATA disks that would reduce the cost of the storage space. Also, Microsoft does not offer efficient write-back caching leveraging DRAM or write coalescence via log structuring or some other means, which spares flash memory the impact of millions of wear-inducing small block writes. Arguably, Microsoft's native deduplication technology increases the number of writes, since data is first written "as is" and then deduped.
In the final analysis, it may be a wise strategy to compare the capabilities and limitations of both the VMware and the Microsoft SDS architectures with hardware- and hypervisor-agnostic alternatives from companies like StarWind Software and DataCore Software before committing to a particular software-defined storage strategy. Both companies offer trial versions of their software products and both integrate fairly well with existing hypervisor management consoles.
StarWind and DataCore offer their own virtual SAN options
What it means to have a software-defined data center