DEV Community

Parth Kamal
Parth Kamal

Posted on

System design terms

  1. scalibility → Ability of the system to handle increased load by adding resources (horizontal/vertical scaling).
  2. stability → Predictable behavior under fluctuating or sudden load; avoids meltdown and cascading failures.
  3. availability → Percentage of time a system is up and reachable (uptime metric).
  4. durability → Guarantees that once data is written, it will never be lost—even during failures.
  5. fault tolerance → Ability of the system to continue operating even when components fail. → Fault tolerance improves availability but is not equal to availability.
  6. reliability → Ability of the system to operate correctly and failure-free over time. → Measured by MTBF (Mean Time Between Failures). → Reliability ≠ availability metric.
  7. consistency → Every read returns the most recent write (for strong consistency). → Or follows the defined consistency model (eventual, causal, etc.).
  8. latency → Time taken for the system to respond to a request.
  9. performance → Performance = how fast the system processes work (latency + throughput + resource usage).
  10. efficiency → How optimally the system uses CPU, memory, network, storage.
  11. maintainability → How easy it is to update, debug, refactor, and extend the system.
  12. observability → Ability to understand the internal state of a system from its external outputs (logs, metrics, traces). Not just logging
  13. security → Protecting the system against unauthorized access, misuse, attacks, and data breaches.

Top comments (0)