Class ResilienceObjective
java.lang.Object
com.eqixiac.equinix.design.objective.ResilienceObjective
- All Implemented Interfaces:
Objective
What survives the worst single-metro loss, 0 to 100: the mean of up to three shares, each measured
after removing the metro whose loss hurts most.
- sites: share of site weight that still has a metro with known latency (within the spec's
maxLatencyMswhen set); - clouds: share of the required clouds the design connects to that are still connected
(a cloud leg of the
placementsurvives in another metro); - workloads: share of placed workloads (not the placements made for clouds no workload names) whose primary or standby metro survives.
A share is left out when it has nothing to measure. A one-metro design scores 0. The explanation also states the same measure for the worst single-region loss. Unknown when there are no sites, no connected required clouds and no placed workloads.
-
Field Summary
Fields inherited from interface Objective
COMPLIANCE, COST, LATENCY, PROVIDER_COVERAGE, RESILIENCEModifier and TypeFieldDescriptionstatic final StringShare of the stated compliance and sovereignty zones the portfolio satisfies, 0 to 100.static final StringTotal monthly cost of the portfolio in the spec's currency.static final StringSite-weighted round-trip latency from the sites to their nearest metro in the portfolio, in ms.static final StringShare of the required clouds and service providers reachable from the portfolio, 0 to 100.static final StringHow well the portfolio survives losing a metro or a region, 0 to 100. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionevaluate(MetroPortfolio portfolio, DesignContext context) Measures a portfolio.id()scale(DesignContext context) A percentage is its own score.unit()
-
Constructor Details
-
ResilienceObjective
public ResilienceObjective()
-
-
Method Details
-
id
- Specified by:
idin interfaceObjective- Returns:
- the id weights refer to (for example
Objective.LATENCY); stable, lower_snake_case
-
direction
-
scale
A percentage is its own score. -
unit
- Specified by:
unitin interfaceObjective- Returns:
- the unit of
ObjectiveValue.value(), for display (for examplems,USD/month,score)
-
evaluate
Description copied from interface:ObjectiveMeasures a portfolio.- Specified by:
evaluatein interfaceObjective- Parameters:
portfolio- the metros of one candidate designcontext- the facts of this run- Returns:
- the measurement, or
ObjectiveValue.unknown(String)when it cannot be made
-