Software Architecture

Noun · Development

Definitions

  1. The high-level structural decisions of a software system — how it is decomposed into components, how those components communicate, and the constraints and trade-offs governing those choices (e.g., monolith vs. microservices, synchronous vs. event-driven, relational vs. document store). These decisions are costly to change later and shape the system's quality attributes like scalability, reliability, and maintainability.

    In plain English: The big-picture blueprint of how a software system is organized and how its parts communicate with each other.

    Example: "The architecture is event-driven with a shared Kafka bus — every service publishes domain events and consumes what it needs."

Related Terms