What is SRE?

SRE stands for Site-Reliability Engineering, or Site-Reliability Engineer depending on the context. SREs use software tools to manage and automate IT operations. By incorporating software engineering principles in the IT process, SRE allows organizations to create more reliable and efficient systems.

What does an SRE do?

Site reliability engineers brings a software engineering perspective to IT operations through many different roles. A site reliability engineer is responsible for code deployment and configuration, availability, performance, monitoring services in production, emergency incident response, and IT infrastructure

What are the common SRE tools?

SRE use different tools to facilitate IT operations:

  • On-call management tools allow SRE teams to communicate with and support teams that deal with the reported issues.
  • Incident response tools categorize the reported cases based on severity to properly address them. These tools also provide post-incident analysis reports.
  • Configuration management tools remove repetitive tasks and automates software workflow.

Why SRE?

Site reliability engineering helps manage large systems through code, which is more scalable and sustainable for system administrators (sysadmins) managing large varieties of machines. SRE is important for the quality-of-service delivery. If issues go unnoticed, it can affect the reliability of the service. There are benefits to SRE practices such as:

  • Improved cross-team collaboration;
  • Enhanced end-user experience;
  • Enhanced metric-reporting; and
  • Modernizing operations.

With the process of SRE, teams can properly plan for the appropriate incident response and improve operations planning. SRE helps organizations determine the cost of downtime and gain more insight in their service health.

What are the five pillars of SRE?

For proper SRE implementation, there are five key pillars that are followed for reliable product launches:

  1. Service-level indicators and objectives:
    • Service indicators quantitively measure the level of the service provided. How long it takes for your organization to properly deliver the service can be used to indicate the quality of the service. There is also request-based service-level indicators that measure platform availability and latency. These indicators help analyze service success rate as a performance indicator. Service-level objectives are a range of values of a service-level indicator that determines if the service is reliable. Service-level objectives define what are acceptable values to deliver a reliable service.
  2. Risk acceptance and mitigation plan:
    • Risk is associated with the loss of satisfaction from the end-user, that can be a result of a new upgrade or feature addition. There are mitigation plans put in place to address risks. Prior to changes, it is important to identify the target metrics and user impact to analyze the chance of risks. By thoroughly calculating risks, mitigation plans can be put in place to address the outcomes.
  3. Automation:
    • Automation reduces human errors and creates a faster, more reliable system. With automation, organizations can deliver a more efficient service, so it is important to automate what can be automated.
  4. Proactive monitoring:
    • Proactive monitoring is the practice of continuously identifying potential issues before they become a bigger threat to the service. It is important to constantly monitoring the system to minimize incidents and system failures.
  5. Release and deployment:
    • For efficient and successful service deployment, it is crucial to learn and understand the components of the service. To have a good understanding of the service requires collaboration with the various teams involved in the process.

SRE vs. DevOps?

DevOps is a practice where development and operations teams work together to create a shorter software development cycle and faster delivery process, resulting in increased business value and responsiveness through fast paced and high-quality service delivery. SRE is a practice that brings software engineering into IT operations to automate the process. For feature development and coding, DevOps focuses on efficient pipeline delivery while SRE focuses on both site reliability and new feature development. The primary focus of DevOps is development while SRE focuses on operational problems.  

 

« Back to Glossary Index
X