Architecture

120 articles

Why the Domain Fades From View in Web Development, and Why It Eventually Comes Back
Architecture 2026-08-21

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.

#DDD#Design#Architecture
Hands-On API Learning
Architecture 2026-07-28

Hands-On API Learning

Hands-On API Learning

#Book Review#API#Design
Good Code, Bad Code
Architecture 2026-07-28

Good Code, Bad Code

Good Code, Bad Code

#Book Review#Design
Where Should You Store SPA Tokens? A BFF + Session Authentication Design
Architecture 2026-07-16

Where Should You Store SPA Tokens? A BFF + Session Authentication Design

Explains where to store access tokens in an SPA (the danger of localStorage), a BFF + session design that keeps tokens out of the browser, and why starting token-less is often enough.

#BFF#Authentication#Security
What is the Big Picture of Service-to-Service Authentication? mTLS, Token Exchange, SPIFFE, and Zero Trust
Architecture 2026-07-15

What is the Big Picture of Service-to-Service Authentication? mTLS, Token Exchange, SPIFFE, and Zero Trust

Organizes service-to-service authentication in microservices across three layers: network, token, and identity foundation. Covers mTLS, Token Exchange (RFC 8693), SPIFFE, Zero Trust (NIST SP 800-207), and BeyondProd.

#Authentication#Microservices#Security
Comparing API Styles: REST, GraphQL, gRPC, Webhooks, WebSocket, and Messaging
Architecture 2026-06-27

Comparing API Styles: REST, GraphQL, gRPC, Webhooks, WebSocket, and Messaging

Six common API styles, REST, GraphQL, gRPC, Webhooks, WebSocket, and Messaging, compared side by side. This article organizes them by communication model, lays out each style's overview, design considerations, and pros and cons, and gives guidance for choosing. A map for picking a style in API design.

#API#REST#GraphQL#gRPC#WebSocket#Webhook#Messaging
When to Use GraphQL: Adoption Criteria and Trade-offs
Architecture 2026-06-25

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.

#GraphQL#Architecture#API#BFF#REST
When to Use gRPC: Adoption Criteria and Trade-offs
Architecture 2026-06-25

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.

#gRPC#Architecture#API#Microservices#Protocol Buffers#HTTP/2
Comparing API Versioning Strategies: Path, Query, Header, and Payload
Architecture 2026-06-22

Comparing API Versioning Strategies: Path, Query, Header, and Payload

A concise comparison of four API versioning strategies — path, query parameter, header, and message payload — covering their pros, cons, and best fit.

#API#REST#HTTP
What Is EventStorming
Architecture 2026-06-16

What Is EventStorming

Learn EventStorming, a workshop technique born from domain-driven design that uses sticky notes to rapidly map a business domain and build shared understanding between developers and domain experts.

#DDD#EventStorming
Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization
Architecture 2026-05-22

Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization

A book that organizes the requirements microservices must satisfy to be production-ready, presented as a standardization checklist.

#Microservices#Book Review
Accidental Complexity and the Absence of Decision Records
Architecture 2026-05-21

Accidental Complexity and the Absence of Decision Records

How accidental complexity emerges, and why the absence of ADRs and Design Docs makes it hard to tell what is essential from what is accidental.

#Design#Architecture Decision Record#Design Docs
Three Common Patterns for Distributed Transactions — 2PC, Saga, and Outbox
Architecture 2026-05-13

Three Common Patterns for Distributed Transactions — 2PC, Saga, and Outbox

A concise comparison of the three canonical distributed transaction patterns in microservices — 2PC, Saga, and Outbox — covering their mechanics, trade-offs, and when to use each.

#Microservices#Distributed Transactions#2phase commit#Saga Pattern#Outbox Pattern
Architecture Modernization: Socio-technical alignment of software, strategy, and structure
Architecture 2026-04-29

Architecture Modernization: Socio-technical alignment of software, strategy, and structure

Architecture Modernization: Socio-technical alignment of software, strategy, and structure

#Book Review#Architecture#DDD#Team Topologies
Fundamentals of Software Architecture, 2nd Edition: An Engineering Approach
Architecture 2026-04-28

Fundamentals of Software Architecture, 2nd Edition: An Engineering Approach

Fundamentals of Software Architecture, 2nd Edition: An Engineering Approach

#System Design#Book Review
The Abstraction Trap in Architecture Design
Architecture 2026-04-23

The Abstraction Trap in Architecture Design

Why sharing domain logic can quietly turn into architectural debt, while technical concerns can safely be shared — with nuance around authorization and PII-sensitive logging.

#Design#DDD
Viability Conditions for Building a Platform
Architecture 2026-04-19

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.

#Architecture#Platform Engineering#DDD
What's the Difference Between Product Development and Platform Development?
Architecture 2026-04-06

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.

#Architecture#Team Topologies#Platform Engineering#Organization Design
Migrating bmf-tech.com from gobel to gohan — A Full Static Site Transition
Architecture 2026-03-20

Migrating bmf-tech.com from gobel to gohan — A Full Static Site Transition

The complete process of migrating bmf-tech.com from a self-built headless CMS (gobel) with MySQL and Vue.js to a fully static site on gohan, hosted on Cloudflare Pages. Covers 700+ articles, English slug generation, image migration, redirects, and a Go-based preflight checker.

#gohan#Migration#SSG#Golang
Engineering in the AI Era: Evolution from Prompts to Autonomous Systems
Architecture 2026-02-25

Engineering in the AI Era: Evolution from Prompts to Autonomous Systems

Master Prompt as Code, PromptOps, LLM-as-Judge evaluation, Context Engineering, and Agentic Engineering for AI.

#LLM as Judge#Prompt as Code#Prompt Ops#Context Engineering#Prompt Engineering#Continuous AI