systemdesign/concepts

Cost Tradeoffs in System Design

Tradeoffs for Lower Cost:

  • Vertical Scaling → Higher cost, lower complexity vs. horizontal scaling.
  • Lower Redundancy → Reduces availability (e.g., fewer hosts, lower replication).
  • Cheaper Data Center → Higher latency due to distance from users.

Types of Costs to Consider

Implementation & Monitoring Costs:

  • Balance cost of implementation vs. value of each non-functional requirement.
  • Monitoring cost increases if immediate alerts are needed.
  • Lower urgency = lower monitoring cost.

Maintenance Costs:

  • Production problems vary in urgency—don’t over-monitor.
  • Software ages:
    • Libraries/services get deprecated.
    • Keep dependencies modular and easy to replace.

Third-Party Dependency Risks

  • Evaluate:
    • Update risk (future compatibility issues).
    • Control risk (lack of control over third-party services).
    • Replacement plan if a dependency is shut down or becomes insecure.

Decommissioning Costs

  • Reasons to decommission:
    • Shift in priorities.
    • Low usage vs. high maintenance cost.
  • Plan for:
    • User data export (CSV/text formats).
    • Shutdown procedures.