SRE vs. DevOps: SRE Is to DevOps What Scrum Is to Agile
Let's learn about the differences between site reliability engineering and DevOps.
Join the DZone community and get the full member experience.Join For Free
DevOps and Site Reliability Engineering (SRE) both seem to rule the world of software development, and at the same time, both appear to overlap or confuse people to some extent. Today, we will try to analyze both terms and see if we can see some differentiating factors between the two.
The term "DevOps Engineer" strives to dim this divide between Dev and Ops conjointly and suggests that the best approach is to hire engineers who can be excellent coders as well as handle all the Ops functions.
Skills required for a DevOps Engineer:
- Knowledge and proficiency with a variety of Ops and automation tools
- Great at writing scripts
- Comfortable dealing with frequent testing and incremental releases
- Understanding of Ops challenges and how they can be addressed during design and development
- Soft skills for better collaboration across the team
You can also read this well-described article on how to be a great DevOps engineer.
Site Reliability Engineer (SRE)
According to Wikipedia, “Site Reliability Engineering is a discipline that fuses aspects of software engineering and applies that to IT operations problems. The main goals are to create ultra-scalable and highly reliable software systems.”
Skills required for an SRE:
- Ability to postmortem unexpected incidents to solve future hazards
- Skilled in evaluating new possibilities and capacity planning aptitudes
- Comfortable with handling the operations, monitoring and alerting
- Knowledge and experience in building processes and automation to support other teams
- Ability to persuade organizations to do what needs to be done
The Difference Between DevOps and SRE
DevOps is not a role, it is more of a cultural aspect and can’t be assigned to a person, should be done as a team. However, to do DevOps, we need some tools. Whereas, SRE is the practice of creating and maintaining a highly available service and it is a role given to a software professional.
SREs sometimes practice DevOps. “DevOps engineer” sometimes is really just a title used to hire sysadmins. While DevOps, as considered in the organizations focuses more on the automation part, SREs focus is more on the aspects like system availability, observability, and scale considerations.
Ali Fay, a DevOps expert says, “A ‘DevOps Engineer’ is someone who not only understands the full SDLC (Software Development Life Cycle) but has the hands-on skills actually to implement changes to tooling for supporting the improved processes. Usually, those skills are honed from years of experience as a sysadmin and/or developer, allowing them to implement services using good quality code. Whereas SREs main job is ensuring the site (aka “platform/service”) is always operational, no matter what.”
When asked about the difference between SRE and DevOps, Shaun Norris, the global head of cloud infrastructure services at Standard Chartered Bank says, “I like to think that SRE is to DevOps what Scrum is to Agile; one implementation of a philosophy. Not a 100% subset (SRE doesn’t subscribe to the full ‘run what you build’ mantra) but you get the idea…”.
DevOps primarily focuses on empowering developers to build and manage service and give them measurable metrics to prioritize tasks. There seem to be very fewer people in this segment who can handle a senior DevOps role since It should be someone with a combination of a software engineer, system engineer, architect, and an experienced master. SRE deals with monitoring applications or services after deployment to practice where automation is crucial to improving a system’s health and availability. She or he considers the role after the design work of a software developer.
DevOps and SRE can still be confusing at some level but it all depends on the company and your job profile interpretation. The roles and names might vary but the only thing that remains with you is your skills. End of the day, the whole world needs a solution and technology becoming more and more dynamic and enriching day by day, experience and learning matter more than anything else.
Opinions expressed by DZone contributors are their own.
What Is JHipster?
What I Learned From Crawling 100+ Websites
Which Is Better for IoT: Azure RTOS or FreeRTOS?
Building a Java Payment App With Marqeta