Let’s start with very crisp definitions...
What is DevOps?
DevOps is a software engineering culture and practice, that aims at unifying software development and software operation.
What is SRE?
Site reliability engineering ( SRE ) seeks to improve the reliability of currently operating software, while minimising the work involved in its upkeep through various automations.
** 'Traditional Ops' were more focussed on how effectively ( and efficiently! ) execute the day to day tasks.
How are they different (Or) Do they have any common ground ?
Google states that SRE and DevOps are not so different from one another: “They’re not two competing methods of software development and operations, but rather close friends designed to break down organisational silos.
Both these schools highly advocates automation and collaboration - thats what in common!
Then how are they different ?
While DevOps is all about “What” needs to be done ( e.g. Cultural change , Need of Automation, Need of Measurement, need of Sharing i.e. CAMS ) ; SRE talks about “How” this can be done. It’s about expanding the theoretical part to an efficient workflow, with right work methods, tools and so on.
DevOps engineers are responsible for executing the 'Development Automation' or 'Developers Productivity' vision from the very beginning of the SDLC via Agile and CICD practices. DevOps also preaches infrastructure as code ( IaC ) automation.
Hence , It is expected that a DevOps engineer understands the full SDLC and also has the hands-on skills to implement changes, or has the ability to administer it end-to-end. There are many DevOps specific tools which focusses on this segment of 'Developers productivity'.
Hence , It is expected that a DevOps engineer understands the full SDLC and also has the hands-on skills to implement changes, or has the ability to administer it end-to-end. There are many DevOps specific tools which focusses on this segment of 'Developers productivity'.
On the other hand, SRE's main job is to ensure that the site (i.e. “platform/service”) is always operational, and reliable with the right tool, process and metrics.
SRE engineers are very focused on writing codes to automate processes and eliminate toil. Now this can only happen when you help envision or raise a very fundamental question - 'what does your developers think should change, if they were to do the Ops'.
The following analogies might be able to bring more clarity and insight!
While SRE implementation may vary from organisation to organisation, there is a DevOps Checklist portal in the internet - which you may find very useful : The DevOps Checklist
Hope this article was helpful :)
Thanks ,
-Deba
Thank you for sharing such a great blog with us Reliability Engineering
ReplyDelete