Measuring Error Budgets p.2: identifying critical components



Smiling person in layered hair w/eyelashes,gesturing

Published on 24 January 2025 by Zoia Baletska

9ezeef.webp

If you are tired of dealing with constantly failing software systems, measuring error budgets can help you ensure that your software is reliable and performs at its best.

The first step is to determine an acceptable level of errors or bugs. Go to our previous article on measuring error budgets to find out more about this step.

The second step is to identify critical components, which we will be diving into today.

What are the critical components?

Critical components are the parts of your system that are most crucial to its overall performance.

Identifying critical components involves analyzing system architecture, understanding dependencies, and identifying potential single points of failure. By focusing on these critical components, you can prioritize your efforts and resources to ensure that they are reliable and performant. For example, if you are running an e-commerce website, the checkout process is likely a critical component. If this process fails, customers may abandon their carts and shop elsewhere. By identifying this component and monitoring it closely, you can ensure that it is always functioning properly.

Here are 3 examples of critical components in websites and/or apps:

1. Authentication system

An authentication system is a critical component in websites and apps that require users to log in. If this system fails or becomes unavailable, users will not be able to access the application and the entire application may become unusable.

2. Payment gateway

For e-commerce websites and apps, a payment gateway is a critical component that ensures secure and reliable transactions. If this component fails, customers may not be able to complete their transactions, resulting in lost sales and revenue.

3. Database system

The database system is a critical component in most websites and apps as it stores and manages data. If this system fails, the application may not be able to function properly, resulting in errors, crashes, and data loss.

How to define critical components?

There are several approaches to identifying critical components, including analyzing user traffic patterns, monitoring performance metrics, and conducting risk assessments.

User traffic analysis involves examining user behavior to determine which parts of the system are most frequently used and which are essential to the user experience. By identifying the most critical components, teams can allocate more resources to these areas and prioritize their error budget accordingly.

Performance metrics monitoring involves tracking the performance of different system components, such as response times, error rates, and throughput. This approach helps teams identify components that are frequently causing errors or are struggling to meet performance targets. By focusing on these components, teams can reduce errors and improve system reliability.

Risk assessment involves identifying potential risks to the system, such as security vulnerabilities, single points of failure, and dependencies on third-party systems. By identifying critical components that are most vulnerable to these risks, teams can prioritize their error budget to mitigate potential issues before they become major problems.

Ultimately, identifying critical components requires a holistic approach that considers user needs, performance metrics, and potential risks. By focusing on the most critical components, teams can optimize their error budget and ensure that their software systems are reliable, performant, and secure.

Done! What’s next?

The last step of measuring Error Budgets is to define and set up SLOs. Read more on what SLOs are and how to set them up in our article on SLOs.

8bb80088-c21a-4402-8eb7-0379f49abc1c.webp

Error Budgets in Agile Analytics

With tools like Agile Analytics, teams can easily monitor and analyze performance metrics to identify critical components and optimize their error budget accordingly. Try out our 60-day free trial today and take the first step towards more reliable software.

Try it out for free

Experience full access to Agile Analytics with our 60 days free trial. Including assistance in onboarding. No creditcard required.

Sign up for a free trial