ADR (Architecture Decision Record)
An ADR is a short, immutable document recording one architectural decision with its context, options, choice, and consequences. ADRs are versioned with the code so the rationale survives team turnover. A common lightweight template is Michael Nygard's.
ATAM (Architecture Tradeoff Analysis Method)
ATAM is a scenario-based architecture evaluation method from the Software Engineering Institute. It surfaces how architectural decisions affect quality attributes and identifies risks, sensitivity points, and trade-offs before construction commits the team.
BFF (Backend for Frontend)
A BFF is a server-side component dedicated to one client type, aggregating and shaping backend data for that specific experience. It avoids forcing one generic API to satisfy web, mobile, and partner clients simultaneously.
CAP (Consistency, Availability, Partition tolerance)
CAP names the three properties a distributed data store cannot all guarantee at once. Since partitions are unavoidable, systems trade consistency against availability when one occurs.
PACELC
PACELC extends CAP: in case of a Partition, choose between Availability and Consistency; Else (normal operation), choose between Latency and Consistency. It captures the everyday latency/consistency trade-off that CAP omits.
CQRS (Command Query Responsibility Segregation)
CQRS separates the write model (commands that change state) from the read model (queries), letting each be optimised independently. It is often combined with event sourcing and read-side projections.
DDD (Domain-Driven Design)
DDD is a modelling approach that aligns software with the business through a ubiquitous language and explicit boundaries. Strategic DDD shapes context boundaries; tactical DDD shapes aggregates, entities, and value objects within them.
SOA (Service-Oriented Architecture)
SOA structures an enterprise as coarse-grained, reusable, discoverable services communicating over a shared messaging layer. It is the conceptual ancestor of microservices, which decentralise it and drop the central bus.
EDA (Event-Driven Architecture)
EDA is a style in which components communicate by producing and consuming events through a broker or log, rather than calling each other directly. It maximises decoupling and asynchrony at the cost of harder end-to-end reasoning.
ESB (Enterprise Service Bus)
An ESB is a centralised middleware layer that routes, transforms, and orchestrates messages between services in classic SOA. Microservices deliberately avoid it, preferring "smart endpoints and dumb pipes".
SLA (Service-Level Agreement)
An SLA is a contractual commitment to a level of service, such as 99.9% monthly availability, often with penalties. It is the externally promised target derived from internal SLOs.
SLO (Service-Level Objective)
An SLO is an internal target for a service-level indicator, such as 99.95% of requests under 300 ms, that the team commits to meet. SLOs drive error budgets and prioritisation in site reliability engineering.
SLI (Service-Level Indicator)
An SLI is a quantitative measure of a service's behaviour, such as request latency, error rate, or availability. SLIs are the raw signals against which SLOs are evaluated.
QA (Quality Attribute)
QA, in an architecture context, denotes a non-functional system property - performance, scalability, security, modifiability, availability - that architecture exists to satisfy. Each is specified with a concrete, testable scenario.
NFR (Non-Functional Requirement)
An NFR specifies a constraint or quality the system must meet rather than a feature it must have, such as "p99 latency below 200 ms". NFRs are largely synonymous with quality-attribute requirements and are the chief driver of architectural decisions.
SPOF (Single Point of Failure)
A SPOF is any component whose failure brings down the whole system. Eliminating SPOFs through redundancy and failover is a fundamental availability tactic.
RTO (Recovery Time Objective)
RTO is the maximum acceptable time to restore a service after an outage. It is a disaster-recovery target that shapes failover and backup architecture.
RPO (Recovery Point Objective)
RPO is the maximum acceptable amount of data loss measured in time, for example "at most five minutes of data". Together with RTO it drives replication and backup frequency.
ACL (Anti-Corruption Layer)
An ACL is a translation boundary that prevents an external or legacy model from leaking into and corrupting a bounded context's own model. It is a core DDD integration pattern.
C4
C4 is a model for diagramming architecture at four zoom levels: Context, Containers, Components, and Code. It standardises notation so diagrams stay consistent and audience-appropriate.
4+1 View Model
The 4+1 model, introduced by Philippe Kruchten, describes architecture through logical, process, development, and physical views, plus scenarios that tie them together. It addresses the concerns of different stakeholders with different views.
IaC (Infrastructure as Code)
IaC manages and provisions infrastructure through machine-readable definition files rather than manual configuration. It makes environments reproducible, version-controlled, and reviewable, which is foundational to cloud-native architecture.
CNCF (Cloud Native Computing Foundation)
The CNCF is a Linux Foundation project that hosts and stewards key cloud-native open-source projects such as Kubernetes, Envoy, and Prometheus. It curates the de facto cloud-native technology landscape.
mTLS (Mutual TLS)
mTLS is transport security in which both client and server authenticate each other with certificates, not just the server. Service meshes use it to encrypt and authenticate all service-to-service traffic by default.
2PC (Two-Phase Commit)
2PC is a distributed-transaction protocol that coordinates a prepare phase and a commit phase across participants to achieve atomicity. It scales poorly and blocks under coordinator failure, which is why sagas are preferred across autonomous services.
DTO (Data Transfer Object)
A DTO is a behaviour-free object used to carry data across an architectural boundary, decoupling the external contract from the internal domain model. It is the typical shape of API request and response payloads.
OLTP / OLAP
OLTP (Online Transaction Processing) systems handle many short, write-heavy transactions; OLAP (Online Analytical Processing) systems serve complex read-heavy analytical queries. Architectures often separate them, feeding OLAP from OLTP through ETL or change-data-capture.
CDC (Change Data Capture)
CDC is a technique for observing and streaming changes from a database's transaction log to downstream consumers. It is widely used to keep read models, search indexes, and analytics stores in sync without dual writes.