Tuesday, August 19, 2025

What do you mean by tactics? Explain the availability tactics with a neat diagram

 

What do you mean by Tactics?

In the context of software architecture and quality attributes, tactics are design decisions or architectural approaches used to achieve particular quality attribute goals, such as performance, availability, security, or modifiability.

Tactics are reusable solutions that influence the response of a system to a stimulus affecting a quality attribute.

Each quality attribute (like Availability) has a set of tactics that either help to achieve, maintain, or recover that attribute.


What are Availability Tactics?

Availability refers to the readiness of the system to provide its services when needed. Availability tactics aim to reduce system downtime (both planned and unplanned).

Availability tactics are broadly categorized into two:

  1. Fault Detection Tactics

  2. Fault Recovery Tactics


1. Fault Detection Tactics

These help in identifying the presence of a fault as early as possible.

Tactic Description
Ping/Echo Periodic message exchanges to check if a component is responsive.
Heartbeat Regular signals sent from one component to another to indicate it's alive.
Exceptions Use of try/catch blocks to detect faults during execution.
Monitoring Continuously observe metrics like CPU usage, latency, etc., to detect anomalies.

2. Fault Recovery Tactics

These help in restoring the system to normal operation after a fault has occurred.

They are further classified into:

A. Preparation and Repair

Tactic Description
Retry Automatically retry failed operations.
Exception Handling Gracefully handle exceptions without crashing.
Checkpoint/Restart Save system state periodically and resume from last known good state.
State Repair Correct corrupted data to bring it to a consistent state.

B. Reintroduction

Tactic Description
Reinitialize Restart components or services.
Shadowing Maintain a shadow/standby component that can take over.

C. Redundancy

Tactic Description
Active Redundancy Multiple components run in parallel; if one fails, others take over instantly.
Passive Redundancy Standby component activated only when the active one fails.
Spare Components Idle components available to replace faulty ones.

📘 Diagram: Availability Tactics

                           +----------------------+
                           |  Availability Tactics |
                           +----------------------+
                                      |
              --------------------------------------------------
              |                                                |
   +-------------------+                          +--------------------------+
   | Fault Detection   |                          |   Fault Recovery          |
   +-------------------+                          +--------------------------+
   | - Ping/Echo       |                          |  A. Preparation & Repair |
   | - Heartbeat       |                          |   - Retry                |
   | - Exceptions       |                         |   - Exception Handling   |
   | - Monitoring       |                         |   - Checkpoint/Restart   |
                                                   |   - State Repair        |
                                                   |
                                                   |  B. Reintroduction      |
                                                   |   - Reinitialize        |
                                                   |   - Shadowing           |
                                                   |
                                                   |  C. Redundancy          |
                                                   |   - Active              |
                                                   |   - Passive             |
                                                   |   - Spare Components    |

If you'd like, I can generate a neat graphical version of this diagram. Just let me know!

No comments:

Post a Comment