Class SavingsCalculator
It compares the modelled monthly cost of egressing a given data volume over the public internet against the same volume over a dedicated interconnect (AWS Direct Connect / Azure ExpressRoute / Google Cloud Interconnect reached via Equinix Fabric), nets off the Equinix interconnect cost, and reports the saving plus break-even points.
Example
SavingsEstimate s = fabric.savingsCalculator()
.egress(50, DataUnit.TERABYTE)
.fromCloud(CloudProviderType.AWS).inRegion("us-east-1")
.viaMetro(MetroCode.DC).bandwidthMbps(10_000)
.term(Term.MONTH_12)
.calculate();
System.out.println(s.toMarkdown());
When no RateCard is supplied, the standard layered chain applies -
live Equinix Fabric pricing first, then the bundled
ReferenceRateCard, which also supplies indicative cloud-egress rates -
so the calculator works out of the box. Supply a card (e.g. a
CustomRateCard with your own
figures) to replace that chain. All outputs are design-time estimates, not
quotes.
Cloud-to-cloud comparison
Beta. Declaring a peer cloud with toCloud(...) adds a
MulticloudPathComparison to the estimate: the monthly cost of the traffic between the
two clouds over the public internet, over Equinix Fabric (two-sided: private egress both ways,
two virtual connections, both CSP ports) and over the providers' native multicloud link, plus
the sustained rate at which the flat-fee native link and the per-GB Equinix path cost the
same. The single-cloud figures on the estimate are computed exactly as without a peer cloud
and describe the fromCloud direction only.
SavingsEstimate s = fabric.savingsCalculator()
.egress(100, DataUnit.TERABYTE)
.fromCloud(CloudProviderType.AWS).inRegion("us-east-1")
.toCloud(CloudProviderType.GOOGLE_CLOUD).toRegion("us-east4")
.viaMetro(MetroCode.DC).bandwidthMbps(10_000)
.calculate();
s.breakEvenSustainedMbps().ifPresent(mbps -> System.out.println(mbps + " Mbps"));
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classFluent configuration for a savings estimate, terminated bySavingsCalculator.Builder.calculate(). -
Method Summary
Modifier and TypeMethodDescriptionstatic SavingsCalculator.Builderbuilder(FabricGateway fabric) Creates a savings calculator builder over the given Fabric client.static SavingsCalculator.BuilderforSpec(FabricGateway fabric, DesignSpec spec, String cloudId, MetroPortfolio chosen) A builder preset from aDesignSpecthe way the optimiser'sRateCardCostModelprices it (seeSpecInputs): provider, region and egress volume from the cloud; bandwidth from the workloads reaching it, rounded up to the Fabric tier; the chosen portfolio's metro; the spec's term (on demand when unset); anIP_VCfrom a STANDARD Fabric Cloud Router.
-
Method Details
-
builder
Creates a savings calculator builder over the given Fabric client.- Parameters:
fabric- the Fabric client (or anyFabricGateway) used for live pricing- Returns:
- a new
SavingsCalculator.Builder
-
forSpec
public static SavingsCalculator.Builder forSpec(FabricGateway fabric, DesignSpec spec, String cloudId, MetroPortfolio chosen) A builder preset from aDesignSpecthe way the optimiser'sRateCardCostModelprices it (seeSpecInputs): provider, region and egress volume from the cloud; bandwidth from the workloads reaching it, rounded up to the Fabric tier; the chosen portfolio's metro; the spec's term (on demand when unset); anIP_VCfrom a STANDARD Fabric Cloud Router. The estimate carries the spec fingerprint and the assumptions made.- Parameters:
fabric- the Fabric client for live pricing (may benullwith a supplied rate card)spec- the design speccloudId- the cloud, ornullfor the first cloud with a providerchosen- the portfolio a run chose, ornull- Returns:
- the preset builder
-