Non-functional System Characteristics Flashcards

1
Q

Name all the non-functional requirements

A
  1. Availability
  2. Reliability
  3. Scalability
  4. Maintainability
  5. Fault tolerance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define availability

A

% of time a service or infrastructure is accessible to clients and operating under normal conditions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Availability equation

A

A = (total time - downtime) / total time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Does availability include planned down time?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe amount of downtime for 1-9, 2-9, 3-9, 7-9s

A

36.5 days, 3.65 days, 9h, 3s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define reliability

A

Describes how a service performs until varying conditions. Probability that a service will perform its functions for specified time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the two reliability metrics and their equations?

A
  1. MTBF - mean time between failures
    - (total elapsed time - downtime) / # failures
    - higher is better
  2. MTTR - mean time to repair
    - total maintenance time/# repairs
    - lower is better
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What constitutes SLA/ SLO?

A

Availability (time lost)
Reliability (freq and impact of failures)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Is reliability a function if availability?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Is availability a function of reliability?

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe the two ways of scaling in scalability.

A
  1. Vertical scaling or scaling up
    - add extra capabilities to existing device for single huge server
  2. Horizontal scaling or scaling out
    - increase number of machines in the network in a distributed manner
    - system now works with many nodes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the three requirements of maintainability?

A
  1. Operability - ease with which we can ensure smooth ops under normal conditions and normal ops during failures
  2. Lucidity - simplicity of code
  3. Modifiability - ability to integrate modified or new features
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Define maintainability and it’s metrics

A

Probability system will restore functions within a specified time of fault occurrence. Use MTTR, as low as possible

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What’s the difference between maintainability and reliability?

A

Reliability = MTTR + MTBF
Maintainability = MTTR only

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define fault tolerance

A

Systems ability to execute persistently even if one or more components (HW/SW) fails. Need to avoid single point of failures by ensuring data safety and avoiding expensive recalculations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the two common ways of ensuring fault tolerance?

A
  1. Replication: replicate services and data
    - sync: A low but consistency high
    -async: A high but eventual consistency
    - CAP theorem
  2. Checkpointing: save system state in stable storage when system is consistent
    - has same problem as replication