Software Defined Storage Best Practices

Software defined storage offers a pathway to smoother and more agile software application deployment. But as it represents a fresh approach to system design, there are many challenges that lie in wait for the unprepared.

By Drew Robb  |  March 02, 2018

In the relatively new world of Software defined storage (SDS), using best practices can increase application deployment in flexibility and capability, yet this is not without its challenges. SDS could be defined as a set of software capabilities that automatically manage data 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. In addition, these advances can work with any company’s storage systems to provide automated and virtualized storage.

However, application deployment works differently from various SDS vendor. This means attention must be paid to the many facets of software defined storage app deployment.

SDS can cover virtually all application, workloads and use case types. Depending on the application and workload, users should select the SDS platform most appropriate. That means taking a close look at the file, block or object data in use.

“Know your applications workloads performance, availability, capacity, economic (PACE) attributes and requirements as well as hardware device options that need to be aligned with your environment,” said Greg Schulz, analyst with StorageIO Group.

Within a content repository, a client might use object storage. However, for database workloads (be it traditional or new style databases), SDS platforms that support block data would be preferred. Options include bare metal servers, storage arrays, virtual machines and the cloud.

Ideally, providers of SDS infrastructure should provide 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. 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 and I/O networking connectivity resources.

Monitoring Application Performance in SDS

Software application deployment benefits materially from performance monitoring. The best approach is to monitor as close as possible to where users of the applications will notice. Combine this kind of monitoring with internal metrics to verify that users are happy with the application. Crash reporting should also be implemented to detect bad deployments early

Fundamentally, SDS enables storage administrators to scale and manage their infrastructure much more granularly than with traditional storage. But if the necessary knowledge is not in place before implementation, application deployment disasters are possible. The best way to avoid serious trouble is to plan, size, and profile the application by considering data growth in the near term.

Upfront architectural design consulting: SDS users should also take advantage of upfront architectural design consulting, as well as training on how to maintain the system over its lifecycle.

Simulate failure: Similarly, it’s wise to simulate failure conditions in a controlled way to understand how applications handle them, and select application architectures that emphasize detection and remediation instead of prevention (MTTR over MTBF).

In addition, many SDS applications offer a rich set of data integrity and geo-replication features to help mitigate against natural disasters and human errors. In that sense, SDS is no different from any other type of application or storage. 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.

Be aware of application reaction: On a smaller scale, storage managers should be aware of how the application will react to adverse conditions. 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.

software defined storage best practices

The virtual data plane in software defined storage offers an array of advantages in monitoring and control. 

Software Deployment Best Practices

Disasters in application design are more than theoretical. One financial services company is on record for going bust in only 45 minutes. A failed deployment caused it to lose nearly $400 million. That, of course, is an extreme case. To avoid even minor fallout from a software defined storage deployment there are many best practices and tips that others have learned over the years.

Open source developers and software providers often post best practice documents, software application deployment tips and implementation guides on their websites. These should be studied in advance of any implementation.

Here are some of the top tips passed on by the experts: