DevOps and Site Reliability Engineering (SRE) are two similar, but separate, methodologies for improving the agility, availability, and performance of applications and services. If a company considers itself to be “digital,” then it’s surely embracing one of these methodologies, or potentially both.
What I’ve found is that people tend to use the two terms interchangeably, but in reality, they have different origins.
DevOps is a term coined in 2008 and is a culture more than anything else. There are a surplus of definitions for DevOps, but it’s safe to say that DevOps is a set of practices to facilitate communication and collaboration between developers and operations. DevOps Engineers are responsible for identifying and troubleshooting service issues, and collaborating with Development when the issue lies in the application software itself.
The intended purpose of DevOps is rapid and frequent building, testing and releasing of software while maintaining high reliability. Practices like CI/CD are essentially synonymous with DevOps.
DevOps is a set of practices to facilitate communication and collaboration between developers and operations… SREs are responsible for availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning.
The term SRE was coined by Google’s Ben Treynor in 2003 when he was hired to lead a team of engineers to run a production environment. Treynor defines SRE as “What happens when a software engineer is tasked with what used to be called operations.” According to Treynor, SREs are responsible for availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning. However, unlike traditional operations staff, like sysadmins, SREs have the tendency to substitute automation for labor. By spending ~50% of time fixing things and ~50% of time building software, SREs ideally have the capability to deliver new features while incorporating self-healing and high reliability into everything they push.
With this information in mind, you could argue that SRE is really a specialized subset of DevOps, with a stronger focus on software development.
DevOps and SRE in the Real World
Now that we understand the origins of DevOps and SRE, and how they differ, how many organizations are embracing DevOps and SRE, and how do those respective roles function within IT organizations?
By doing a quick search on LinkedIn, we can see the number of job listings for DevOps Engineers and SREs, as well as the geographic distribution.
“DevOps Engineer” — 11,927 Job Listings
- New York (659)
- San Francisco (615)
- San Jose (217)
- Palo Alto (125)
- Sunnyvale (105)
“Site Reliability Engineer” — 777 Jobs Listings
- San Francisco (119)
- Seattle (37)
- Palo Alto (35)
- Mountain View (27)
- Sunnyvale (24)
This information tells us that DevOps has much more adoption than SRE today, supporting the argument that SRE is a subset of DevOps. It also says that the US East Coast has adopted DevOps the most while the US West Coast has adopted SRE the most.
What are the required Skillsets for DevOps and SRE?
To better understand how organizations are looking at DevOps vs. SRE, let’s take a look at some job descriptions…
|Apple — Sr. DevOps Engineer||Apple — Sr. SRE|
|Cisco — DevOps Engineer||Cisco – SRE|
|What You’ll Do
You’ll be responsible for solving problems related to development and operations within a modern computing environment. You have a deep understanding of how a cloud works, how to properly use compute, storage and networking within a cloud context, you also understand and be able to work within a fully agile environment.
Who You Are
You will be familiar with Docker, Kubernetes, Ansible, Terraform, Rally, Git, Jenkins, Continuous Integration, Continuous Delivery, OpenStack, Amazon Web Services, VMware, and bare metal. You will also be able to code in at least one language, with Python being the preferred language.
|Yelp — DevOps||Yelp — SRE|
|No DevOps||What You Will Do
We Are Looking For
What can we conclude from today’s DevOps and SRE job listings?
- SRE jobs tend to require a more thorough development background
- While organizations tend to choose DevOps or SRE, they can co-exist
- The desired outcome of the roles tend to be the same
Agree or disagree with this categorization of DevOps and SRE? Please share your comments!