Core Idea

Operational characteristics define how a system behaves at runtime—covering availability, performance, scalability, reliability, security, and other qualities that directly affect user experience and operational success. These are the characteristics stakeholders notice immediately when they degrade.

Runtime Behavior Defines System Success

Operational characteristics represent the observable, measurable qualities of a running system:

  • Unlike structural characteristics (which affect developers and maintainability)
  • Directly impact end users, business stakeholders, and operational teams
  • When availability drops, performance degrades, or security is breached, consequences are immediate and visible

The primary operational characteristics include:

Availability measures uptime—the percentage of time the system is accessible and functional:

  • High-availability systems typically target “five nines” (99.999% uptime, roughly 5 minutes downtime per year) or better
  • Requires redundancy, failover mechanisms, and careful operational practices
  • Directly translates to business impact: every minute of downtime can mean lost revenue, damaged reputation, or regulatory penalties

Performance encompasses response times, throughput, and latency:

  • Answers “How fast does the system respond to requests?” and “How many transactions per second can it handle?”
  • Often the most visible characteristic to users—slow page loads or laggy interactions create immediate dissatisfaction
  • Performance optimization frequently conflicts with other characteristics:
    • Security (encryption adds overhead)
    • Maintainability (performance optimizations often reduce code clarity)

Scalability describes the system’s ability to handle increasing load by adding resources:

  • Horizontal scalability (adding more servers) differs from vertical scalability (making servers more powerful)
  • Cloud-native architectures prioritize horizontal scalability for better cost efficiency and resilience
  • Elasticity: ability to automatically scale up during high demand and scale down during low demand
  • Optimizes both performance and cost

Reliability, Resilience, and Robustness work together to create graceful systems:

  • Reliability: measures consistency of behavior—does the system produce correct results under defined conditions?
  • Resilience: does the system continue functioning (perhaps in degraded mode) when components fail?
  • Robustness: considers behavior under unexpected or invalid inputs
  • These three characteristics handle both normal operations and abnormal conditions gracefully

Security as an operational characteristic focuses on runtime protection:

  • Authentication (verifying identity)
  • Authorization (controlling access)
  • Encryption (protecting data in transit and at rest)
  • Intrusion detection
  • While security also has structural aspects (code review, secure coding practices)
  • Operational security determines whether the running system actually prevents unauthorized access and protects sensitive data

Other operational characteristics:

  • Continuity: disaster recovery and business continuity planning
  • Recoverability: how quickly the system returns to normal after failure
  • Archivability: preserving data for compliance or historical analysis

Why This Matters

Operational characteristics directly drive infrastructure decisions, technology selection, and operational practices:

  • A system requiring 99.99% availability demands different architectural choices (redundancy, failover, monitoring) than one tolerating occasional downtime
  • A system needing to handle 100,000 concurrent users requires different scalability approaches than one supporting 100 users

However, optimizing operational characteristics comes with trade-offs:

  • High availability requires redundancy (increased cost)
  • Extreme performance often reduces maintainability
  • Scalability adds architectural complexity
  • Security measures introduce latency
  • Architects must identify which operational characteristics matter most for their specific context
  • Accept that optimizing everything is impossible

The key insight:

  • Operational characteristics are not technical preferences—they represent business requirements translated into technical constraints
  • Understanding them requires understanding business drivers, user expectations, and operational realities

Sources

  • Richards, Mark and Neal Ford (2020). Fundamentals of Software Architecture: An Engineering Approach. O’Reilly Media. ISBN: 978-1-492-04345-4.

Note

This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.