High Availability Practices Flashcards

To enhance knowledge of providing high availability of applications

1
Q

What can affect availability

A

System Maintenance, Software Updates, Infrastructure issues, Malicious Attacks, System load and dependencies. Additionally, in the cloud, latency and provider issues.

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

How is availability measured

A

Availability is typically measured by SLA and using 9s. For example, Five 9s mean 99.999%

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

How do you monitor availability

A

Create a Health Check Endpoint

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

What should a health check endpoint monitor

A

Subsystems like storage, databases and third-party dependencies

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

What should a health check endpoint return and should you secure a health check endpoint

A

Status Code content, yes it should be secure

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

What are some methods that can be employed to ensure high availability

A

Queues/Streams, Throttling,

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

How can throttling be employed

A

Set a limit to individual user access, monitor metrics and reject when limit is exceeded

Disable or degrade nonessential services so that critical services can function, for example, a video call can switch to audio only during bandwidth issues

Prioritize certain users to satisfy high impact customers’ requirements

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

How can a queue be employed

A

Introduce a Queue between the task and service
The tasks are placed in the Queue

The Service can possibly be autoscaled based on Queue Size in some advanced implementations.

If a response is expected, the service must provide a suitable implementation, however, this pattern isn’t suitable for low latency response requirements

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

What are some resiliency patterns

A

Bulk Head, Circuit Breaker, Compensating Transaction, Retry, Leader Election, Scheduler Agent Supervisor, If on AWS: Multiserver Pattern, MultiDatacenter Pattern, Floating IP

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

What is the bulk head resiliency pattern

A

Partition services into groups, Limit service resources to that group, Define partitions into business and tech requirements, hiPri customers get more resources, Leverage frameworks like polly/hystrix that limit containers resources

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

What is the circuit breaker resiliency pattern

A

If a service negatively affects applications if it were to continue to run, it is shut down.

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

What is the compensating transaction resiliency pattern

A

Records all steps to a workflow and undoes them if there is a failure.

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

What is the retry resiliency pattern

A

Intelligently attempt to reestablish contact with a failing service

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

What is the leader election resiliency pattern

A

A single task instance should be elected as leader. This will coordinate the actions with other subordinate instances.

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