Partial work in ASEV
This commit is contained in:
parent
2817fd5022
commit
42d8064cab
2 changed files with 121 additions and 1 deletions
120
src/notes/2021-03-27-a.mdx
Normal file
120
src/notes/2021-03-27-a.mdx
Normal file
|
@ -0,0 +1,120 @@
|
|||
---
|
||||
path: "absolute-sev"
|
||||
date: 2021-03-27
|
||||
title: "Absolute Site Event Score"
|
||||
hidden: true
|
||||
---
|
||||
|
||||
Given a Site Event (SEV) number `USERS.CLIENTS.INTERNAL`, the number:
|
||||
|
||||
1. `USERS` is defined as the _per deci_ of users affected.
|
||||
2. `CLIENTS` is defined as the _per deci_ of clients affected.
|
||||
3. `INTERNAL` is defined as the _per deci_ of the internal system affected.
|
||||
|
||||
Where _per deci_ is defined as a percent divided by ten and rounded up.
|
||||
Additional labels for noteworthy "named" events are available as extensions to
|
||||
the `USERS.CLIENT.INTERNAL` format.
|
||||
|
||||
## Introduction
|
||||
|
||||
explain problem here.
|
||||
|
||||
As a solution to this problem, I propose a similar set of rules heavily inspired
|
||||
by the [Semantic Versioning 2.0.0] document. Engineers and administration may
|
||||
use this number as way to signal and convey priority and importance to each
|
||||
event without necessarily knowing the specifics of each event. This permits
|
||||
ordering for review and provides a short-code for engineers to quickly
|
||||
acknowledge the scope of the situation.
|
||||
|
||||
This system, despite being closely modeled after Semver, intends to provide an
|
||||
absolute metric to compare site events, regardless of scale of the site. As a
|
||||
result, I call this system "Absolute SEV Score".
|
||||
|
||||
[Semantic Versioning 2.0.0]: https://semver.org/spec/v2.0.0.HTML
|
||||
|
||||
## Absolute Site Event Score (ASEV)
|
||||
|
||||
The key words `MUST`, `MUST NOT`, `REQUIRED`, `SHALL`, `SHALL NOT`, `SHOULD`,
|
||||
`SHOULD NOT`, `RECOMMENDED`, `MAY`, and `OPTIONAL` in this document are to be
|
||||
interpreted as described in [RFC 2119].
|
||||
|
||||
The term _per deci_ is defined as the percent of the affected element divided by
|
||||
ten and rounded to the nearest integer. For example, if 1%, 3.643%, 10%, and
|
||||
so forth of users are affected, then the _per deci_ value is defined as 1. If
|
||||
50.000001% of internal systems are affected, then the _per deci_ value is 6.
|
||||
|
||||
1. A normal ASEV number `MUST` take the form A.B.C, where A, B, and C are in
|
||||
either in the range of 0-10, inclusive and `MUST` NOT contain leading zeros, or
|
||||
of the values `U`, `IP`, or `X`. A is the `USERS` number, B is the `CLIENTS`
|
||||
number, and C is the `INTERNAL` number.
|
||||
2. The `USERS` number `MUST` represent the _per deci_ of people (e.g. end users)
|
||||
affected by the ASEV.
|
||||
3. The `CLIENTS` number `MUST` represent the _per deci_ of clients that this
|
||||
ASEV affects. This value `MUST` be defined as an unweighted total _per deci_ of
|
||||
clients affected.
|
||||
4. The `INTERNAL` number `MUST` represent the _per deci_ of internal systems
|
||||
that this ASEV affects. The value `MUST` be defined as an unweighted total
|
||||
_per deci_ of internal systems affected.
|
||||
5. Elements with the value `U` `MUST` transition to the value `IP`, `X`, or a
|
||||
numeric value. Elements with the value `IP` `MUST` transition to the value `X`
|
||||
or a numeric value. Numeric values `SHOULD` represent the live _per deci_ value
|
||||
of the target affected. It is `RECOMMENDED` that an additional ASEV number be
|
||||
kept that the maximum numeric values of every element is recorded.
|
||||
6. Elements with the value `U`, `IP`, and `X` represent the state of "Unknown",
|
||||
"In Progress", and "No data", respectively. These values denote that the true
|
||||
impact of the ASEV has not been evaluated yet, or in the case of `X`, cannot be
|
||||
evaluted.
|
||||
7. ASEV numbers `MAY` be marked with a label by appending a hyphen and a series
|
||||
of dot separated identifiers following the `INTERNAL` number. Identifiers `MUST`
|
||||
comprise only ASCII alphanumerics and hyphens `[0-9A-Za-z-]`. Identifiers
|
||||
`MUST NOT` be empty. Numeric identifiers `MAY` include leading zeros. It is
|
||||
`RECOMMENDED` to give high impact ASEVs. It is `RECOMMENDED` to have a unique
|
||||
identifier as a machine identification string. Examples: `3.2.5-spinlock.2314`,
|
||||
`5.3.9-4.20.2021`, `5.4.3-911-called.4fajh5z`.
|
||||
8. ASEV numbers in the format `A.B.C-name.id` are in "Named Normal form"
|
||||
and numbers in the format `A.B.C-id` are known in "Normal form" if the `id`
|
||||
identifier is unique within the organization, and all ASEV values within the
|
||||
organization are in either Named Normal or Normal form. It is `RECOMMENDED`
|
||||
organizations use a combination of Named Normal or Normal form ASEV numbers.
|
||||
9. The precedence order for element values are as followed: `X`, `IP`, `U`, and
|
||||
followed by 10 to 0, and is determined by the first left-to-right difference.
|
||||
It is `RECOMMENDED` that if all ASEVs are in either Normal or in Named Normal
|
||||
forms that Named Normal numbers have precedence over Normal numbers.
|
||||
|
||||
|
||||
[RFC 2119]: https://tools.ietf.org/html/rfc2119
|
||||
|
||||
## Backus-Naur Form Grammer for Valid Absolute Site Event Scores
|
||||
|
||||
todo
|
||||
|
||||
## Why use Absolute Site Event Scores?
|
||||
|
||||
#### Why can any value decrease over time?
|
||||
|
||||
The ASEV value is intended to represent the impact of a dynamically changing
|
||||
situation. Values
|
||||
|
||||
#### Why can't a numerical value return to an alphabetical value?
|
||||
|
||||
The alphabetical values are to convey the ability to monitor the situation.
|
||||
During a site event, new events with unknown impact may be denoted as `U.U.U`,
|
||||
indicating that personnel are needed to evaluate the situation. Likewise, an
|
||||
`X.X.X` score represents an event with no way to measure the impact. Once these
|
||||
values can be measured, they should be promoted to values that represent the
|
||||
estimated impact. If a metric was incorrect, then the value can be reflected
|
||||
with the new value.
|
||||
|
||||
#### Why do alphabetical values have higher values over numbered values?
|
||||
|
||||
The inability to measure impact in due time or at all is a serious concern for
|
||||
long term stability of a service or platform. As a result, these values take
|
||||
higher precedence than other events with known measured values for two reasons.
|
||||
One, it is possible that the impact may be as severe or more severe than
|
||||
previous cases, so it is best to perform analysis as soon as possible. Two, the
|
||||
inability to detect and measure this data implies a systematic failure to
|
||||
prevent this incident from occurring in the future.
|
||||
|
||||
## License
|
||||
|
||||
[Creative Commons—CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
|
|
@ -13,7 +13,7 @@ import Navbar from '../components/navbar';
|
|||
-----
|
||||
|
||||
Hey there. I'm just an software engineer with varying degrees of interest in
|
||||
distributed systems, safety and correctness, cybersecurity, homelabbing,
|
||||
distributed systems, safety and correctness, cybersecurity, performance,
|
||||
homebrewing (both kinds!), and keyboards. I like Rust!
|
||||
|
||||
#### Contact Info
|
||||
|
|
Loading…
Reference in a new issue