Class AvailabilityModel
java.lang.Object
com.eqixiac.equinix.design.resilience.AvailabilityModel
Composes per-element availability assumptions into a figure per workload, in series and in parallel
over the graph's redundant paths. All elements are assumed to fail independently.
For a workload with hosts H (primary and, when it has one, standby) and clouds C:
leg(h, c) = A(connection) x A(on-ramp) when h has its own connection to c
= A(backbone) x A(metro m) x A(router m) x A(connection) x A(on-ramp)
otherwise, over the nearest metro m that has one
branch(h) = A(metro h) x A(router h) [if it needs a cloud] x product over c of leg(h, c)
core = (1 - product over h of (1 - branch(h))) x product over distinct cloud regions of A(cloud region)
access(site) = 1 - product over its access circuits of (1 - A(site access))
end-to-end = core x (site-weighted mean of access(site))
Approximations, stated in each result's notes: the hosts' branches are treated as independent (exact when
each host has its own connections; a branch that borrows another metro's connection shares elements with it,
which slightly overstates the result), and a site's access is composed apart from the metros it lands in
(their failure is counted in core).
-
Method Summary
Modifier and TypeMethodDescriptionstatic List<WorkloadAvailability> estimate(DesignGraph graph, AvailabilityAssumptions assumptions)
-
Method Details
-
estimate
public static List<WorkloadAvailability> estimate(DesignGraph graph, AvailabilityAssumptions assumptions) - Parameters:
graph- the design graphassumptions- the per-element availabilities- Returns:
- one estimate per placed workload, in graph order
-