Glossary of Architectural Terms
This comprehensive glossary serves as a quick reference for key terms, concepts, and methodologies used throughout the book. Terms are organized alphabetically with clear definitions and cross-references to related concepts.
A
ADR (Architecture Decision Record) - A lightweight document that captures an architectural decision, the alternatives considered, and the rationale behind the final choice. ADRs help maintain decision history and context for future architects.
Agile Architecture - An approach to architecture that embraces iterative development, evolutionary design, and continuous feedback. Focuses on just-enough architecture to support current and near-term requirements.
API (Application Programming Interface) - A defined set of rules and protocols that allow software components to communicate with each other. APIs abstract implementation details and provide standardized interaction methods.
API Gateway - A server that acts as a single entry point into a system, routing requests to appropriate backend services. Often handles cross-cutting concerns like authentication, rate limiting, and monitoring.
Application Architect - An architect focused on the design and structure of individual applications, including code organization, design patterns, and development team collaboration.
Architecture as Code (AaC) - The practice of defining and managing architectural elements (infrastructure, services, policies) through version-controlled code, enabling automation and consistency.
Architecture Review Board (ARB) - A governance body that evaluates and approves architectural decisions, ensuring alignment with enterprise standards and strategic objectives.
B
Bounded Context - A Domain-Driven Design concept that defines the boundaries within which a particular domain model applies. Each bounded context has its own ubiquitous language and data model.
Business Architecture - The discipline that defines the business strategy, governance, organization, and key business processes of an enterprise, often serving as input to technology architecture.
C
C4 Model - A hierarchical framework for visualizing system architecture through four levels: Context, Container, Component, and Code diagrams. Created by Simon Brown as a structured approach to architectural documentation.
CQRS (Command Query Responsibility Segregation) - An architectural pattern that separates read and write operations, using different models to update information and read information.
Circuit Breaker - A design pattern that prevents cascading failures by monitoring for failures and temporarily blocking requests to failing services until they recover.
Cloud-Native - A design approach that leverages the scalability and elasticity of cloud environments through microservices, containers, containerization, and continuous delivery practices.
Cohesion - The degree to which elements within a module work together toward a single, well-defined purpose. High cohesion is generally desirable in software design.
Continuous Delivery (CD) - A practice of automatically deploying tested code to production or staging environments, enabling frequent, reliable releases with minimal manual intervention.
Coupling - The degree of interdependence between software modules. Loose coupling is preferred as it makes systems more maintainable and flexible.
D
Data Architect - A specialist focused on data strategy, including data modeling, storage solutions, analytics architecture, and data governance frameworks.
DevOps - A set of practices combining software development (Dev) and IT operations (Ops) to shorten development cycles, improve reliability, and enable faster delivery.
Domain-Driven Design (DDD) - An approach to software development that emphasizes collaboration between technical and domain experts to create software that reflects complex business domains.
E
Enterprise Architect - A strategic role focused on aligning technology initiatives with business strategy across large organizations, often involving governance and long-term planning.
Event-Driven Architecture - An architectural pattern where components communicate through the production and consumption of events, enabling loose coupling and scalability.
Event Sourcing - A pattern where state changes are stored as a sequence of events, allowing the current state to be reconstructed by replaying events.
F
Functional Requirements - Specifications that describe what a system should do, including specific behaviors, functions, and features that must be implemented.
G
Governance - The framework of policies, procedures, and standards that guide architectural decisions and ensure alignment with organizational objectives and compliance requirements.
H
Hexagonal Architecture - Also known as Ports and Adapters, an architectural pattern that isolates the core business logic from external concerns through well-defined interfaces.
Hybrid Cloud - A computing environment that combines on-premises infrastructure with public and/or private cloud services, providing greater flexibility and optimization options.
I
IaC (Infrastructure as Code) - The practice of managing and provisioning infrastructure through machine-readable definition files rather than physical hardware configuration or interactive configuration tools.
Integration Architect - A specialist focused on connecting systems, services, and data across complex enterprise environments using various integration patterns and technologies.
IoT (Internet of Things) - A network of interconnected devices that can collect and exchange data, often requiring specialized architectural considerations for scale and real-time processing.
J
Just-Enough Architecture - An approach that provides the minimum architectural guidance necessary to support current development needs while avoiding over-engineering.
K
Kubernetes - An open-source container orchestration platform that automates deployment, scaling, and management of containerized applications.
L
Load Balancer - A component that distributes incoming requests across multiple servers or service instances to optimize resource utilization and ensure high availability.
M
Microservices - An architectural style where applications are composed of small, independently deployable services that communicate via well-defined APIs or messaging protocols.
Monolith - A single, unified application where all components are tightly coupled and deployed together as a single unit.
Multi-Tenancy - A system design where a single instance serves multiple customers (tenants) with data isolation and configurable features for each tenant.
N
Non-Functional Requirements (NFRs) - System qualities such as performance, scalability, security, and usability that constrain or guide the system's behavior and design.
O
Observability - The ability to understand a system's internal state by collecting and analyzing telemetry data such as logs, metrics, and traces.
Orchestration - A pattern where a central component coordinates and manages the interactions between multiple services or processes.
P
Platform as a Service (PaaS) - A cloud computing model that provides a platform allowing customers to develop, run, and manage applications without dealing with underlying infrastructure.
Polyglot Persistence - The use of different data storage technologies within a single application or system to handle diverse data requirements optimally.
Q
Quality Attributes - Measurable properties of a system such as performance, security, availability, and maintainability that affect user satisfaction and system success.
Queue - A communication mechanism where messages are stored in a first-in-first-out (FIFO) manner, enabling asynchronous processing between system components.
R
Resilience - A system's ability to recover from failures and continue operating, often achieved through redundancy, failover mechanisms, and graceful degradation.
REST (Representational State Transfer) - An architectural style for distributed systems that uses standard HTTP methods and emphasizes stateless communication and resource-based URLs.
S
Scalability - The ability of a system to handle increased load by adding resources, either vertically (scaling up) or horizontally (scaling out).
Security Architect - A specialist focused on embedding security considerations throughout the system lifecycle while balancing usability and compliance requirements.
Service Mesh - An infrastructure layer for managing communication between microservices, providing features like routing, security, load balancing, and observability.
Solution Architect - A versatile role that bridges business requirements with technical implementation, often working across multiple domains and technologies.
Strangler Fig Pattern - A migration pattern that gradually replaces legacy systems by incrementally replacing functionality with new implementations.
T
Technical Debt - The implied cost of additional rework caused by choosing quick, suboptimal solutions instead of better long-term approaches.
TOGAF (The Open Group Architecture Framework) - A standardized methodology for enterprise architecture that provides approaches for designing, planning, implementing, and governing enterprise information technology architecture.
Twelve-Factor App - A methodology for building software-as-a-service applications that emphasizes portability, scalability, and maintainability in cloud environments.
U
UX Architect - A specialist focused on ensuring technology solutions deliver exceptional user experiences across all touchpoints and interaction channels.
Ubiquitous Language - In Domain-Driven Design, a common language used by both domain experts and developers to ensure clear communication about domain concepts.
V
Vertical Scaling - The process of adding more power (CPU, RAM) to existing machines to handle increased load, as opposed to adding more machines (horizontal scaling).
W
WebAPI - An application programming interface that uses web protocols, typically HTTP, to enable communication between different software applications over a network.
X
XaaS (Everything as a Service) - A general category of cloud computing services where various computing resources are provided as services over the internet.
Y
YAML (YAML Ain't Markup Language) - A human-readable data serialization standard commonly used for configuration files and data exchange between applications.
Z
Zero-Downtime Deployment - A deployment strategy that allows new versions of applications to be deployed without interrupting service availability to end users.
Cross-References
Architecture Patterns
Cloud Concepts
Design Principles
Quality Attributes
Roles and Responsibilities
- Solution Architect | Enterprise Architect | Data Architect | Security Architect | Integration Architect | UX Architect
Related Resources
- Templates - Practical templates and checklists
- Resources - Books, courses, and learning materials
- Table of Contents - Complete book navigation
This glossary is continuously updated. For the most current definitions and new terms, please refer to the latest version of this document.