Site reliability engineering (SRE) is a discipline that incorporates aspects of software engineering and applies them to infrastructure and operations problems. The main goals are to create scalable and highly reliable software systems. Site reliability engineering is closely related to DevOps, a set of practices that combine software development and IT operations, and SRE has also been described as a specific implementation of DevOps.
The field of site reliability engineering originated at Google with Ben Treynor Sloss, who founded a site reliability team after joining the company in 2003. In 2016, Google employed more than 1,000 site reliability engineers. After originating at Google in 2003, the concept spread into the broader software development industry, and other companies subsequently began to employ site reliability engineers. The position is more common at larger web companies, as small companies often don't operate at a scale that would require dedicated SREs. Companies who have adopted the concept include Dropbox, Airbnb, and Netflix. According to a 2021 report by the DevOps Institute, 22% of organizations in a survey of 2,000 respondents had adopted the SRE model.
Site reliability engineering is the application of software engineering to IT subjects including infrastructure and operations, with the goal of creating and maintaining scalable and reliable systems. Site reliability engineers often have a backgrounds in software engineering, system engineering, or system administration. Focuses of site reliability engineering include automation, system design, and improvements to system resilience. SRE teams are responsible for system availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning.
Site reliability engineering is closely related to DevOps, a set of practices that combine software development and IT operations, and has also been described as a specific implementation of DevOps. Site reliability engineering focuses specifically on building reliable systems, whereas DevOps is more broadly focused on infrastructure. The definition varies somewhat by company, and Stephen Gossett wrote in Built In that some companies have rebranded their operations teams to SRE teams with little meaningful change.
The USENIX organization has held an annual SREcon conference since 2014 for site reliability engineers in industry, and also holds regional conferences with similar themes.
Edited: 2021-06-18 19:18:45