For a decade the default advice was "rewrite it as microservices." That advice was wrong for most teams, and the bill came due in network latency, distributed transactions, and an observability stack that cost more than the product. The modular monolith is the architecture most people actually wanted: strict internal boundaries inside a single deployable, with none of the distributed-systems tax.
Microservices
-
The Modular Monolith -
gRPC From the Ground Up A dense, no-marketing-fluff guide to gRPC: HTTP/2 foundations, the four call types, deadlines, interceptors, the error model, load-balancing gotchas, and when to reach for Connect or REST instead.
-
Microservices Patterns That Work Microservices trade a hard problem you understand — a tangled monolith — for a set of hard problems you might not: network failure, partial outages, distributed data, and operational sprawl. This is a field guide to the patterns that make the trade survivable: how services should talk, how to stop failures cascading, how to manage data without distributed transactions, and the honest case for not splitting at all.