15 Software Defined Storage Best Practices

Enterprise Storage Forum content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Software defined storage (SDS) is an architecture designed to decouple storage software from proprietary hardware. It offers a set of software capabilities to automatically manage data both locally and globally, providing breakthrough speed in data access, easier administration, and the ability to scale technology infrastructures quickly and more cost-effectively as data volumes expand. These advances can work with any company’s storage systems to provide automated and virtualized storage.

But as SDS adds another layer of abstraction, following industry best practices is a smart way to simplify deployments and benefit from the flexibility and capability inherent in software-defined systems. We’ve rounded up and summarized 15 top expert tips.

Spend Time on Architectural Design

Preparation is the key to SDS success. Organizations should take the time to conduct detailed architectural design well in advance of implementation. Some organizations may have the resources to do such work internally, but don’t make the mistake of thinking you know all about SDS if you have little real-world experience. Bring in outside help, if needed, to ensure the initial architecture is correct.

Provide Training

Personnel need training on how to maintain SDS over its lifecycle. This should include IT and storage personnel, as both will be involved in storage provisioning. Many vendors provide such training as do a variety of independent training bodies.

Run Simulations

It is a wise move to run simulations of potential failure conditions in a controlled way. This helps IT to understand how applications handle such failures, and serves as an aid in selecting the best application architectures to avoid catastrophic events in the future.

Work with APIs

To obtain the biggest benefit of SDS technologies, applications need to work closely with related application programming interfaces (APIs) so they can take advantage of all the features they have to offer, such as object storage. This can save an immense amount of work in direct integration.

Instead of doing so, applications may be better served by a framework that provides the necessary abstractions to benefit from API features without having to directly modify the application. As such, the SDS approach offers greater versatility this way since an array of services can be used without tying each application to any one service in particular.

Start with the Familiar

At least at first, stick to areas of familiarity when it comes to software defined storage deployment. For example, those running databases that have experience of running a traditional SAN should focus on block storage-based SDS application deployment projects, as they’ve already attained some level of expertise with block storage and won’t need to change their processes when engaged in software defined storage deployment. There are also scale-out NAS approaches to SDS that can run on hardware from many suppliers.

Decouple from the Past

Take advantage of management flexibility. As software-defined storage decouples the storage controller software that manages traditional storage array systems from the underlying physical storage, a greater level of flexibility is facilitated. Those managing the environment, therefore, should decouple their thinking from old approaches to management. The software-based model greatly increases deployment and management flexibility, enabling them to choose whatever hardware platform and management tools they prefer.

Prepare for Disaster Recovery

Many SDS applications offer a rich set of data integrity and geo-replication features to help mitigate against natural disasters and human errors. Regardless of the featureset, though, a plan must be in place to recover from any minor or major events that could shut down the systems or result in data loss.

Map Application Requirements

Storage managers should be aware of how the application will react to adverse conditions and plan accordingly. For example, what happens when the application in your SDS environment does not get any response for 0.1 seconds or 1 second? Those designing the SDS system should map their application requirements with a strong focus on latency and bandwidth limitations.

Survey Underlying Infrastructure

SDS must be laid on top of a firm foundation of understanding. Survey your existing workloads, applications, and use cases so you can deploy SDS correctly. And be prepared to address infrastructural issues that may lie underneath SDS. Software defined application deployment may hit snags if it is implemented on top of older platforms that are in need of an update.

This becomes especially important as vendors may try to fit your software and application to their requirements and preferences. As they don’t know your environment, you should be the one defining what software should be doing. Find a vendor that suits your SDS approach and platform/application preferences.

Pay Attention to Vendor Selection

There is a wealth of different packages and applications for various storage usage scenarios. The key is to map your own environment and needs, and then pick a solution that aligns and supports that specific application workload. For those deploying in a virtualized environment, it may be best to converge your software defined application deployment around a particular virtual platform; a VMware shop should opt for VMware-compatible virtualized SDS solutions. Similarly, Microsoft shops should work with compatible platforms and solutions.

Remember, Hardware Matters

Keep in mind that while hardware requires software, all software also needs to run on hardware. It may be the case that an SDS solution does not require a specific type of proprietary hardware anymore, but that doesn’t necessarily mean that it will run well on any hardware. Pay close attention to what platforms and systems SDS solutions can run on and those they can’t.

Consider the Whole Menu of Services

SDS infrastructure should provide users with a menu of services that cater to different types of applications. It’s important to understand which service is most appropriate given the profile of the application’s workload. This helps those selecting services to know what they can and can’t do. In some cases, vendors provide comprehensive lists of services and documentation on compatibility and integration. If that data is lacking, IT needs to develop it and make it available to users.

Do Capacity Planning

Both the provider of infrastructure and the tenant should perform ongoing capacity planning to ensure both services and applications meet their service level agreements. Those services should be backed up with sufficient CPU, memory, input/output (I/O) networking connectivity resources, and of course, storage capacity. SDS only works well if the resources are there to support it. Good capacity planning ensures those resources are always available when needed.

Monitor Application Performance

Software application deployment benefits materially from performance monitoring. The best approach is to monitor application performance at the user level to head off issues before they become noticeable to users who then generate a lot of calls to the help desk. Crash reporting should also be implemented to detect bad deployments early.

Don’t Skimp on Post-Sales Support

Pay careful attention to support after the sale—who is responsible if there is a problem, you or the vendor? Failure to take this into account could mean having to call several vendors during a problem with each engaging in finger pointing, versus just calling one vendor who is willing to take charge. Such situations may become more accurate as SDS can obscure which application, storage asset, or platform is causing the problem. Ensure IT has the ability to resolve issues rapidly.

Bottom Line: SDS Best Practices Help Ensure Success

Software-defined storage offers a great many benefits, including flexibility, scalability, ease of provisioning, and more. But perhaps its biggest asset is to decouple storage software from underlying hardware. The best way to take advantage of its features is to know your environment and implement the best practices covered here.

Read about the 6 Best Software Defined Storage Solutions to find out which platforms most enterprises are turning to for their SDS needs.

Drew Robb
Drew Robb
Drew Robb is a contributing writer for Datamation, Enterprise Storage Forum, eSecurity Planet, Channel Insider, and eWeek. He has been reporting on all areas of IT for more than 25 years. He has a degree from the University of Strathclyde UK (USUK), and lives in the Tampa Bay area of Florida.

Get the Free Newsletter!

Subscribe to Cloud Insider for top news, trends, and analysis.

Latest Articles

What is Fibre Channel over Ethernet (FCoE)?

Fibre Channel Over Ethernet (FCoE) is the encapsulation and transmission of Fibre Channel (FC) frames over enhanced Ethernet networks, combining the advantages of Ethernet...

9 Types of Computer Memory Defined (With Use Cases)

Computer memory is a term for all of the types of data storage technology that a computer may use. Learn more about the X types of computer memory.

Is DAS or NAS More Secure? Comparing DAS vs NAS Security

Compare the security of DAS (Direct Attached Storage) and NAS (Network Attached Storage). Learn the key differences & security features now.