Agile management approaches for software development have been successful, but can we apply the same concepts to storage? I believe the answer is yes. Utility computing uses structured service delivery and adaptive service identification to help organizations develop storage services that change with their companies' needs.
There are two approaches to defining storage services in a utility computing environment: One is to classify your storage components into tiers with defined business performance and cost levels; another is to look at providing the lowest cost and then focus on usage, and the ability to move up the performance curve with business demand.
The first approach places the emphasis on defining requirements and examining service contracts, while the second approach starts with the contracts, but moves forward to focus on the quality of service experience, such as emphasizing the ability to adapt to change.
As an example, consider your cell phone service. You can call your cell phone provider and subscribe to a particular service level plan with an associated cost. This is the essence of an on-demand service contract. But let's say you have unanticipated events that result in increases in cell phone usage, and when you get your bill from your provider the following month, you are a little more than surprised with the cost. Goodness, did I spend that much time on the phone? After having received a bill like this on a couple of occasions, you get frustrated and start to ask -- why not just move me up to the next plan if my minutes are higher? I will accept reasonability for over-estimating my usage, but why can't my cell phone service provider help me out in times of growth?
The issues are similar to storage provisioning for new projects and new releases to existing projects. Document the service level objectives based on the current service plans that your organization delivers, but don't stop there. Consider how to handle growth: If the business experiences a sudden spurt in growth, don't focus on a defensive position and penalize the business with slower performance or higher costs. Instead, build an infrastructure that recognizes performance level changes and adapts when the business performance levels change.
This is the focus of a variety of storage policy engines in the market: Building an awareness of application usage and adjusting the underlying infrastructure so it can adapt. For example, a file-level storage resource management product that recognizes that certain file access patterns have changed. The repeated access activity is an opportunity for improvement, allowing files to be moved to a higher tier storage platform, transparently. This increases the storage service quality experience. The same could be said for moving files to lower cost storage as usage levels are reduced; however, I would recommend that this be structured as an alert instead of an action, depending on the service contract requirements.
About the columnist: Robert Stevenson is a technology strategist for a leading audience measurement company in Oldsmar, Fla.