Package com.eqixiac.equinix.design.resilience
package com.eqixiac.equinix.design.resilience
Failure analysis of a design.
DesignGraphBuilder turns a
DesignSpec, a portfolio, its PlacementPlan and the run's DesignContext into an explicit,
immutable DesignGraph (sites, metros, Cloud Routers, cloud
on-ramps, clouds, workloads, optional peers; access, backbone, primary and standby connections with capacity and
round-trip latency). FailureSimulator simulates
FailureScenarios on it (enumerated by
ScenarioCatalog: every single failure, bounded pairs) and
ResilienceAnalyzer assembles a
ResilienceReport: what still works per scenario (paths, latency,
capacity versus demand), blast-radius ranking, single points of failure, correlated risks, N-1 and N-2 verdicts,
availability estimates under stated assumptions and re-simulated remediation.
ResiliencePlugin plugs the simulation into the Metro Optimizer:
the simulated_resilience objective, an opt-in min_survival constraint and a failover-aware
geo_zones_failover constraint.
-
ClassDescriptionThe availability assumed for each kind of element, as a fraction (0.9995 = 99.95%).Composes per-element availability assumptions into a figure per workload, in series and in parallel over the graph's redundant paths.An explicit, immutable graph of one design: sites, metros, Cloud Routers, cloud on-ramps, clouds, workloads and (optionally) peer networks, joined by access circuits, the inter-metro backbone, primary and standby cloud connections, provider links and workload hosting, each with its capacity and round-trip latency where known.Builds the
DesignGraphof a spec on a portfolio.What aGraphEdgeof aDesignGraphstands for.Whether a redundant edge is the one used in normal operation or the one held for failover.The kinds of element an availability is assumed for (seeAvailabilityAssumptions)."geo_zones_failover": data sovereignty that holds through failover.One failure to simulate: the graph nodes and edges it takes away.Simulates failure scenarios on oneDesignGraph.One edge of aDesignGraph.One node of aDesignGraph."min_survival": a portfolio must keep at least a minimum share of its baseline service through its worst single-element failure (seeN1Survival).How much of a portfolio's baseline service survives its worst single-element failure, measured by simulation: the shared core ofSimulatedResilienceObjectiveandMinSurvivalConstraint.What aGraphNodeof aDesignGraphstands for.Where a peer network is present, for drawing it into aDesignGraph.A workload as the graph sees it: where it runs, where it fails over to and what it needs.Analyses how a design survives failures: builds itsDesignGraph, simulates every single failure (exhaustively) and pairs of failures (bounded), ranks the blast radius, finds single points of failure and correlated risks, estimates availability and proposes remediation, re-simulating it where it can.The finding types aResilienceReportcarries.Two (or more) elements that are meant to back each other up but share a failure domain.An N-1 or N-2 verdict level.The N-1 or N-2 verdict.What the pairwise (N-2) simulation covered.One scenario in the blast-radius ranking (worst first).A concrete change and the scenarios it addresses.How serious a correlated risk is.A single element whose failure causes an outage.How a design graph is built and simulated.Contributes the simulation-based resilience plug-ins to the Metro Optimizer: theSimulatedResilienceObjective("simulated_resilience"), simulated only when the spec weights it; theMinSurvivalConstraint("min_survival"), inert unless a threshold is given here, by the spec'sconstraints.minSurvivalPct, or by the spec label "design.min_survival_pct" (the field wins over the label); theFailoverGeoZonesConstraint("geo_zones_failover"), inert unless the spec states geo zones.The resilience analysis of one design: its graph, what every failure scenario leaves working, the blast-radius ranking, single points of failure, correlated risks, N-1 and N-2 verdicts, estimated availability and remediation.Enumerates the failure scenarios of aDesignGraph, deterministically.The pairwise scenarios and how many exist.What aFailureScenariotakes away.What still works in one scenario, compared with the baseline."simulated_resilience": the share of a portfolio's baseline service that survives its worst single-element failure, 0 to 100, measured by building the design graph and simulating every metro, Cloud Router, on-ramp and connection loss (N1Survival).The outcome of one scenario, compared with the baseline (no failure).The estimated availability of one workload, composed fromAvailabilityAssumptionsover the graph's redundant paths.What happens to one workload in one scenario.How one workload fares in a scenario.