In 1966, Clint Eastwood, Lee Van Cleef and Eli Wallach starred in the epic western, “The Good, The Bad and the Ugly” where three very diverse and dubious characters worked at times against each other and at other times together with each other in order to find gold in a cemetery. I have been pondering the subject of SMI for a while and have been struggling to make it accessible, but when I realized the parallels between this classic Western and the SMI project I had no more excuses.
SMI is an industry standard specification that defines a way to describe and communicate with storage devices (fabric, arrays, HBAs) for the purpose of management and reporting. It was initiated at a “meeting” in 2000 by several companies who were frustrated with the expense and time required to support new vendor platforms. At the meeting they decided to investigate methods by which they could pool resources to address the challenges of supporting heterogeneous storage environments and so began project “Bluefin”. The trophy tuna “borrowed” from the restaurant wall probably sounded like a good name after a few adult beverages. I was informed that the tuna was returned safely the next day.
The notion of having a common mechanism to communicate with and report on storage devices is good for both us as a company that provides storage analytics software, and for our customers. It allows the creators of analytics software to focus primarily on their domain specialty (like storage performance and capacity) as opposed to focusing on the plumbing (how to get the data). It allows for quicker development, which means more timely support of new platforms. It also allows us folks with domain-specific knowledge to provide heterogeneous solutions which are, in effect, alternatives to the primarily single vendor solutions provided by hardware vendors. It facilitates vendor freedom, diversification, and competition resulting in a broader range of better solutions designed to solve real customer problems.
In order to speed up the development process the Bluefin group investigated re-using existing technology for the hardware abstraction layer (modeling), data encoding for transmission, and a communications protocol. Common Information Model (CIM), which came from an earlier 1990’s project, was chosen due to its rich modeling approach and a significant number of existing definitions for managing various types of storage network equipment. CIM also had the advantage that a data encoding scheme based on an XML representation, and a communications protocol (HTTP) were already defined. CIM was also scalable enough to handle enterprise class applications and incorporated the notion of supporting proxy agents for handling previous management schemes such as SNMP.
With the key technical decisions made and a quorum of industry supporters, the Storage Management Initiative (SMI) picked up some momentum. In 2003, at the Storage Networking World Spring 2003 conference, the Storage Networking Industry Association (SNIA) released the SMI specification (SMI-S) Revision 1.0 to the public. And like Clint Eastwood in “The Good, The Bad and the Ugly”, SMI became an unlikely hero of freedom and choice to the masses. Well, maybe not really a hero, but it was widely embraced as progress! No longer were managers for storage area networks forced to purchase their vendor’s tools, but they now had the prospect of new choices becoming available as solutions were developed. IntelliMagic Vision for Distributed is one example of a product that may have never existed without the SMI-S standard.
One can perform a broad range of management functions with SMI-S. Currently SMI-S defines mechanisms for:
1) Resource discovery
2) Storage provisioning
3) Replication management
4) Performance monitoring
Of particular interest to IntelliMagic is the ability to discover the configuration and topology of the storage networking equipment and the presence of performance metrics. In SMI-S the specifics of performance measurement and the associated logical representations of logical and physical components is covered in the Block Services Performance (BSP) sub-profile. The logical representations are for objects like RAID groups, Storage Pools and Logical Disks. Physical components are things like front-end ports, back-end ports and disk drives. Each of these logical and physical components, called Elements, have configuration information and performance metrics. The BSP is broad and allows for vendors with different architectures to conform to the standard. The standard provides a really good foundation that a vendor can expand upon if needed to meet the specific requirements of their architecture.
In many ways, the standard was prophetic in that it attempted to describe the storage hardware as one standard across vendors. In 2000 this may have seen impossible, but today storage vendors have moved away from manufacturing lots of specialized hardware and are using almost completely off-the-shelf parts in their design. And it is not just the hardware that has become standard, logical constructs such as storage pools and virtual devices are now also fairly common across most storage vendors. So the standard that was initially created for managing very different logical and physical architectures has now seen the morphing of different storage vendors’ platforms into very similar forms.
In summary, the SMI project has been good for business and fairly successful because:
1) Technology: They made some good implementation choices
2) Coalition: They were able to get enough vendors to work together to give the project life
3) People: They got some really smart people involved in the initial design of the standard
In the next postings I will write about the darker sides of SMI-S in “Part 2, The Bad” and “Part 3, the Ugly”.
For more information on the standard see:http://snia.org/forums/smi