<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DevOps]]></title><description><![CDATA[DevOps]]></description><link>https://devops-learning-series.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 10:42:06 GMT</lastBuildDate><atom:link href="https://devops-learning-series.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[SLA vs SLO vs SLI: Understanding the Difference Without Getting Confused]]></title><description><![CDATA[Understand SLA, SLO, SLI and Error Budgets with simple everyday examples. Learn how they help DevOps and SRE teams improve service reliability.]]></description><link>https://devops-learning-series.hashnode.dev/sla-slo-sli-explained</link><guid isPermaLink="true">https://devops-learning-series.hashnode.dev/sla-slo-sli-explained</guid><category><![CDATA[sla]]></category><category><![CDATA[sli]]></category><category><![CDATA[slo]]></category><category><![CDATA[SRE]]></category><dc:creator><![CDATA[Malathi Shetty]]></dc:creator><pubDate>Wed, 04 Nov 2026 10:17:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/68384e70844acdda2b275fa7/19da717b-4427-4009-bd4d-8f606f067cd5.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>While learning DevOps and SRE, I came across three terms quite often:</p>
<ul>
<li>SLA – Service Level Agreement</li>
<li>SLO – Service Level Objective</li>
<li>SLI – Service Level Indicator</li>
</ul>
<p>At first, I found these terms confusing. They sound similar, and all three are related to how reliably a service performs.</p>
<p>I could remember their full forms, but remembering the full forms wasn't the same as understanding what they actually meant.</p>
<p>So I decided to understand them using examples from everyday life instead of trying to memorise technical definitions.</p>
<p>Let's start with something we have all experienced.</p>
<h2>1. What Is an SLI (Service Level Indicator)?</h2>
<h3>What actually happened?</h3>
<p>Imagine you are a student.</p>
<p>You prepare for an exam, write it, and finally receive your marks.</p>
<p>You scored 85 out of 100.</p>
<p>Now, what does 85 tell you?</p>
<p>It tells you your actual result.</p>
<p>You cannot say you scored 90 just because you wanted to. Your marks show what actually happened.</p>
<p>That's the basic idea behind SLI.</p>
<p>Now let's connect this to an application.</p>
<p>Imagine you are running an online shopping application. Customers visit your website to browse products, add items to their carts and make payments.</p>
<p>How would you know whether your application is performing well?</p>
<p>You need to measure it.</p>
<p>For example:</p>
<ul>
<li>How many customer requests were successful?</li>
<li>How many requests failed?</li>
<li>How quickly did the application respond?</li>
<li>Was the application available when customers needed it?</li>
</ul>
<p>These are things an engineering team can measure.</p>
<p>Let's take a simple example.</p>
<p>Your application receives 1,000 requests.</p>
<p>Out of those, 990 requests are successful.</p>
<p>Your success rate is:</p>
<p>Success Rate = (Successful Requests / Total Requests) × 100</p>
<p>= (990 / 1,000) × 100</p>
<p>= 99%</p>
<p>That 99% is the observed value of an SLI (Service Level Indicator).</p>
<p>It gives the team an actual measurement of how the application is performing.</p>
<p><strong>Remember:</strong></p>
<p>SLI = Actual measurement.</p>
<p>It tells us what actually happened.</p>
<h2>2. What Is an SLO (Service Level Objective)?</h2>
<h3>What do we WANT to achieve?</h3>
<p>Let's continue with our exam example.</p>
<p>Before your exam, you decided:</p>
<p>"I want to score at least 90 marks."</p>
<p>That is your target.</p>
<p>But when the results came out, you scored only 85.</p>
<p>Let's look at the difference:</p>
<ul>
<li>Your target = 90 marks.</li>
<li>Your actual result = 85 marks.</li>
</ul>
<p>You wanted 90, but achieved 85.</p>
<p>This is the difference between what you want to achieve and what actually happened.</p>
<p>The same idea applies to applications.</p>
<p>Imagine your engineering team decides:</p>
<p>"We want at least 99.9% of customer requests to be successful over a 30-day period."</p>
<p>This is an SLO (Service Level Objective).</p>
<p>It is the target the team sets for the application.</p>
<p>Now imagine the actual success rate is only 99.5%.</p>
<p>What does that tell us?</p>
<p>The team wanted to achieve 99.9%, but the actual result was 99.5%.</p>
<p>The target was not achieved.</p>
<p>This gives engineers a reason to investigate what went wrong and where improvements are needed.</p>
<p><strong>Remember:</strong></p>
<p>SLO = Target.</p>
<p>It tells us what we WANT to achieve.</p>
<h2>3. What Is an SLA (Service Level Agreement)?</h2>
<h3>What did we PROMISE the customer?</h3>
<p>Now let's move away from the exam example.</p>
<p>Imagine you hire a school bus service for your child.</p>
<p>The transport company makes a formal agreement with you.</p>
<p>It promises to pick up your child at 8:00 AM.</p>
<p>The agreement also explains what happens if the company fails to provide the agreed service.</p>
<p>This is more than just setting a target.</p>
<p>It is a promise made to another person, with agreed conditions.</p>
<p>That's the basic idea behind SLA.</p>
<p>Let's bring this into the world of applications.</p>
<p>Imagine you run an online shopping application, and another company depends on your application for its business.</p>
<p>You make a formal agreement with that company:</p>
<p>"We promise at least 99% monthly availability. If we fail to meet this commitment, eligible customers may receive service credits according to the agreement."</p>
<p>This is an SLA (Service Level Agreement).</p>
<p>An SLA generally explains:</p>
<ul>
<li>What level of service is promised.</li>
<li>How the service will be measured.</li>
<li>The period over which it will be measured.</li>
<li>What conditions or exclusions apply.</li>
<li>What happens if the agreed commitment is not met.</li>
</ul>
<p>The important thing here is that an SLA is a formal agreement between a service provider and its customer. It is not just a number or an internal target.</p>
<p><strong>Remember:</strong></p>
<p>SLA = Promise or formal agreement with the customer.</p>
<p>It tells us what we PROMISED the customer.</p>
<h2>4. How Are SLI, SLO and SLA Different?</h2>
<p>We have understood each term separately. Let's see how they work together in a real application.</p>
<p>Imagine you own an online shopping application.</p>
<p>Your engineering team measures its performance, sets a reliability target, and makes a commitment to customers.</p>
<p>Here is a simple example:</p>
<table>
<thead>
<tr>
<th>Term</th>
<th>What it means</th>
<th>Example</th>
</tr>
</thead>
<tbody><tr>
<td>SLI</td>
<td>Actual measurement</td>
<td>Application availability is 99.5%</td>
</tr>
<tr>
<td>SLO</td>
<td>Internal target</td>
<td>We want 99.9% availability</td>
</tr>
<tr>
<td>SLA</td>
<td>Customer commitment</td>
<td>We promise 99% availability</td>
</tr>
</tbody></table>
<p>Now look at those numbers again.</p>
<ul>
<li>Actual availability (SLI) = 99.5%.</li>
<li>Target availability (SLO) = 99.9%.</li>
<li>Customer commitment (SLA) = 99%.</li>
</ul>
<p>What does this mean?</p>
<p>Our application is working 99.5% of the time.</p>
<p>But our internal target is 99.9%, so we haven't achieved our target.</p>
<p>However, our customer commitment is 99%, so we are still meeting our SLA.</p>
<p>Interesting, right?</p>
<p>This is why companies often set their internal SLO stricter than their customer-facing SLA.</p>
<p>They don't want to wait until customers experience a service-level violation before taking action.</p>
<p>The internal target gives the engineering team room to identify problems and improve reliability before the customer commitment is affected.</p>
<h2>5. What Is an Error Budget, and How Does It Relate to SLO?</h2>
<p>When I started understanding SLO, I came across another term: Error Budget.</p>
<p>Instead of treating it as another complicated definition, let's continue with the same example.</p>
<p>Imagine your team has set an SLO of 99.9% availability over 30 days.</p>
<p>Does this mean your application must work every second of those 30 days without any interruption?</p>
<p>Not necessarily.</p>
<p>A 99.9% availability target allows a small amount of downtime.</p>
<p>Let's calculate it.</p>
<p>A 30-day month has:</p>
<p>30 × 24 × 60 = 43,200 minutes.</p>
<p>If the application is expected to be available 99.9% of the time, the remaining 0.1% is the downtime allowance.</p>
<p>43,200 × 0.1% = 43.2 minutes.</p>
<p>So, your application can experience approximately 43.2 minutes of downtime in that 30-day period and still meet its 99.9% availability target, assuming the SLO uses this measurement method and counts downtime across the full period.</p>
<p>That allowance is called the Error Budget.</p>
<p>But why do engineering teams need this?</p>
<p>Think about what happens in a real DevOps environment.</p>
<p>Teams regularly:</p>
<ul>
<li>Deploy new application versions.</li>
<li>Release new features.</li>
<li>Update configurations.</li>
<li>Fix bugs.</li>
<li>Make infrastructure changes.</li>
</ul>
<p>Every change can introduce some risk.</p>
<p>If the team keeps making changes without considering reliability, the application may become unstable.</p>
<p>Error Budgets help teams balance two important things:</p>
<ol>
<li>Releasing new features and making improvements.</li>
<li>Keeping the application reliable for customers.</li>
</ol>
<p>If the team consumes its error budget too quickly, it may need to slow down risky releases and focus on fixing reliability issues.</p>
<p>This is one way SRE teams use SLOs to make practical engineering decisions.</p>
<h2>6. What Is the Difference Between SLI, SLO, SLA and Error Budget?</h2>
<p>Let's quickly revise the four terms we have covered.</p>
<table>
<thead>
<tr>
<th>Term</th>
<th>The question to remember</th>
<th>Meaning</th>
</tr>
</thead>
<tbody><tr>
<td>SLI</td>
<td>What actually happened?</td>
<td>Measurement</td>
</tr>
<tr>
<td>SLO</td>
<td>What do we want to achieve?</td>
<td>Target</td>
</tr>
<tr>
<td>SLA</td>
<td>What did we promise the customer?</td>
<td>Agreement</td>
</tr>
<tr>
<td>Error Budget</td>
<td>How much downtime can we afford while meeting our SLO?</td>
<td>Allowed unreliability</td>
</tr>
</tbody></table>
<h2>Final Thoughts</h2>
<p>When I first came across SLA, SLO and SLI, I found them confusing because the names sounded so similar.</p>
<p>But I realised that I was trying to remember the definitions without understanding the difference between them.</p>
<p>The exam marks example helped me understand the difference between an actual result and a target. The school bus example helped me understand what a formal promise or agreement means.</p>
<p>Once I connected these examples to applications, the technical concepts started making much more sense.</p>
<p>If there is just one thing I want you to take away from this article, it is this:</p>
<p><strong>SLI measures. SLO targets. SLA promises.</strong></p>
<p>You don't have to memorise complicated definitions to understand these concepts.</p>
<p>And the next time you hear someone talking about service reliability, you will know that measuring a service, setting a target for it, and making a promise to a customer are three different things.</p>
<p>Because building an application is important, but building an application that people can depend on is what reliability engineering is really about.</p>
]]></content:encoded></item><item><title><![CDATA[DevOps Lifecycle]]></title><description><![CDATA[DevOps follows a continuous cycle that ensures faster and smoother delivery: Plan → Code → Build → Test → Deploy → Monitor → Feedback Plan – Define…]]></description><link>https://devops-learning-series.hashnode.dev/devops-lifecycle</link><guid isPermaLink="true">https://devops-learning-series.hashnode.dev/devops-lifecycle</guid><dc:creator><![CDATA[Malathi Shetty]]></dc:creator><pubDate>Sun, 29 Mar 2026 02:17:21 GMT</pubDate><content:encoded><![CDATA[<p>DevOps follows a continuous cycle that ensures faster and smoother delivery:</p>
<p><strong>Plan → Code → Build → Test → Deploy → Monitor → Feedback</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/68384e70844acdda2b275fa7/d773b6ef-1582-49b6-b107-1d78ab50adaa.png" alt="" style="display:block;margin:0 auto" />

<h3>Explanation:</h3>
<ul>
<li><p><strong>Plan</strong> – Define requirements</p>
</li>
<li><p><strong>Code</strong> – Write the application</p>
</li>
<li><p><strong>Build</strong> – Compile and package code</p>
</li>
<li><p><strong>Test</strong> – Ensure quality</p>
</li>
<li><p><strong>Deploy</strong> – Release to production</p>
</li>
<li><p><strong>Monitor</strong> – Track performance</p>
</li>
<li><p><strong>Feedback</strong> – Improve continuously</p>
</li>
</ul>
<p>This cycle repeats continuously, enabling <strong>continuous improvement</strong>.</p>
]]></content:encoded></item></channel></rss>