Architecture
110 articles
Distributed System Design Patterns
A review of Distributed System Design Patterns. A book for learning container-based design patterns for distributed systems. It organizes established patterns such as sidecar and ambassador that combine multiple containers to improve reliability and scalability.
Introduction to Building Data Analysis Infrastructure
A review of an introduction to building data analysis infrastructure. It explains how to build a data platform that supports everything from collecting and storing logs to analyzing them, a practical primer to reference when actually building a log collection and analysis foundation.
Participated in ISUCON10
Learn performance optimization strategies for ISUCON competition including query tuning, MySQL upgrades, and database indexing techniques.
Design It
A review of Design It. A book for learning the role and responsibilities a software architect should fulfill. It positions the architect at the center of three forces, business, technology, and users, and lays out concrete duties such as framing problems from an engineering viewpoint.
97 Things Every Software Architect Should Know
A review of 97 Things Every Software Architect Should Know. A book that lets you learn the attitudes and mindsets of renowned software architects as 97 short essays. Though fragmentary, it exposes you broadly to the perspectives and disposition of an architect.
Evolving Architecture: Supporting Continuous Change
A review of Building Evolutionary Architectures. A book for learning approaches to architectures that can keep adapting to change. Centered on using fitness functions to protect desired qualities, it also makes you feel how hard it is to design functions that actually work well.
Learning Software Structure and Design from Clean Architecture Experts
A review of Clean Architecture. Rather than giving a strict definition, it describes the traits and rules of a design that can be called clean. It frames the goal of software architecture as minimizing the people needed to build and maintain a system, explaining dependency inversion through polymorphism and independent deployability and developability.
The UNIX Philosophy
A review of The UNIX Philosophy. A book that distills the thinking and philosophy behind UNIX into just 150 pages. Packed with ideas applicable to coding and design in general, like small is beautiful, it is something you will want to revisit whenever you face a design challenge.
Eric Evans' Domain-Driven Design
A review of Eric Evans' Domain-Driven Design. The foundational DDD text, dense enough that even a reading group struggles to fully digest it. It drives home that understanding and interpreting the domain matters even more than how you express it in code. A classic worth revisiting over time.
Web API: The Good Parts
A review of Web API: The Good Parts. A standard book to read first when learning how to design web APIs. Covering the basics of API design, such as endpoint design and how to return responses, it is one you will want to reread whenever you are unsure about a design.