Architecture Patterns Catalog
Reference catalog of proven architecture patterns. Know when to apply each pattern, tradeoffs, and examples. Use as reference when designing systems.
Deployment Topology
Plan container orchestration, load balancing, high availability, and scaling. Design deployment topologies for production systems. Use when architecting deployment infrastructure or modernizing deployment practices.
Architecture Anti Patterns
Identify and avoid common architectural mistakes. Recognize patterns of failure. Use when reviewing designs or learning from mistakes.
Maintainability Assessment
Assess and design for maintainability. Evaluate code complexity, coupling, and testability. Use when evaluating codebase health or designing for long-term evolution.
Compliance Framework
Implement compliance requirements (SOC2, GDPR, HIPAA). Design architecture for regulations. Map technical controls to compliance requirements. Use when building regulated systems.
Reliability Design
Design systems that fail gracefully and recover automatically. Use when defining SLAs, designing for fault tolerance, or improving uptime.
Capacity Planning
Forecast infrastructure resource needs (compute, storage, network). Model growth scenarios and utilization targets. Use when planning infrastructure investments or optimizing costs.
Architecture Kata
Practice architectural design with structured problems. Time-limited design challenges. Use for skill development, interviews, team exercises.
Disaster Recovery Plan
Define recovery objectives (RTO/RPO), backup strategies, failover procedures, and testing protocols. Use when planning disaster recovery or establishing continuity practices.
Interview Prep
Prepare for architecture interview questions and scenarios. Practice system design, tradeoff discussions, communication. Use for career development and interview readiness.
Rfc Template
Propose architectural changes with comprehensive RFCs. Structure feedback, document decisions, track rationale. Use when proposing major architecture changes or design patterns.
Change Impact Analysis
Predict impacts of architectural changes on dependent systems. Trace dependencies, assess risk, plan rollout. Use when making major changes or analyzing blast radius.
Architecture Brief
Write concise executive summaries of architecture. Communicate decisions and tradeoffs to non-technical stakeholders. Use when presenting to leadership or documenting decisions.
Technical Mentoring
Coach engineers on architecture and design. Provide feedback, guide learning, support growth. Use when mentoring junior architects or senior engineers.
C4 Model Diagram
Create C4 context, container, component, and code diagrams. Visualize architecture at different abstraction levels. Use when communicating system structure to diverse audiences.
Integration Patterns
Integrate data across systems using ETL, CDC, event streaming, and API patterns. Design robust, maintainable data integrations. Use when connecting disparate data sources or microservices.
Sequence Diagram
Show interactions and flows over time. Illustrate request paths, asynchronous patterns, error handling. Use when documenting complex flows or onboarding on system behavior.
Architecture Review Checklist
Standardized architecture review process with consistent criteria. Evaluate systems against principles, quality attributes, and operational readiness. Use when conducting architecture reviews.
Multi Region Design
Distribute globally across multiple regions for low latency, compliance, and resilience. Plan data replication, failover, and latency optimization. Use when designing global systems.
Tech Debt Assessment
Measure, prioritize, and address technical debt. Classify debt by impact and effort. Build paydown roadmap. Use when evaluating system health or planning refactoring.
Container Orchestration
Design Kubernetes clusters for scaling, service discovery, storage, and networking. Plan upgrades and multi-cluster strategies. Use when architecting container infrastructure.
Architecture Roadmap
Create multi-quarter architecture vision and roadmap. Prioritize initiatives, estimate effort, communicate strategy. Use when planning architecture evolution or communicating long-term vision.
Schema Evolution
Manage database schema changes while maintaining backwards compatibility. Handle migrations, versioning, and zero-downtime deployments. Use when evolving data models in production systems.
Architecture Principles
Define foundational architecture principles and decision-making rules. Communicate guidelines across organization. Use when establishing architectural standards or updating strategy.
Dependency Governance
Manage and optimize system dependencies (libraries, services, data). Reduce coupling, track vulnerabilities, plan deprecation. Use when managing dependency sprawl or improving system modularity.
Cloud Architecture
Design cloud infrastructure for AWS, GCP, or Azure. Plan compute, storage, networking, and compliance. Use when architecting cloud systems or migrating to cloud.
Architecture Review Facilitation
Lead effective architecture reviews. Manage discussions, surface disagreements, build consensus, document decisions. Use when conducting reviews or running architecture forums.
Fitness Function Design
Design metrics that measure architecture health (coupling, modularity, scalability). Automate fitness function checks in CI/CD. Use when establishing quality gates or measuring architectural degradation.
Cost Optimization
Optimize infrastructure and operational costs without sacrificing performance or reliability. Use when managing cloud budgets or improving unit economics.
Stakeholder Presentation
Present architecture to diverse audiences (executives, product, engineers). Tailor message, manage Q&A, handle skepticism. Use when communicating major decisions or visions.
System Audit
Conduct comprehensive system architecture evaluation. Assess design quality, technical debt, operational readiness, scalability. Use when auditing existing systems.
Legacy Modernization
Modernize legacy systems without rewriting from scratch. Use strangler fig, facade, and strategic refactoring.
Performance Modeling
Model system performance, predict latency under load, identify bottlenecks. Use when optimizing performance or capacity planning.
Infrastructure As Code Patterns
Codify infrastructure with Terraform, CloudFormation, or Pulumi. Design IaC architecture, versioning, testing, and drift detection. Use when automating infrastructure or establishing IaC practices.
Network Topology
Design VPCs, subnets, security groups, load balancing, and DNS architecture. Plan for segmentation, DDoS protection, and failover. Use when architecting network infrastructure.
Event Sourcing
Store state as immutable event log instead of current values. Build auditable, event-driven systems with full history. Use when auditability, temporal queries, or event-driven processing matters.
Data Governance
Establish data ownership, quality standards, compliance policies, and metadata management. Build organizational data practices. Use when defining data strategy or improving data quality and compliance.
Vendor Evaluation
Systematically evaluate and select vendors for infrastructure, SaaS, or services.
Proof Of Concept Plan
Plan and execute focused POCs to validate architectural decisions before full commitment.
Risk Assessment
Identify and manage architectural risks using risk matrices and mitigation strategies.
Data Pipeline Design
Design batch and streaming data pipelines. Plan ingestion, transformation, quality checks, and failure recovery. Use when building ETL/ELT systems or data infrastructure.
Context Diagram
Design high-level system boundary diagrams. Show external systems, users, data flows. Use when onboarding teams or clarifying system scope.
Storage Selection
Choose the right database technology for specific workloads. Evaluate relational, NoSQL, data warehouses, and search engines. Use when selecting storage systems for new features or optimizing existing ones.
Architecture Decision Record
Document architectural decisions using ADR format. Use when making significant architectural choices that affect future development.
Build Vs Buy
Systematically evaluate whether to build a solution or buy/use existing product. Use when evaluating tooling, services, or frameworks.
Observability Design
Design observability (metrics, logs, traces) for understanding system behavior in production. Use when debugging distributed systems or building monitoring.
Data Flow Diagram
Design data movement and transformation pipelines. Show how data flows between systems, transforms, and where it's stored. Use when architecting data integrations or ETL processes.
Data Model Design
Design data models for business domains using entity-relationship or domain-driven design. Use when modeling new domains or refactoring data structures.
Technology Radar
Evaluate and track technology choices on a radar. Use when selecting frameworks, databases, or tools.
Migration Strategy
Plan large-scale migrations from old systems to new architectures. Use when modernizing legacy systems or upgrading infrastructure.