Cluster-Aware Applications

An application is capable of being cluster-aware if it has the following characteristics:

  • It uses TCP/IP as a network protocol.
  • It maintains data in a configurable location.
  • It supports transaction processing.

Most database applications, transaction processing applications, file and print server applications, and other groupware applications are capable of being made cluster-aware.

There are two types of cluster-aware applications:

  • Applications that are managed as highly available cluster resources by a custom resource type. If you want your application to be highly available, to fail over, to benefit from customized failure detection policies, or to be made available to clients on a failover cluster instance, your application needs to be managed as a cluster resource. This means that in addition to any cluster-awareness you want to add to the application, you will need to create a custom resource type to manage the application. For more information, see Creating Resource Types
  • Applications that interact with the cluster but are not cluster resources. Cluster Administrator is an example of such an application. This category also includes cluster-aware performance monitors, configuration tools, setup applications, event handlers, and cluster management applications.

To create a cluster-aware application, review the following tasks and determine what kinds of interactions your application needs to implement:

The following table presents examples of different kinds of cluster-aware applications and the event, information, and configuration tasks you may want to implement for such applications.

Cluster-aware application Event tasks Information tasks Configuration tasks
A cluster-aware setup application. None. Detect the cluster version, list the nodes in the cluster, and list the available disks. Create and configure a test group.
A remote failover monitor and performance tracker Any events involving group or resource state changes or movement List the nodes in the cluster, the groups on each node, and the resources in each group. Retrieve group and resource properties, especially those relating to times and intervals. None (a read-only interface).
A resource configuration wizard None. Be able to provide feedback and verification on the changes the user is making. Back up the cluster database, create a group, create resources, change properties, create dependencies, change owner node lists, create registry and crypto checkpoints, and change states.