Calculating resiliency scores
The tables in this section explains the formulas used by AWS Resilience Hub to determine the scoring components of each recommendation type and the resiliency score of your application. All the resultant values determined by AWS Resilience Hub for scoring components of each recommendation type and the resiliency score of your application are rounded to their nearest point. For example, if two out of three alarms were implemented, the score would be 13.33 ((2/3) * 20) points. This value will be rounded to 13 points. For more information about weights used in the formulas within the tables, see Weights section.
Some of the scoring components can be obtained only through the
ScoringComponentResiliencyScore
API. For more information about this
API, see ScoringComponentResiliencyScore.
Tables
The following table explains the formulas used by AWS Resilience Hub to calculate the scoring component of each recommendation type.
Formulas to calculate the scoring component of each recommendation type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Scoring component | Description | Formula | Example | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Test coverage (T ) |
A normalized score (0 -100 points) based on the number of tests that
were successfully implemented and excluded, out of the total number of
AWS Resilience Hub recommended tests.NoteTo calculate the resiliency score, the recommended tests must have run successfully in the last 30 days for AWS Resilience Hub to consider it as implemented. |
T = ((Total number of tests implemented) + (Total number of
tests excluded)) / (Total number of tests
recommended) Parts of the formula are as follows:
|
If you have implemented 10 and excluded 5 tests out of 20 AWS Resilience Hub
recommended tests, the test coverage is calculated as
follows:
That
is, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Alarms coverage (A ) |
A normalized score (0 -100 points) based on the number of Amazon CloudWatch
alarms that were successfully implemented and excluded, out of the total
number of AWS Resilience Hub recommended Amazon CloudWatch alarms.NoteTo calculate the resiliency score, the recommended alarms should be in Ready state for AWS Resilience Hub to consider it as implemented. |
A = ((Total number of alarms implemented) + (Total number of
alarms excluded)) / (Total number of alarms
recommended) Parts of the formula are as follows:
|
If you have implemented 10 and excluded 5 Amazon CloudWatch alarms out of 20
AWS Resilience Hub recommended Amazon CloudWatch alarms, the Amazon CloudWatch alarms coverage is
calculated as follows:
That is, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SOP coverage (S ) |
A normalized score (0 -100 points) based on the number of SOPs that were successfully implemented and excluded, out of the total number of AWS Resilience Hub recommended SOPs. | S = ((Total number of SOPs implemented) + (Total number of SOPs
excluded)) / (Total number of SOPs recommended) Parts of the formula are as follows:
|
If you have implemented 10 and excluded 5 SOPs out of 20 AWS Resilience Hub
recommended SOPs, the SOP coverage is calculated as
follows:
That
is, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RTO/RPO compliance (P ) |
A normalized score (0 -100 points) based on the application meeting its resiliency policy. | P = Total weights of disruption types meeting the application's
resiliency policy / Total weights of all disruption
types . |
If you application resiliency policy meets only for Availability Zone
(AZ) and Infrastructure disruption types, the resiliency policy score
(P) is calculated as follows:
|
The following table explains the formula used by AWS Resilience Hub to calculate the resiliency score for your entire application.
Formula to calculate the Resiliency score | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Scoring component | Description | Formula | Example | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Resiliency score for application (RS ) |
A normalized resiliency score (0 -100 points) based on your
application meeting its resiliency policy. Resiliency score per
application is the weighted average of all the recommendation types.
That is: RS = Weighted Average (T, A, S, P) |
Resiliency score per application is calculated using the following
formula: RS = (T * Weight(T) +
|
Formulas to calculate the coverage of each recommendation type table
are as follows:
The resiliency score per application is calculated as follows:
That
is, |
The following table explains the formulas used by AWS Resilience Hub to calculate the resiliency score for Application Components (AppComponents) and disruption types. However, you can obtain the resiliency score of AppComponents and disruption types only through the following AWS Resilience Hub APIs:
-
DescribeAppAssessment to obtain
RSo
-
ListAppComponentCompliances to obtain
RSao
andRSA
Formulas to calculate resiliency score for AppComponents and disruption
types | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Scoring component | Description | Formula | Example | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Resiliency score per AppComponent and per disruption type
(RSao ) |
A normalized score (0 -100 points) based on the AppComponent meeting
its resiliency policy per disruption type. Resiliency score per
AppComponent and per disruption type is the weighted average of all the
recommendation types. That is: The values for |
The resiliency score per AppComponent and per disruption type is
calculated using the following formula:
|
(.2 + .2 + .2 +
.4) That is, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Resiliency score per AppComponent ( RSa ) |
A normalized score (0 -100 points) based on meeting its resiliency
policy. Resiliency score per AppComponent is the weighted average of all
the recommendation types. That is: RSa = Weighted Average (T, A,
S, P) The values for |
The resiliency score per AppComponent is calculated using the
following formula:
|
(.2 + .2 + .2 +
.4) That is, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Resiliency score per disruption type ( RSo ) |
A normalized score (0 -100 points) based on meeting its resiliency
policy. Resiliency score per disruption type is the weighted average of
all the recommendation types. That is: RSo = Weighted Average (T,
A, S, P) The values for |
The resiliency score per disruption type is calculated using the
following formula:
|
The resiliency score per disruption type is calculated as follows:
That is, |
Weights
AWS Resilience Hub assigns a weight to each recommendation type for the total resiliency score.
The following tables show the weight for alarms, SOPs, tests, meeting resiliency policy, and disruption types. Disruptions type include Application, Infrastructure, AZ, and Region.
Note
If you choose not to define Regional RTO or RPO targets for your policy, the weights for the other disruption types are increased accordingly as shown in Weight when Region is not defined column.
Weights for alarms, SOPs, tests, policy target | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Recommendation type | Weight | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Alarms | 20 points | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SOPs | 20 points | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tests | 20 points | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Meeting resiliency policy | 40 points |
Weights for disruption type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Disruption type | Weight when Region is defined | Weight when Region is not defined | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Application | 40 points | 44.44 points | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Infrastructure | 30 points | 33.33 points | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Availability Zone | 20 points | 22.22 points | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Region | 10 points | N/A |