Providing Open Architecture High Availability Solutions
Providing Open Architecture High Availability Solutions
69
7.0 Open-Architecture Systems
The preceding sections have described the requirements of and an architectural approach to
building high availability systems. However, the goal of the HA Forum is not simply to describe
how to build high availability systems, but to describe how to build open-architecture high
availability systems.
This section will explain why high availability systems have not traditionally been open systems,
discuss the relevance of the open-architecture, and identify the basic open-architecture building
blocks for open-architecture high availability systems. Subsequent sections will then discuss each
of those building blocks in more detail.
7.1 Open Architecture and High Availability
Computer systems are complex; they contain many different elements of technology (e.g.,
hardware, operating system software, application software) which must work together in precise
ways to produce any useful results. As a natural consequence of this complexity, technology in
early computer systems was carefully designed together to accomplish some specific purpose. The
entire early computer industry consisted of vertically integrated computer manufacturers that
produced these carefully integrated systems.
With the advent of open-architecture systems, this situation has changed radically. The norm today
is for multiple technology providers to contribute subsets of the entire technology stack which
makes up a computer system. One company makes CPU chips, while another builds computer
hardware platforms which incorporate those chips, a third produces operating systems, and so on,
with multiple competitors vying for market share at each of those technology tiers.
In this environment, standards are critical. Each implementation of a technology building block
must provide common sets of services, and must deliver those services in a predictable way, so that
other building blocks, created by other companies, can interoperate with any of them. For example,
it is important in a PC environment that hardware manufacturers all make hardware platforms
which deliver similar services and interfaces so that an operating system such as Microsoft
Windows or Linux can run on any of them.
Building high availability systems is more complex than building traditional computer systems.
Not only must high availability systems deliver all of the same services as traditional systems, they
must also manage themselves to provide some level of dynamic reconfiguration in the face of
faults. This added complexity begins at the hardware platforms, and has resulted in most high
availability systems to date being built as vertically integrated systems, rather than as open-
architecture systems.
The common industry standard computer hardware platform, a PC, does not include key hardware
capabilities needed in many high availability systems such as redundant internal data paths,
platform management, hot-swappable components, etc. As a result, manufacturers of high
availability systems have historically built non-standard hardware platforms, which then required
non-standard operating systems, and often even non-standard application software.
Today, however, standards are emerging that can enable the same sort of open-architecture
technology building blocks, which has revolutionized the traditional computer industry to be
applied to high availability computer system design. Thus, the HA Forum has been chartered to
foster this industry development by identifying and creating relevant standards which will allow
the building of high availability systems from open-architecture building blocks.