DevOps vs. SRE: Are they different?
Both DevOps and Site Reliability Engineer (SRE) aim to bridge the gap between development and operation teams, with a common goal of deploying new features/changes to production without any compromises.
DevOps was first coined by Andrew Shafer and Patrick Debois back in 2008 and as per the official definition, it is “a software engineering culture and practice, that aims at unifying software development and software operation.”
The concept of SRE was coined by Ben Treynor Sloss, who founded Google’s Site Reliability Team. According to Treynor, SRE is “what happens when a software engineer is tasked with what used to be called operations.”
DevOps is a culture or a mindset which combines Developers and Operations together. Just like DevOps, SRE is also about combining development and operation teams, helping them see the other side of the process while introducing visibility to the complete application lifecycle.
DevOps is all about "What" needs to be done and SRE talks about "How" this can be done.
Here are the top 5 pillars of DevOps which are implemented by SRE in one or other ways:
- Reduce Organizational Silos
- Accept Failure as Normal
- Implement Gradual Change
- Leverage Tooling and Automation
- Measure Everything
The work of SREs can be divided into 2 parts: Development tasks and Operations tasks with an aim of operations tasks not crossing more than 50% of day-to-day efforts. SREs should be investing time in automating their toils so that it brings efficiency in the long run.
Both DevOps and SRE are advocates of automation and monitoring, with a similar goal to reduce the time from when a developer commits a change to when it’s deployed to production. DevOps and SREs both want to do so without compromising on the quality of the code or product along the way.
In most organizations, there is the existence of either DevOps or SRE, and not both considering overlap in their responsibilities and abilities.
DevOps acnd SRE are not two competing methods for software development and operations, but complement each other to break down organizational barriers to deliver better software faster. Both help combine developer and operation teams while sharing similar responsibilities and focusing on enabling automation and reliability.
References: SRE Vs. DevOps at Google
Other short articles:
- Top 5 mistakes made by managers for 1-o-1s
- Tips for discovering latent (hidden) bugs
- Did you know universal examples of defects' severity and priority?
- Testing vs. Testers – What’s next?
- Are you a Millennial, Gen-X, or Post-Millennial?
- 10 non-urgent but important things to do as we welcome new year...
- Are test cases getting diminished in agile software development?
- Are we suffering from non-learning syndrome?
- Don't do mistake of scheduling 30 or 60minutes meetings?
- Are we losing "testing" skills while focussing on SDETs?
Leadership, Program Management, People's man
3 年Very nicely explained... they are parallel lines rather than competing fields.