Companies are in need of the metrics that will allow them to stay in business by making sure they meet the expectations of their customers. The name of the game is higher customer satisfaction by winning their trust and loyalty. To do so, you want to provide good products and services. Therefore you need to find ways to monitor performance, drive continuous improvements and deliver the quality expected by the consumer in this highly competitive market.
Photos from AlphaTradeZone via Pexel and Spacejoy via Unsplash |
SLAs, SLOs and SLIs are a good way to achieve the above. They allow clients and vendors to be on the same page when it comes to expected system performance.
List of NFR groups:
- Performance
- Scalability
- Portability
- Compatibility
- Availability
- Reliability
- Usability
The agreements and metrics allow SRE and DevOps teams to have a clear understanding of the performance objectives that are required for the users’ satisfaction, by having a focus on reliability, being customer-centric, aligned with business goals, and, therefore, push for continuous improvement.
Recommended article
SRE, DevOps and ITOps. If you are wondering what the differences between the SRE and DevOps are, as well as how these roles work with ITOps within an organisation then...
Ok, coming back to SLAs-SLOs-SLIs… what are they?
- SLA: Service Level Agreement. The agreement between the service provider and the customer that outlines the expected level of service, including specific performance and reliability targets.
- SLO: Service Level Objective. The targets/objectives to hit.
- SLI: Service Level Indicator. The actual metrics used to measure the performance and reliability of the system.
In other words, the SLIs are the numbers that will be used to demonstrate that you have met the promises (SLOs) you have agreed upon within the contract/agreement (SLA) with your customer.
An example of aligning SLAs and NFR
Let us assume you have the following NFR:
The CMS database must be backed up on a daily basis.
This can be a way to align the SLAs with the above NFR:
Database Service Level Agreement (SLA). Backup and Recovery: Full backups will be performed daily, and incremental backups will be performed hourly. If a failure occurs, the database will be restored to the last backup within thirty (30) minutes. |
SLO: Full Backup to perform daily. Incremental backup to perform hourly. Data restore will be done within 30 minutes from the time of the failure. |
SLI: Backup success rate done via monitoring logs. Backup metrics: backup success rate, backup duration, backup size, restore time and restore success time. |
DevOps metrics
With these metrics you can track technical capabilities and team processes around your software development pipeline. By being able to monitor and identify issues then you are able to efficiently and effectively address it, and discover new automation opportunities that will bring proactiveness to your operations. If you think about it, this is all relatable with principles of continuous improvement which are relevant to the DevOps culture.
There are many DevOps Metrics, which I encourage you to research about them and read them in so many great articles out on the internet. Like many of those articles, I will just highlight 4 key/critical ones (I recommend following these "breadcrumbs" we are leaving you in this article and reading more about them. You have many options on so many blogs out there! ):
- Lead time for changes
- Deployment frequency
- Mean time to recovery (MTTR)
- Change failure rate
Differences between SLAs and DevOps Metrics
SLAs and DevOps Metrics both look after the quality and performance of the products and services.
This said, they do serve different purposes. SLAs set clear expectations and accountability, making sure providers meet the standards and the promises agreed upon.
DevOps metrics, on the other hand, help teams improve processes and deliver software effectively and with the quality expected.
It is common for SRE teams to leverage SLA-SLO-SLIs to ensure reliability metrics are met, and the systems are performing as intended.
On the other hand, DevOps teams will be focused on leveraging DevOps metrics to measure the success of development and operations processes, and identifying areas of improvement.
You may also like
Being product led
Being product leg organisation algo means permeating product led goals across each function adn departments to ensure...
Demystifying OKR scoring
The KRs in OKRs are the Key Results. With them we measure the progress towards the Objectives we have set...