With the rapid growth in the volume and diversity of the data types being created, software-defined storage systems enable companies to effectively adapt to rapid growth rates. Recently, the concept of software-defined storage has been actively promoted in the market, and as a result, not everyone is well aware of what this term actually means. Let's take a closer look at what lies behind it.
It's not about software at all.
When it comes to software-defined storage systems, it is important to understand that the main thing here is not software at all. Indeed, traditional storage arrays have always included complex software stacks, and software components have always been used to manage storage (for example, for transferring files and allocating volumes). Moreover, extracting software from a traditional array and decorating it as a separate product does not make the storage system software-defined. So what's the deal then?
The basis of the software-defined storage system is the principle of
intelligent application of distributed computing methods to the design of storage systems . Combining the capabilities of distributed computing with standard hardware and new ways to optimize the storage system improves space efficiency, increases productivity, improves manageability and scalability. As a result, we get all the basic components for a cost-effective solution to the problem of a sharp increase in data volumes:
')
- flexible horizontally scalable software storage systems designed to run on standard hardware,
- local access to data using multiple protocols
- built-in geo-replication mechanisms
- and all this is implemented using simplified and significantly more scalable management tools.
As a result, companies can reduce capital and operating costs by:
- increase the flexibility, speed and scalability of storage management,
- introducing a simpler and more modern application usage model.
This is the concept of software-defined storage.
Flexibility, scalability, simplicity and lack of compromise
Flexible horizontal scalability implies the ability to incrementally increase storage capacity by simply adding standard nodes. As resource demands grow, such a flexible system can be expanded easily and predictably. At the same time, traditional storage arrays, when reaching the limit of one separate system, require the addition of new systems, each of which is administered separately from the array. This leads to complication of management, as it is necessary, for example, to transfer data between systems or develop complex logic for allocating resources in order to select a system for hosting new workloads. And the principle of horizontal scaling, which involves the expansion of a single logical system, makes it easier to solve the problem of a sharp increase in data volumes.
Flexible horizontal scalability allows you to store previously unthinkable amounts of data. The difficulties of storing various types of information are solved by access using several protocols and ensuring local access to this data in various applications. A multi-protocol storage system is a system in which access to
the same basic data is provided through the interface of one or several protocols. The use of multiple protocol interfaces is well suited for storing and processing unstructured data (audio streams, social networking data, log files, telemetry data, etc.), which account for a large proportion. Such platforms can easily support data acquisition workflows using application network protocols (for example, REST), and simultaneously provide local analytics of this data in Hadoop and Spark infrastructures using access protocols (for example, HDFS) optimized for streaming data.
Flexible horizontal scalability and the use of multiple protocols are key features of the new software-defined storage systems. But what to do with existing storage systems? Is the concept of software-defined storage applicable to the entire environment? Yes, but in a slightly different way. The last element of the concept allows you to solve problems through management and automation functions, which, to a certain extent, allow you to manage traditional storage infrastructure
as if it were program-defined .
This is achieved by applying proven abstraction principles, resource pools, and policy-based automation to traditional storage environments. These management components, commonly referred to as
software-defined storage controllers , automate many complex storage management processes for traditional infrastructures — in particular, resource allocation, protection, migration, and data repurposing. As a result, IT services can reduce the operating costs associated with existing storage systems, while at the same time improving service quality and reducing service delivery times.
Delivery of software-defined storage with equipment
In principle, software-defined storage systems operate independently of hardware. But this does not mean that they
must be acquired in the form of a fully software solution. Although large enterprises may purchase appropriate software and then create their own software-defined storage systems, this option may not be suitable for smaller companies. Sometimes, to accommodate broader customer interests, software-defined storage can be shipped with standard hardware in the device form factor. This option combines the advantages of a software-defined stack with the acquisition method typical of traditional arrays.
So if you ask yourself what is better: purchase software-defined storage in the form of a software solution or a hardware device, the answer is very simple: choose the option that suits you best.
Datacenter Problem Solving
Software defined storage is one of the elements of a software defined data center. The other two elements are software-defined computing resources (remember virtualization and containerization) and a software-defined network. Of these three elements, the storage system was implemented last. Designing a system for
reliable data storage with the possibility of horizontal scaling, access using several protocols, geo-distribution, local analytics, and even with simple management tools is truly a daunting task. That is why storage providers took so much time to create systems that meet customer expectations.
Using software-defined storage, companies can create huge geo-distributed pools that require very little effort from the IT service and users to expand. It also provides unprecedented economic advantages, since platforms based on standard equipment are increasingly being used as the basis for next-generation storage systems, which are replacing more expensive specialized arrays.
Everything begins with a proper understanding of the concept of software-defined storage: it is an approach to designing storage systems that uses the principles of distributed computing, and which allows for flexible horizontal scaling, access using several protocols, geo-distribution and local analytics, and simplify management. This is how we can solve the crucially important task of storing increased amounts of various types of data.
We will tell about examples of software-defined solutions, real methods of their use and the benefits obtained in one of the future publications.
You can also get acquainted with several thematic webinars:
ScaleIO Webinar:
https://www.brighttalk.com/webcast/12667/173571
VIPR Controller Webinar:
https://www.brighttalk.com/webcast/12667/173479
Elastic Cloud Storage webinar:
https://www.brighttalk.com/webcast/12667/173477