Ideas for building software systems that last.
Practical perspectives on solution architecture, software design, cloud, artificial intelligence, and the decisions that make complex systems easier to operate.
Latest insight
Set an Operational Complexity Budget Before You Expand the Platform
A practical way to limit technology variety, protect operability, and spend platform complexity only where it creates meaningful business value.
Every new runtime, data store, broker, and deployment pattern adds a permanent operating obligation. An explicit complexity budget helps leaders decide which additions are worth carrying.
Read the full insightArchitecture, engineering, and technology
Concise, practical articles designed to help technology leaders make clearer decisions.
Set a Consistency Budget Before You Choose a Transaction Model
Distributed systems become expensive when every data relationship is treated as if it requires immediate consistency. A consistency budget turns business tolerance for delay and correction into a concrete architecture decision.
Design Degraded Modes Before the Incident
A practical architecture method for defining which customer journeys must continue, what data they may trust, and how systems should behave when normal dependencies are unavailable.
Keep Business Policy Out of Integration Glue
A practical method for separating transport, translation, and workflow mechanics from business policy so that important rules remain visible, testable, and owned.
Put Expiration Dates on Architecture Exceptions
A practical governance model for making architecture exceptions explicit, time-bound, reviewable, and removable before short-term compromises become permanent operating risk.
Draw Architecture Boundaries Around Failure, Not Teams
A practical method for choosing service and platform boundaries by examining blast radius, recovery independence, shared state, and the business consequences of failure.