In a traditional data centers, there are several challenges in provisioning and managing storage in an efficient and cost-effective manner. Some key challenges the storage administrator face while provisioning storage in the traditional IT data centers are
- The traditional storage arrays have the intelligence tightly coupled with physical hardware controllers. Then it is in-turn tightly coupled with the physical drives and rest of the backend. The firmware which provides the intelligence and all the data services will run only on specific hardware controllers from the same vendor.
- Each application type normally has its own vertical stack of compute, networking, storage, and security. This leads to the creation of a loose collection of IT segments, which increases the infrastructure’s complexity. This creates management overhead and increases operating expenses. It also leads to poor resource utilization because capacity cannot be shared across stacks.
- Data centers have multi-vendor, heterogeneous storage systems, and each type of storage system (block-based, file-based, and object-based) has its own unique value. However, critical functionality is often tied to specific storage types, and each storage system commonly has its own monitoring and management tools. There is limited resource sharing, no centralized management, a little automation, and a lack of standards in this environment.
- Application workload complexities and higher SLA demands pose a further challenge to IT. IT finds it difficult to allocate storage to satisfy the capacity requirements of applications in real time. There are also new requirements and expectations for continuous access and delivery of resources as in a cloud environment.
- Traditional environments are not architected for smart technologies such as cloud computing, Big Data analytics, and mobile applications. Therefore, there are several challenges in managing massive data growth, cost-effective scaling, and providing self-service access to storage.
To address the above discussed challenges, the storage world has come up with a new storage management technique called Software-define storage.
Software-define storage (SDS) is just the opposite of traditional arrays, they decouple the hardware and the intelligence. SDS sees storage in three layers – Orchestration, data services and hardware. None of these layers are tightly integrated with each other so that they can be mix and matched to provide more flexibility in choosing hardware, data services and orchestration technologies
Software-defined storage (SDS) Overview
Software-defined storage (SDS) is a storage infrastructure that is managed and automated by software. SDS abstracts heterogeneous storage systems and their underlying capabilities, and pools the storage resources. Storage capacity is dynamically and automatically allocated from the storage pools based on policies to match the needs of applications.
In general, SDS software abstracts the physical details of storage (media, formats, location, low-level hardware configuration), and delivers storage as software. A storage system is a combination of hardware and software. The software stack exposes the data access method such as block, file, or object, and uses persistent media such as HDD or SSD to store the data.
SDS software separates the software layer of a storage system from the hardware. It supports combinations of multiple storage types and access methods, such as block, file, and object. It enables storing data on both storage systems and commodity disks, while providing a unified external view of storage.
This allows organizations to reuse existing storage assets, and mix and match them with commodity resources, while serving data through a single namespace and storage system spread across these different assets. For example, in a data center that contains several distinct file servers, SDS can provide a global file system, spanning the file servers and allowing location-independent file access.
SDS enables organizations to build modern, hyperscale storage infrastructure in a cost-effective manner using standardized, commercial off-the-shelf components. The components individually provide lower performance. However, at sufficient scale and with the use of SDS software, the pool of components provides greater capacity and performance characteristics.
Key Features of Software Defined Storage (SDS)
SDS transforms existing heterogeneous physical storage into a simple, extensible, and open virtual storage platform. The key attributes of software-defined storage are as follows
- Storage abstraction and pooling: SDS abstracts and pools storage resources across heterogeneous storage infrastructure. SDS software creates a single large storage pool with the underlying storage resources, from which several virtual storage pools are created. SDS decouples the storage control path from the data path. Applications connect to storage via the data path.
- Automated, policy-driven storage provisioning: A “storage service” is some combination of capacity, performance, protection, encryption, and replication. In the SDS model, storage services are dynamically composed from available resources. SDS uses application policies to create a “just-in-time” model for storage service delivery. Storage assets and capabilities are configured and assigned to specific applications only when they are needed. If the policy changes, the storage environment dynamically and automatically responds with the new requested service level.
- Unified management: SDS provides a unified storage management interface that provides an abstract view of the storage infrastructure. Unified management provides a single control point for the entire infrastructure across all physical and virtual resources.
- Self-service: Resource pooling enables multi-tenancy, and automated storage provisioning enables self-service access to storage resources. Users select storage services from a self-service catalog and self provision them.
- Open and extensible: An SDS environment is open and easy to extend enabling new capabilities to be added. An extensible architecture enables integrating multi-vendor storage, and external management interfaces and applications into the SDS environment through the use of application programming interfaces (APIs).
Go To >> Index Page