Providing Open Architecture High Availability Solutions
Providing Open Architecture High Availability Solutions
70
7.2 Open-Architecture Building Blocks for High Availability
Systems
The first key step in creating the ability to build high availability systems from open-architecture
building blocks is to identify what those building blocks are. Each building block will provide one
part of the overall technology stack in a high availability computer system. Ideally, each building
block will be independent of the others so that multiple, competing products can be marketed for
each building block, with interoperability between the building blocks enabled by the adoption of
common interfaces for common services.
Since there is a well developed model for open-architecture building blocks in traditional (i.e., not
high availability) systems, it is natural to begin there. This model has clearly defined building
blocks for hardware platforms, operating systems, middleware packages (e.g., communication
protocol stacks, database systems), and application software. High availability systems are built out
of this same set of technology, with the added requirement that managed redundancy somehow be
a part of the overall system.
A major technology differentiation of high availability systems is the inclusion of configuration
and fault management functions. As described earlier, this requires the detection, diagnosis,
isolation, recovery, and repair of faults anywhere they could result in the failure of the high
availability system. The approach taken by the HA Forum is to define this function as an
incremental addition to the existing open-architecture model for computer systems.
Thus, a single, new building block has been defined, called management middleware. This is
defined as a set of configuration and fault management capabilities which are independent of any
particular hardware platform, operating system, or other technology building blocks. While it is
possible for operating system vendors, hardware platform vendors, or application software vendors
to provide this new capability, defining it as a standard, portable function with standard interfaces
to the other building blocks which make up a high availability system maximizes the ability to mix
and match technology building blocks throughout the system.
Figure 13 depicts the technology building blocks that should be available from multiple, competing
sources if high availability systems can be built from open-architecture technology. In this figure,
each shaded block represents a piece of technology (building block) which is relevant to building
high availability systems, and identifies (by the wide gray arrows) interfaces which are relevant to
high availability capabilities. Ideally, each building block could have multiple, competing sources,
and be exchanged without impacting other building blocks. In reality, this ideal is not likely to be
met perfectly; but, the more similar the interfaces are between building blocks, the more open the
system becomes.
The remainder of this section will describe each of the building blocks and interfaces depicted in
Figure 13.