Application Design Requirements
Not every application can run in a high-availability cluster environment, and the necessary design decisions need to be made early in the software design phase. In order to run in a high-availability cluster environment, an application must satisfy at least the following technical requirements, the last two of which are critical to its reliable function in a cluster, and are the most difficult to satisfy fully:
- There must be a relatively easy way to start, stop, force-stop, and check the status of the application. In practical terms, this means the application must have a command line interface or scripts to control the application, including support for multiple instances of the application.
- The application must be able to use shared storage (NAS/SAN).
- Most importantly, the application must store as much of its state on non-volatile shared storage as possible. Equally important is the ability to restart on another node at the last state before failure using the saved state from the shared storage.
- The application must not corrupt data if it crashes, or restarts from the saved state.
Read more about this topic: High-availability Cluster
Famous quotes containing the words application and/or design:
“The main object of a revolution is the liberation of man ... not the interpretation and application of some transcendental ideology.”
—Jean Genet (19101986)
“Westerners inherit
A design for living
Deeper into matter
Not without due patter
Of a great misgiving.”
—Robert Frost (18741963)