Hochverfügbarkeit
Planning for High Availability
Dwight Eisenhower once said, "In preparing for battle, I have always found that plans are useless, but planning is indispensable." Whether or not an application rides on HA infrastructure, architects can improve application availability by applying HA design strategies. HA application design is, of course, a complex topic in itself; think of the core concepts below as a starter kit for designing HA applications, even on non-HA infrastructure. Decide when to use these strategies by (1) gathering concrete data on the business impact of application downtime, (2) analyzing the causes and likelihood of planned and unplanned downtime, (3) assessing which HA design strategies can affect which causes and (4) weighing the extra cost of HA design strategies against the benefits of reduced downtime.
The increasing complexity of systems management and escalating demands on enterprise availability have intensified the demand for high-availability support solutions. However, while HA services are essential for 24x7 mission-critical applications, there are significant cost issues to be evaluated. When extending service levels above 99.9 percent planned availability, the incremental cost increases exponentially, while the amount of downtime saved declines. Due to the high support costs and stringent configuration requirements, "five nines" application-level availability can yield a negative return on investment percent.
HA System Configurations
HA infrastructure ensures that an application has constant availability of network, processors, disks, memory, etc., such that a failure of one of these components is transparent to the application. Risk analysis identifies important functions and assets critical to HA, then establishes the probability of a breakdown in them. Once the risk is established, objectives and strategies to eliminate avoidable risks and minimize the impact of unavoidable risks can be set. For most hardware, middleware and OS, this means duplication and physical separation of IT systems, reducing single points-of-failure and clustering and coupling applications between multiple systems.
Clustered server architectures provide the benefits of both high availability and performance scalability. Cluster packaging comes in many forms: (1) multiple stand-alone servers (with very high-speed cluster interconnects), (2) multiple servers in a box (this would include new high-density servers as a category), (3) multiple partitions within an SMP or (4) any combination of the above. A single-system view is an important component of a cluster high-availability environment. As nodes are added to a cluster, the requirement to manage distributed cluster resources as if managing a single server becomes a critical differentiator in the selection of a high-availability system.
Access to data and intelligent failover, including dynamic reconnect, are critical to application-level high availability. Key requirements for storage solutions include: Improved IT service, including security, local performance options and remote data replication 24x7 data availability Cluster server support for both individual servers and generic cluster access Connect any server to any storage system through storage networks Rapid recovery and/or restart of applications.