The characteristics of an application that can be made highly available are as follows:
The application can be easily restarted and monitored.
It should be able to recover from failures as does most client/server software. The failure could be a hardware failure, an operating system failure, or an application failure. If a node crashed and reboots, client/server software should be able to attach again automatically.
The application must have a start and stop procedure.
When the application fails over, the instances of the application are stopped on one node using the stop procedure and restarted on the other node using the start procedure.
The application can be moved from one node to another after failures.
If the resource has failed, it must still be possible to run the resource stop procedure. In addition, the resource must recover from the failed state when the resource start procedure is executed in another node.
Ensure that there is no affinity for a specific node.
The application does not depend on knowing the primary host name (as returned by hostname); that is, required resources can be configured to work with an IP address.
Other resources on which the application depends can be made highly available. If they are not provided by Linux FailSafe and its optional products (see Section 1.2), you must make these resources highly available, using the information in this guide.
Note: An application itself is not modified to make it highly available.