Architecture
104 articles
CQRS Explained: When to Use Command Query Responsibility Segregation
Learn what CQRS (Command Query Responsibility Segregation) is, how it differs from CRUD, and when applying it actually improves your system design and scalability.
The Saga Pattern Explained: Managing Distributed Transactions in Microservices
Learn how the Saga pattern manages distributed transactions in microservices. Compare choreography vs orchestration-based sagas and their practical trade-offs.
What is BFF (Backend For Frontend)? Benefits and Implementation Guide
A summary of what I researched about BFF.
Notes on Building a Notification Platform
Understand notification platform design for multi-channel delivery including email, push, SMS integration.
Monorepos Explained: Benefits, Drawbacks, and When to Use Them
Understand what monorepos are, the tooling involved (Nx, Turborepo, Bazel), and the practical trade-offs between monorepos and polyrepos for growing engineering teams.
Road to ISUcon
Preparation for participating in ISUcon.
Data-Oriented Application Design
Data-Oriented Application Design
Fundamentals of Software Architecture
Fundamentals of Software Architecture
Software Architecture Hardparts
Software Architecture Hardparts
System Design Interview
System Design Interview
Devoured System Design Resources
A compilation of resources related to system design.
Notes on Articles Read to Clarify the Differences Between SOA and Microservices
Compare SOA versus microservices architectures, ESB components, API gateways, and distributed system design trade-offs.
Architecture Decision Records (ADR) Explained: How to Document Technical Decisions
Learn what Architecture Decision Records (ADRs) are, why documenting technical decisions matters, and how to write effective ADRs for your engineering team.
About Design Docs
Write effective Design Docs for software architecture. Master documentation lifecycle, review process, and team collaboration strategies.
Technologies Supporting bmf-tech
Explore Docker, Golang, Vue.js, Nginx, Prometheus, and Grafana powering modern blogging infrastructure and monitoring systems.
Distributed System Design Patterns
Distributed System Design Patterns
Introduction to Building Data Analysis Infrastructure
Introduction to Building Data Analysis Infrastructure
Participated in ISUCON10
Learn performance optimization strategies for ISUCON competition including query tuning, MySQL upgrades, and database indexing techniques.
Design It
Design It
97 Things Every Software Architect Should Know
97 Things Every Software Architect Should Know