August 17, 2019.
Fault domains are one of the most useful concepts I've found in arhcitecting reliable systems, and don't get enough attention. If you want to make your software predictably reliable, including measuring your reliability risk, then it's an extremely useful concept ot spend some time with.
August 11, 2019.
One of the challenges of having a discussion about distributed systems is agreeing on vocabulary. I've written up some of the vocabulary I've found most useful for having such discussions.
July 28, 2019.
Big Ball of Mud was published twenty years ago, and rings just as true today: the most prominent architecture in successful, growth-stage companies is non-architecture. Crisp patterns are slowly overgrown by the chaotic tendrils of quick fixes, and productivity creeps towards zero.
July 14, 2019.
One of my favorite ideas in programing that hasn't ever quite worked is literate programing. Literate programming explores how the act of writing and reading software might work if we blended code and documentation--the how and the why--much more closely, usually in the same file.
July 7, 2019.
When I wrote about the public cloud expansion forcing infrastructure engineers to evolve their role, I sort of imagined that the precursor question--should we run our infrastructure on the public cloud?--was already quite settled, but it's a discussion that I find myself having more rather than less frequently each year, so I've taken some time to structure and document my thinking.