Availability of a clustered system is determined by identifying all
possible states of a cluster, mapping the connections between the states are mapped
and determining the probability of the cluster being in each of the states is determined.
Availability of the cluster is the sum of the probabilities of being in those states
in which the cluster is at least partially available. Parameters affecting the
availability of the cluster include the rates at which a cluster transitions from
state to state, including the reciprocal of Mean Time To Fail, Mean Time to Fail-Over,
Mean Time To Fail-Back and Mean Time To Restore. Availability of statefull and
stateless clusters may be determined. Availability of clusters including any number
of nodes (e.g., a Internet service) can be determined. In one embodiment of the
invention, a target availability is determined and parameters are varied to determine
the most efficient approach to reach the target availability.