Skip to Content
97 Things Every SRE Should Know
book

97 Things Every SRE Should Know

by Emil Stolarsky, Jaime Woo
November 2020
Beginner to intermediate
250 pages
7h 41m
English
O'Reilly Media, Inc.
Content preview from 97 Things Every SRE Should Know

Chapter 91. The Importance of Formal Specification

Hillel Wayne

When dealing with very complex systems, finding bugs becomes much more difficult. Although a wide variety of tools can help you, these tools primarily help identify why a bug has happened. We’ve done very little as an industry to help you avoid having the bug in the first place.

Why is that? In part, we are still used to thinking of bugs as faults in the code—uncaught nulls, off-by-one, and so on, but the subtlest and most dangerous bugs are problems with the design. They are cases when everything is locally correct but interact in a way that’s globally incorrect.

Consider mixing error retries and rolling deployment. The client’s initial request and first retry could be handled by different servers running different versions of the code. Any unexpected behavior wouldn’t be the fault of the client, server, or load balancer, but arise from the interplay among them.

Nobody has made a mistake. Every local component is doing exactly what we told it to do. Given the complexity of the system, it becomes difficult to understand the consequences of those actions at a global level.

The only way to deal with these is by the hard work of intelligent experts. Us. But just as we have tools to help us write code, we also have tools that help us write designs. One powerful technique is to write a software model of the system and ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

97 Things Every Engineering Manager Should Know

97 Things Every Engineering Manager Should Know

Camille Fournier
97 Things Every Cloud Engineer Should Know

97 Things Every Cloud Engineer Should Know

Emily Freeman, Nathen Harvey

Publisher Resources

ISBN: 9781492081487Errata Page