Talking to Salim Mehta, a solutions consultant for CNT with specialist knowlerdge about director-class switches, I asked him where applications that provide SAN intelligence are stored. We were discussing things like Falconstor's virtual tape software that runs on Brocade's Rhapsody-derived intelligent switch.
He said the code runs on a processor+memory combo in the switch but it resides, of course, in some bucket of SAN storage. It dawned on me that not all intelligent switch execution environments are Lintel - Linux and X86 - so I asked what was the environment of another intelligent fabric switch. "Proprietary," he said, "but the fabric applications are written to an interface aspecification; FAIS," pronounced 'face'. It's a fabric API, application programming interface.
Our storage industry just doesn't seem to have standards wars. It's not like the bad old Unix and X-Open days. Before many customers have heard of fabric intelligence, and most certainly before clever switches and directors are being installed in any numbers, our industry has come up with a standard that fabric applications can be written to.
John Webster, Co-Founder and Senior Analyst, Data Mobility Group, said of FAIS, "This will facilitate the migration of applications to the storage network by independent software vendors and allow customers a wider choice and increased flexibility in selecting their storage infrastructure."
FAIS has been produced by a working group in ANSI's T11 committee. A T11.5 task group is involved in the effort. The API will be implemented by fabric applications that run on intelligent storage fabric-based devices such as switches, directors, appliances, routers, gateways and network storage controllers. It means that the fabric software vendors write once to the API and don't have to code interface code for every different storage fabric vendor's intelligent devices.
That in turn means cheaper storage application software and a level playing field for storage fabric application software vendors. The fabric device designers can also design devices that implement the services driven through the API. For example, Brocade's XPath technology has been so designed and uses a mix of general and purpose-designed processor technology. It was offered to the T11.5 task group as technology for the standard.
The T11.5 web site describe's the standard's contents thus:-
The FAIS should include such items as:
a) An API that provides for the separation of control and data paths in a storage environment where:
1) The control path supports the handling of SCSI storage and storage management command sets as both Initiator and Target. Support for multiple SCSI protocols is expected.
2) The data path provides appropriate abstractions for common SCSI operations including SBC and SSC Read and Write. The abstraction will hide the underlying mechanisms for data path manipulations.
3) Methods of discovering and configuring the data path capabilities are provided.
4) Methods of routing exceptions from the data path to the control path are provided.
b) Models that demonstrate how the FAIS can be applied to implementing storage applications in a storage networking environment. Such models should describe the functions that a storage application may use, including:
1) identification and initialization of real and virtual storage resources.
2) establishment of parameters and mappings that control SCSI storage operation.
3) execution of supporting SCSI commands on behalf of a virtual storage device.
4) execution of data distribution functions, data replication functions, and data journaling functions appropriate to a storage application.
5) other storage application functions.
c) Details of the API in a), including parameter definitions and formats appropriate to implement storage applications. A profile will be provided for a C-based implementation of the API for storage applications running in a Fibre Channel environment. Additional profiles and language bindings may also be provided.
d) A consistent architecture for vendor specific extensions.
The use of SCSI means that both Fibre Channel and IP SAN fabrics can use FAIS.
Fabric software vendors such as Falconstor and Veritas can write their applications, a volume manager from Veritas for example, to meet the FAIS standard, and they will work on fabrics meeting it. For example, Cisco is working with VERITAS to integrate a network-based version of VERITAS' volume-management technology with the Cisco MDS 9000 family of SAN switches.
Which fabrics, meaning switches and directors, will support FAIS? Brocade, Cisco, CNT, McDATA and QLogic are supportive fabric hardware vendors and many other storage suppliers, such as Incipient, iVivity and Veritas, are also involved. Indeed, Roger Cummings of Veritas chairs the task group. A full member list can be found here.
When will FAIS become a fully-authorised standard? Some time in 2005. But it could be later. These standardisation efforts don't run to a pre-determined schedule.
FAIS is not the only game in town. It is a centralised model of switch intelligence. Thre is an alternative distributed model espoused by Maxxan, which has also expressed support for FAIS. For now FAIS is the leading fabric intelligence API and its progress should be watched with interest as it is accelerating the delivery of storage services resident in the fabric.
We could see a major shift of storage service responsibility from servers to the fabric with a consequent re-alignment of storage resource management software and also an effect on information lifecycle management software.