 Abstraction: In the SDS all the hardware are managed centrally. This provides a kind of abstraction SO the system can be viewed managed and maintained as a whole not each storage devices. This provides easy debugging and maintenance of the storage devices. Automation: The SDS provides automation to the operations of configuration and monitoring. The automation helps to take necessary action by using polices defined in response to certain event. Programmability: The centralized management interface provides programmability to storage using API available. It helps in providing automation, monitoring and dynamic configuration of the storage system. Policy Driven: It allows the administrator to set the policy for data service and storage. The policies are implemented over the central management interface that governs the storage devices. SDS also has the capability that the end user can define the policy for the storage devices as per its convenience. Data VS. Storage Services: SDS provides the feature of separating the data services from the storages service. The Service may use the same path or different path depending on the application. Functionalities of SDS The SDS system to provide all the expected features must provide the following functionalities. This functionality can be developed as an application over the provided or the system component. These functionalities help in fulfilling the business requirement and service level agreement (Coyne L. et. al (2017)). Downloaded 4/15/2022 9:44:49 AM Nova Southeastern University IP Address: 137.52.76.29 Software-Defined Storage Storage Virtualization: Virtualization the most important concept used in cloud computing to support SaaS model. The SDS needs to provide the virtualization of storage resource SO that the storage pools can be created and resource sharing can be done to maximize the resource utilization. The virtualization should support heterogeneous storage array and devices. Features like transparent data migration thin provisioning compression and de-dup