Architecture
110 articles
Basic Patterns of Cache Strategies
Learn the five cache strategies: Cache Aside, Read Through, Write Through, Write Back, and Write Around. Covers read/write flows, consistency trade-offs, and mermaid diagram walkthroughs.
ACID vs BASE: Understanding Database Consistency Models
Compare ACID and BASE consistency models. Understand the trade-offs involved, when to use each, and how the CAP theorem connects to your database design choices.
CAP Theorem Explained: Understanding Distributed Database Trade-offs
Understand the CAP theorem and PACELC theorem with clear examples. Learn the distributed system trade-offs between consistency, availability, and partition tolerance.
About Processing Models of Web Applications
Architect web applications with Event Loop, Thread, and Process models for IO-bound and CPU-bound concurrent workloads.
Practical Techniques for Building System Architecture
A review of Practical Techniques for Building System Architecture. A practical guide for engineers doing architecture design in the field. Where the prior book focused on why, this one covers how, from requirements definition to logical and physical design and documentation through views, introducing concrete techniques useful on the ground.
About Architecture, Architects, and Architecting
Understand architecture as essential system structure, architect responsibilities, and architecting activities for building aligned systems.
Principles of Building System Architecture: Three Mindsets IT Architects Should Have
A review of Principles of Building System Architecture. A must-read if you are involved in architecture design. Beyond technical solutions, it systematically articulates the whole design process, from the definition and framing of architecture to engaging stakeholders and design techniques.
Cohesion and Coupling
Understand cohesion and coupling as software design metrics. Learn the 7 levels of cohesion (coincidental to functional) and 6 levels of coupling (content to data) with practical examples.
Access Control Patterns Using OPA
Explore four access control patterns using Open Policy Agent including Allow/Deny, SQL generation, and AST approaches with responsibility separation.
Considering the Shelf Life of Design
Consider design shelf life across business, organization, product, and technical perspectives. Balance constraints and trade-offs.
Measuring Scalability
Measure system scalability using throughput, latency, efficiency metrics, mathematical models like Amdahl's Law, and practical benchmarking.
Cloud-Native Architecture: Mastering Availability and Cost-Effectiveness in Next-Gen Design Principles
Notes from reading the book Cloud-Native Architecture: Mastering Availability and Cost-Effectiveness in Next-Gen Design Principles. It summarizes the fundamentals of cloud-native thinking, along with the design principles and trade-offs involved in building for availability and cost-effectiveness.
Things to Consider When Writing Architecture Documents
An article on what to keep in mind when writing architecture documents, which play an important role in system design. Rather than a mere listing of design information, it explains how to write them as material that explains the validity of a design to stakeholders, builds consensus, and guides readers to understanding and agreement.
Bounded Contexts
Understand bounded contexts in domain-driven design to clarify word meanings, organize responsibilities, and improve system design.
Structure of My System Specification Document
Learn to structure system specification documents with sections for architecture, data models, APIs, and sequence diagrams for design clarity.
Communication Guide for Developers and Architects: Learning Information Transmission through Patterns
A book discussing communication through visual information, text, language, non-verbal cues, and documentation.
Building Multi-Tenant SaaS Architecture - Principles, Best Practices, AWS Architecture Patterns
A review of Building Multi-Tenant SaaS Architecture. It comprehensively explains the essentials specific to SaaS: the two-plane structure of control plane and application plane, tenant authentication and routing, data partitioning, and noisy-neighbor mitigation. Not tied to a particular domain, it reads as broadly applicable.
Implementation of Access Control System for Microservices Using OPA
Implement fine-grained access control for distributed microservices using Open Policy Agent and declarative Rego policy language.
Optimal Architecture Strategy for Requirements
A review of a book on requirement-optimal architecture strategy. It covers implementing architecture through domain-driven design once you understand the business strategy, devoting many pages to practical DDD and architecture implementation patterns, including why aiming for microservices from the start is hard.
How to Split a Large Monolith? - Lessons from Software Architecture Hard Parts
This article organizes useful points for considering service division from a monolith, based on chapters 1 to 4 of 'Software Architecture: The Hard Parts'.