Every system is perfectly designed to produce the results it gets.
FMS field reference · Rev. 01
Murphy’s Rules
for DevOps
Collected from servers, service calls, midnight command lines, and other controlled learning environments.
Read before maintenance. Re-read after saying, “It’ll only take five minutes.”
Nothing is more permanent than a temporary fix that works.
The most reliable system is the one you stop touching after it starts working.
The difference between a stable server and a project is whether you SSH into it after 10 PM.
Run it until it gives you a reason not to.
If everything is working, document it before you forget why.
Before changing anything, prove there is actually a problem.
One step at a time. If you change three things, you’ll troubleshoot four.
A backup is only a backup if you’ve restored from it.
The probability of failure is directly proportional to the confidence level of the phrase: “It’ll only take five minutes.”
Every maintenance window expands to consume all available evening hours.
Production is the most comprehensive test environment ever created.
If you’re not monitoring it, it’s broken and just hasn’t told you yet.
Disk space consumed by an old image is a nuisance. Disk space consumed by an overenthusiastic cleanup command is a recovery project.
The best troubleshooting tool remains: “Tell me exactly what you changed.”
Logs are innocent until proven guilty.
If the logs are empty, you’re looking in the wrong place.
When the solution appears obvious, collect one more piece of evidence.
There is no problem so small that automation cannot make it happen at scale.
The second most dangerous phrase in DevOps is: “We should optimize that.”
The most dangerous phrase in DevOps is: “Everything’s working… I wonder if I can make it even better.”
A system that has run flawlessly for six months is preparing a surprise.
The outage begins the moment you say: “I’ll just make one quick change.”
Never perform maintenance when tired, hungry, angry, or in a hurry.
The ancient Viking incantation appearing in a terminal is rarely the root cause.
When in doubt: Maintain present heading and velocity.
No new problems required.
Field additions
The rules that followed us home.
Not part of the numbered twenty-seven. Too useful to leave lying on the shop floor.
Perfect is the enemy of Good.
At some point you’re no longer improving the solution. You’re just delaying its existence.
Trust—but verify.
A green light is encouraging. A tested result is evidence.
At 11:31 PM, every problem is either a tomorrow problem or a 3:00 AM problem.
Your next decision determines which. Fatigue changes the odds.
Sharpen the saw.
Maintenance, documentation, learning, and rest are part of the work.
Leave people better off than you found them.
Everything else is implementation details.
Standing order