Site reliability engineering (SRE) uses software engineering to automate IT operations tasks – e.g. production system management, change management, incident response, even emergency response – that would otherwise be performed manually by systems administrators.
The concept behind SRE is that using software code to automate oversight of large software systems is a more flexible and sustainable strategy than manual intervention – particularly when those systems expand or move to the cloud.
SRE can also minimize or eliminate much of the natural tension between development teams who want to deliver new or modified software constantly into production, and operations teams who do not want to release some form of upgrade or new software without being completely confident that it will not cause outages or other problems with operations.
Site reliability engineers:
A software developer with IT operations experience is a site reliability engineer – someone who knows how to code and who also understands how to keep the lights on in a large-scale IT environment.
Site reliability engineers spend no more than half their time performing manual IT operations and system management activities, reviewing logs, tuning performance, applying patches, checking production environments, responding to accidents, performing postmortems, and spending the remainder of their time creating code that automates those tasks.
The Site Reliability Engineering team acts as a bridge between development teams and operations teams at a higher level, allowing the development team to introduce new technologies or new functionality to production as quickly as possible, while also maintaining an agreed-upon reasonable level of performance of IT operations and risk of error in accordance with the organization’s service level agreements (SLAs) with its clients.
Site reliability engineering & DevOps:
By automating the software delivery lifecycle and allowing development and operations teams more mutual responsibility and more insight into each other’s work, DevOps is a modern way to produce better quality applications more quickly.
Like SRE, by balancing the need to produce more software and improvements faster with the need to avoid ‘breaking’ the development environment, DevOps makes an organization more agile. And like SRE, by maintaining a reasonable risk of mistakes, DevOps aims to achieve this balance.
SRE ADVANTAGES TO AN ORGANIZATION:
- By monitoring metrics, logs and traces across all facilities in the enterprise and providing background for determining root causes in the event of an incident, you gain greater insight into service health.
- Quantify the cost of downtime by helping production and operations teams recognize the cost of SLA breaches and helping management quantify the effect on manufacturing, distribution, marketing, customer support and other business functions of system reliability.
- Optimize the response to incidents by creating successful on-call systems and streamlining workflow warnings
- Build a modern network operations center to send warnings directly to the person responsible for solving the problem by integrating a comprehensive knowledge of IT operations with machine learning and automation.