How to Build Software like an SRE — screenshot of willett.io

How to Build Software like an SRE

This article lays out practical SRE precepts for building reliable software, emphasizing an 80/20 approach to achieving significant reliability without impeding developer velocity. It offers solid advice across coding, deployment, and operations that I largely endorse.

Visit willett.io →

Questions & Answers

What is "How to Build Software like an SRE" about?
"How to Build Software like an SRE" is an article by Brandon Willett that outlines reliability precepts and tradeoffs learned from SRE experience. It focuses on achieving an effective balance between software reliability and development speed.
Who would benefit from reading this SRE guide?
This guide is beneficial for software developers, SREs, and engineering leaders seeking to integrate practical reliability principles into their software development lifecycle. It particularly targets those aiming for significant reliability gains with efficient effort.
How does this SRE approach differ from a 100% reliability-oriented method?
This approach prioritizes an "80% of reliability for 20% of the effort" mindset, contrasting with a purist 100% reliability-oriented method. It aims to enable fast developer iteration while still ensuring robust production systems.
When should engineers apply the principles from "How to Build Software like an SRE"?
Engineers should apply these principles when designing, developing, and operating new services or improving existing ones, especially when balancing reliability goals with rapid development cycles. The advice spans from initial coding practices to deployment strategies and ongoing operations.
What is a key recommendation regarding configuration management in this SRE guide?
A key recommendation is to avoid in-code fallbacks for configurations, advocating that a service should crash if it cannot load its config on startup. This simplifies diagnosis compared to a borked instance following an outdated code path due to missing configuration.