Historically compute and memory resources have been the easier to provision and manage due to more mature hypervisor technology. However technologies used for abstraction, provisioning and management of storage (Software-Defined Storage, SDS) and networking (Software-Defined Networking, SDN) resources are available, in-use and improving. When these technologies are utilized together you have a Software-Defined Data Center.
A Software-Defined Data Center is defined as an Infrastructure-as-a-Service (Iaas) platform where compute, memory, storage and network provisioning and management is automated and integrated into a single management interface. This allows for increased flexibility and efficiency and reduced deployment time.