Monday, November 12, 2018

DevOps Vs SRE


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'. 


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

RCA - Root Cause Analysis

An important step in finding the root causes of issues or occurrences that happen within a system or organization is root cause analysis (RC...