Chapter 86. The Performance Emergency Fund

Dawn Parzych

SREs rely on concepts such as error budgets to manage changes across the organization, whether that means determining whether a release can move forward or identifying where to make improvements. Error budgets are related to availability, but of course, you need to know not just whether you’re available but also the quality of that availability.

If you’re not thinking about the quality, then you’re only getting part of the picture—but how do we define quality? I’d argue that one of the most important ways is through performance. How do you feel when it takes what seems like forever to load? Or performance on your smartphone is slower than on your laptop?

Everybody in an organization should care about performance. If a site loads too slowly or inconsistently, you run the risk of lost customers and lost sales. Nobody wants that.

Numerous studies have shown that faster-loading pages result in higher revenue, increased user engagement, and a decreased bounce rate. Slow-loading pages can also be an early indicator of a problem. Catching a problem due to slowness is better than waiting for a failure.

Just as you can create an error budget, you can do the same for performance. A performance budget is a clearly defined limit on performance metrics used to guide design and development. You can have multiple budgets for different metrics. Here are some that I think are especially valuable:

  • Total page weight

  • Maximum file size

  • Response time thresholds

  • Number of HTTP requests

Similar to bringing together different parts of an organization to consider SLOs (and, by extension, error budgets), you can do the same for performance as well and gain invaluable insights from the range of points of view. Find out who in your organization cares about the end-user experience and work with them to devise a performance budget if you don’t already have one. The creation of a performance budget should include stakeholders from design, marketing, operations, and engineering—it is truly a collaborative effort. The creation and maintenance should not fall to a single team.

Performance budgets reflect ongoing and changing business goals while allowing for risk and experimentation. Flexibility notwithstanding, the team must agree not to exceed the currently defined budget. If all teams agree on the performance budget from the start, each feature and design decision will be checked against the guidelines. Any decisions that might impact performance should be checked against the budget. Performance budgets provide another layer of accountability when site changes are proposed.

We must always think from the perspective of the customer. Does the customer care whether the site is up or down? Yes. Does the customer care whether the site loads without errors? Yes. Does the customer care whether the site loads quickly? Yes. If the customer cares, you should too.

If the site is up but users are abandoning the site because it took too long to load, that’s not good for business. In the end, the work we do doesn’t matter if it doesn’t align with business goals and objectives.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.114.125