Skip to main content

96 docs tagged with "architecture"

View all tags

Architecture Decision Record (ADR) Template

Template for documenting architecture decisions including context, rationale, consequences, and alternatives. Enables searchable decision history and informed future decisions.

Architecture Review Checklist

Comprehensive architecture review guide covering quality attributes assessment, risk identification, operational readiness, technology fitness evaluation, and team capability assessment.

Auditability & Evidence

Design systems that can demonstrate compliance and security through comprehensive logging and tracing.

Compute Models

VMs, containers, and serverless platforms—trade-offs in isolation, performance, cold start, and operational complexity

Controller

Assign system event handling to a non-UI class that mediates between UI and domain logic

CQRS and Read Models

Separate read and write models to optimize for different access patterns and enable flexible data transformation.

Cross-References

Understand how sections connect and key linkages between topics across the handbook.

Data Residency & Sovereignty

Manage where data physically resides and who can access it, respecting legal boundaries and customer requirements.

Database Per Service

Isolate service data with dedicated databases to maintain independence and prevent tight coupling.

Dependency Inversion Principle

High-level modules should not depend on low-level modules; both should depend on abstractions. Invert the dependency flow.

Deployment Topologies

Single-region, multi-region, active-active, active-passive, and disaster recovery patterns

Domain-Driven Design

Strategic and tactical design techniques to model complex domains and align software with business

Event Sourcing

Store the complete history of changes as immutable events rather than storing only the current state.

Foundational Concepts

Ground yourself in core architecture, systems thinking, paradigms, and data basics to make sound design decisions.

Frontend Architecture

Component design, state management, rendering strategies, and performance optimization

Glossary

Comprehensive reference of software architecture terminology, acronyms, and concepts. Includes SLA/SLO/SLI, RBAC/ABAC, bounded contexts, sagas, and design patterns.

High Cohesion, Low Coupling

Build systems where components relate strongly to their purpose while remaining loosely connected to other components.

Law of Demeter

Master the Principle of Least Knowledge to reduce coupling and improve maintainability in complex systems.

Mobile Architecture

MVVM, offline sync, background tasks, battery/network constraints, and app distribution

Networking

Load balancing, network policies, mTLS, and CDN/edge patterns

Open/Closed Principle

Software entities should be open for extension, closed for modification. Design for change without breaking existing code.

Orchestration

Scheduling, service discovery, load balancing, and stateful workload management

Performance & Scale

Scale data systems for growth: caching, replication, sharding, and materialized views

Platform Concerns

Image and artifact management, supply-chain security, cost controls, and resource quotas

Programming Paradigms

How to choose and combine programming paradigms per component to meet quality attributes like latency, correctness, and evolvability.

Regulatory Considerations

Navigate the landscape of regulatory requirements and ensure architectural decisions support compliance.

Separation of Concerns

Design systems where different areas address different aspects of functionality, improving modularity and maintainability.

Solution & System Architect

Design coherent systems within organizational constraints, balancing business goals with technical feasibility.

Storage Models

Explore different database and storage technologies: RDBMS, NoSQL, graphs, time-series, and more

Structural Patterns

Compose objects into larger structures while keeping relationships flexible and decoupled

Virtual Machines (VMs)

Full OS isolation, live migration, mixed workloads, and legacy application compatibility