DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Low-Code Development: Leverage low and no code to streamline your workflow so that you can focus on higher priorities.

DZone Security Research: Tell us your top security strategies in 2024, influence our research, and enter for a chance to win $!

Launch your software development career: Dive head first into the SDLC and learn how to build high-quality software and teams.

Open Source Migration Practices and Patterns: Explore key traits of migrating open-source software and its impact on software development.

Related

  • Books To Start Your Career in Cloud, DevOps, or SRE in 2024
  • Implementing SLAs, SLOs, and SLIs: A Practical Guide for SREs
  • Deep Work for Site Reliability Engineers
  • Cracking the SRE Interview

Trending

  • Implementing Real-Time Credit Card Fraud Detection With Apache Flink on AWS
  • Node.js Walkthrough: Build a Simple Event-Driven Application With Kafka
  • You Can Shape Trend Reports: Participate in DZone Research Surveys + Enter the Prize Drawings!
  • Build Your Business App With BPMN 2.0
  1. DZone
  2. Culture and Methodologies
  3. Methodologies
  4. What Are SLOs, SLIs, and SLAs?

What Are SLOs, SLIs, and SLAs?

How do SLOs, SLIs, and SLAs relate to each other? How will these acronyms help manage service levels that your users expect? Let’s look at each.

By 
Jemiah Sius user avatar
Jemiah Sius
·
Amy Reinholds user avatar
Amy Reinholds
·
Mar. 13, 23 · Tutorial
Like (1)
Save
Tweet
Share
2.6K Views

Join the DZone community and get the full member experience.

Join For Free

Site reliability engineering (SRE) is the practice of applying software engineering expertise to DevOps and operations problems. SRE, which was popularized by the 2016 publication of Site Reliability Engineering: How Google Runs Production Systems, often means proactively writing code and developing internal applications to combat reliability and performance concerns. 

In SRE, service levels describe services provided to users within a given period of time in measurable terms. Service level objectives (SLOs) are the goals set for the availability expected out of a system. Service level indicators (SLIs) are the key measurements and metrics to determine the availability of a system. Service level agreements (SLAs) are the legal contracts that explain what is agreed upon and what happens if systems don’t meet SLOs.

For example, an SLO for a web application might be that videos must start playing in less than two seconds, 99% of the time, during a one-week period. The SLI measures the proportion of videos on the site that start playing in less than two seconds. The SLA includes both this SLO and other SLOs that are agreed upon by the customer and the service provider, the scope of services that will be covered, and the SLIs, which are the metrics that will be used to measure performance.

But how do SLOs, SLIs, and SLAs relate to each other? How will these acronyms help manage service levels that your users expect? Let’s look at each in more detail.

What Are SLOs?

SLOs are the goals you set for how much availability you expect out of your system, expressed as a percentage over a period of time. 

The service level objectives help teams collaborate on a shared meaning of “availability” and “uptime.” You use SLOs as a standard to measure your reliability and availability. As described in the earlier example, an SLO states that videos in the web application must start playing in less than 2 seconds, 99% of the time over a week period.

What Are SLIs?

SLIs are the quantitative measurements of how users experience the availability of a system. They represent a proportion of successful outputs for a level of service, expressed as a percentage. 

These service level indicators are described in relation to SLOs, but SLIs provide real-time signals into system reliability. SLIs can measure the proportion of requests that were faster than a threshold or the proportion of records coming into a pipeline that result in the correct value coming out. As described in the earlier example, the SLI measures the proportion of videos on the website that start playing in less than two seconds. You can tell how far you are from the objective in the SLO.

What Are SLAs?

SLAs define the level of service your customers expect when they use your service.

These service level agreements are contracts between service providers and their customers that document what services the provider will furnish and define the service standards the provider is obligated to meet. SLAs describe remedies or penalties as results of breaking the SLO commitments.

For the earlier example, the SLA will include all the SLOs for the web application, as well as the scope of services that will be covered, and all the SLIs, which are the metrics that will be used to measure performance against the SLOs. The agreement also includes both the responsibilities of the service provider and the customer.

Who Uses Service Levels, SLOs, SLIs, and SLAs?

While SRE teams and reliability engineers aren’t always responsible for managing service levels, it often falls within their purview. By tracking SLIs and tying them to SLOs, you can set goals around the performance of a system. Google’s SRE book defines the four golden signals of service levels as latency, traffic, errors, and saturation. So, for example, you could look at an API call and track its number of successful/failed requests (the SLI) against a general percentage of requests (the SLO, for example, 95%) that need to be successful for customers to have a good experience. 

SRE teams often set strict SLOs on critical components within their applications and services to better understand how strict of an SLA they can agree to with customers. From here, the team can apply error budgets as a way to understand how quickly they must resolve issues in order to stay compliant with their SLOs. Service levels allow teams to aggregate metrics and create a transparent view of uptime, performance, and reliability across the entire organization. At a glance, business leaders can use service levels to monitor compliance across multiple teams, applications, services, etc., to gain a comprehensive understanding of their system’s health. 

Site reliability engineering Software engineering User experience

Published at DZone with permission of Jemiah Sius. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Books To Start Your Career in Cloud, DevOps, or SRE in 2024
  • Implementing SLAs, SLOs, and SLIs: A Practical Guide for SREs
  • Deep Work for Site Reliability Engineers
  • Cracking the SRE Interview

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: