Content area
Full Text
The Application Operation and Design
Regardless of an application's SLA or underlying infrastructure, architects can improve its availability by applying the HA design strategies that follow, even on non-HA infrastructure. As noted earlier, IT shops should decide when to use these strategies based on cost/benefit evaluations. Redundancy
Each element of an HA application must have a backup that can take over if the primary fails; and the design must account for transactions that were in-flight when a failure occurred.
Recoverable design
Any individual element is more available if it is stateless; but the application as a whole typically is stateful, and state must be preserved across potential failures.
Failure detection
To be recoverable, an application may have to fail gracefully by saving transaction information, notifying a user or administrator, and performing appropriate application cleanup. Heartbeat control
An HA application must be monitored in real time to ensure it is still running and that there is automatic failover if it is not running.
Operations management integration Applications may incorporate management APIs to raise alerts, enable full monitoring and management, and write error logs that may also be monitored. Connection management
The client side should be designed to handle connection failures and automatically establish connections to alternate providers.
Transaction-aware design
HA application design must explicitly anticipate handling of and recovery from transaction failures. The Underlying Database
More than 80% of all DBMS HA implementations are based on the failover clustering that remains the most reliable solution to ensure availability of mission-critical databases. Oracle has been...