The SRM Dilemma

Storage resource management software is typically used to gain insight into disparate storage systems and SANs, and provide a bit of intelligence on the growth and health of storage across the enterprise. There are a number of them on the market, both open source and commercial, and they range from great to horrible. Many also include analytics and reporting on this information, but typically that’s vendor specific and hosted on the platform itself. If you’ve got more than one SAN, you must go to each one to get this info. Standardizing your storage is one way to avoid this, but often in the real world multiple legacy and production products can be found. This is especially true with companies that have been in business for a while.

Usually the solution to this is SRM software that brings all that data from all your storage together into a single pane of glass. There are some great open source products for this out there, but many don’t offer the full breadth of support a commercial one can provide. Unfortunately, there is usually a hefty price tag to start seeing that data. Like cars and appliances, you get what you pay for. Most of those do a great job at what they’re built to do, but it limits any shop on a budget or looking to keep costs low. This is one of my biggest peeves about the IT industry in general; the price of doing business is sky high. It’s little wonder most startups stick with open source. That’s a topic for a future post though.

So, if you have the resources you could roll your own solution, and that’s exactly what I wound up doing to get growth data and forecasting for three different storage platforms. This consisted of dual flash arrays from Pure and Nimble, and a spinning disk NetApp SAN.

In previous posts I’ve talked about using PHP and Powershell to put together a powerful web front-end to automation driven by Powershell on the backend. This is presented in an easy to use, web based interface that allows my team to run tasks like server builds, DR switching, and other automation just by clicking a button. It’s also used to provide reports and data on a variety of systems and infrastructure. I’ve used this platform to show growth analytics for these storage systems, including charts.

Luckily, all three vendors provide Powershell modules to interface with their products. If your storage system doesn’t, you can still utilize APIs or other management protocols as well. The following modules are needed for this:

I also used FusionChart’s excellent Javascript charting library to draw useful visual charts of the storage data. A Powershell script is run daily that gets the current stats and updates a MySQL database. The web front was setup with a report that shows the total space, used space, free space, growth for each day of data, and average growth rate to date, complete with a chart;














Super nifty, super good info, super free! Once I have monthly data this can be expanded to include that, then yearly, and so on. Insight into our storage without spending buckets of money is pretty helpful and solves the SRM dilemma.

The UltraDNS API and Powershell Pt. 2

In a previous post, I outlined using Powershell to work with the UltraDNS API. Here is an update with a screen shot of the GUI. As part of this project, I implemented a web front end that allows anyone on my team to trigger a DNS failover by domain, client, or datacenter. This web front end is used for many different functions and utilizes PHP for the web application, which calls Powershell scripts that do most of the heavy lifting.

This also includes several automated reports that gather a variety of different data; SAN statistics, patching reports, and more. This makes it easy to abstract running Powershell scripts for team members or other staff. They can access the web interface, kick off actions, and read reports. Future enhancements are pretty much unlimited.

Why roll our own solution? There is a lack of products that do anything like this, and this approach allows us to customize things to our own needs.