#Microservices
15 articles
12 Books for Learning Software Architecture, from Fundamentals to Practice
A staged reading list of 12 books for learning software architecture, from fundamentals to practice: design basics, trade-offs, domain-driven design, microservices, and API design. Each entry links to its full review.
Microservices Patterns
A review of Microservices Patterns. Chris Richardson's systematic organization of microservice design patterns. From decomposition strategies to Saga-based distributed transactions, API Composition, CQRS, and event sourcing, it lays out the challenges and standard solutions in distributed systems, complete with their trade-offs.
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.
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.
Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization
A review of Production-Ready Microservices. A book that organizes the requirements microservices must meet to run in production: stability, reliability, scalability, fault tolerance, monitoring, and documentation, presenting them as a standardization checklist. It is grounded in the author's experience at Uber.
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.
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.
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'.
Mastering API Architecture: Practical Techniques for Evolving Architecture from Monolithic to Microservices
A review of Mastering API Architecture. Using C4 diagrams and ADRs, it explains API architecture patterns, testing, operations, and security. More of an overview than a deep dive, it suits grasping the big picture of evolving architecture from monolithic to microservices.
Microservices Architecture, 2nd Edition
A review of Building Microservices, 2nd Edition. A book worth reading if you are working on or considering microservices. It thoroughly addresses the architectural qualities (non-functional requirements) distributed systems demand, offering value even beyond a microservices-only view. Chapter 1 is a well-organized concept summary.
From Monolith to Microservices: A Practical Migration Guide to Evolve Monoliths
A review of Monolith to Microservices. A book focused specifically on approaches for migrating from a monolith to microservices. Its longest chapter tackles database decomposition, the biggest hurdle in migration, offering practical guidance for evolving a system step by step.
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.
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.
What is gRPC? A Practical Introduction to gRPC with Go
Learn what gRPC is, how Protocol Buffers work, and how to build a gRPC server and client in Go. Includes comparison with REST and when to choose gRPC.