#Architecture
23 articles
Why the Domain Fades From View in Web Development, and Why It Eventually Comes Back
Understand what a domain really means, why it works as an architectural boundary, and the structural reasons the domain fades from view in web development.
Maybe Postgres Is Enough: Check Postgres Before Adding Another Database
Before adding another datastore for caching or search, check whether Postgres already covers it. A concise table of per-use-case alternatives based on postgresisenough.dev.
When to Use GraphQL: Adoption Criteria and Trade-offs
When should you adopt GraphQL? This guide covers its core ideas (a typed schema, a single endpoint, fetching exactly what you need), where it fits and where it does not, the trade-offs, operational concerns such as N+1, and how it compares with REST and gRPC.
When to Use gRPC: Adoption Criteria and Trade-offs
When should you adopt gRPC? This guide covers its core ideas (RPC, HTTP/2, Protocol Buffers), where it fits and where it does not, the trade-offs, operational concerns, and how it compares with REST and GraphQL.
Viability Conditions for Building a Platform
How do you decide whether to build an internal platform? This article organizes the viability conditions from the perspectives of core/supporting/generic subdomains, comparison with external services, leverage, and organizational capacity, and examines how far domain analysis alone can take you.
What's the Difference Between Product Development and Platform Development?
Exploring how product development and platform development differ across three dimensions — decision criteria, design philosophy, and investment perspective.
Introducing gohan — A Go Static Site Generator with Incremental Builds
A deep dive into gohan, a Go-based static site generator powering bmf-tech.com. Features SHA-256 manifest-driven incremental builds, i18n, Mermaid diagrams, OGP image generation, and a compiled plugin system (Amazon book cards, bookshelf page).
Differentiating Architecture Strategy, Tactics, and Design
Differentiate architecture strategy, tactics, and design using 5W1H framework to clarify why, what, how, when, where, and who decisions.
Good Architecture Strategy, Bad Architecture Strategy
Even when you write an architecture strategy, it sometimes fails to work, ending up as a strategy in name only or never being executed. Drawing on the book Good Strategy, Bad Strategy, this article organizes the difference between good and bad strategies through the lens of diagnosis, guiding policy, and coherent actions.
Why and When to Write an Architecture Strategy
Develop architecture strategies to eliminate ad-hoc technology decisions and establish technology standards across teams.
Key Points to Consider When Writing an ADR
Master ADR writing by focusing on atomic decisions, documenting trade-offs, team discussions, and technical writing principles for architecture.
Requirements vs Constraints: What's the Difference? (ISO/IEC/IEEE 29148)
Requirements vs constraints, defined by ISO/IEC/IEEE 29148: requirements describe what stakeholders want and stay negotiable, while constraints limit the design space and rarely change. With examples, how to tell them apart, and why non-functional requirements act as constraints.
What is the Architecture Advice Process (AAP)?
Implement Architecture Advice Process for decentralized decision-making with ADR and architectural governance frameworks.
The Importance of Explicitly Stating Constraints and Trade-offs in Technical Decision Making
Document technical decisions by explicitly stating constraints and trade-offs to enable future re-evaluation and org growth.
About Architecture, Architects, and Architecting
Understand architecture as essential system structure, architect responsibilities, and architecting activities for building aligned systems.
Considering the Shelf Life of Design
Consider design shelf life across business, organization, product, and technical perspectives. Balance constraints and trade-offs.
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.
Considering Architecture Strategy
Understand architecture strategy as systematic policy for building and evolving systems, covering vision, principles, and scalability planning.
Reliability Patterns
Learn cloud reliability patterns from AWS, Azure, and GCP. Covers Circuit Breaker, Bulkhead, Ambassador, Retry, Queue-Based Load Leveling, BFF, and other fault-tolerance design patterns.
What is the C4 Model
Master C4 model architecture visualization with four levels: system context, containers, components, and code diagrams.