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.