DevOps and SRE: Comparing Apples to Oranges?

Sahil Khanna | Thursday June 22 2017

Just because DevOps and SRE occupy the same methodological space doesn’t mean they’re exactly the same. So what’s the difference?

DevOps and SRE: Comparing Apples to Oranges?

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.

Tweet Section

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.

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
Key Qualifications:

  • Demonstrate proficiency in writing build and deployment automations
  • Know how in maintaining and debugging systems in Java runtime environment
  • Have a good grasp of Linux systems, networking and security
  • Have a thorough understanding of cloud based architectures
  • Experience managing source in git (GitHub ops, branching, merging, etc) a big plus
  • Experience in cluster management/orchestration software like Mesos, Aurora or Ansible is a big plus
  • Experience in CI build tools such as Gradle and Jenkins a plus
  • Experience implementing and administering logging, telemetry and monitoring tools like Splunk is a plus
  • Experience with tools such as Docker and Docker based deployments is a plus
  • Experience with Big Data / Data Science infrastructure (Hadoop, Spark, etc) is a plus
Key Qualifications

  • 5+ years in Systems Engineering/DevOps role in a large environment required
  • Candidate will possess strong knowledge of Linux systems and internals
  • Good understanding of standard networking protocols and components such as: HTTP, DNS, TCP/IP, ICMP, the OSI Model, Subnetting and Load Balancing.
  • Fluent in at least one scripting language in addition to Bash (Python/Perl/PHP/Ruby), Python experience highly preferred.
  • Demonstrated ability to write programs using a high-level programming language like: C, Java, Ruby, Python, or Perl.
  • Experience troubleshooting problems and working with a team to resolve large scale production issues.
  • Familiar and comfortable with the following: Apache, Tomcat, Jetty, Memcached, Java, CDN technologies, network analysis tools, or equivalent.
  • Familiarity with logging systems like Splunk
  • Experience with Puppet, Chef, Ansible , Salt or configuration management systems.
  • Strong experience with monitoring tools (ie: Nagios etc.), Linux package Management
  • Proficiency with source control, continuous integration and testing methods (git)
  • Excellent written and verbal communication skills
  • Obsessively passionate and inquisitive, and seek to solve everyday problems in innovative ways
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.

No SRE
Yelp — DevOps Yelp — SRE
No DevOps What You Will Do

  • Work closely with developers in supporting new features and services.
  • Monitor site stability and performance.
  • Scale infrastructure to meet demand.
  • Troubleshoot site issues.
  • Develop custom tools as necessary.
  • Document system design and procedures.
  • Participate in light on-call rotation.

We Are Looking For

  • Mastery of Linux or Unix.
  • Command of your favorite modern programming language: Python, Ruby, Java, C++, etc.
  • Proficiency with configuration management tools like puppet, chef, ansible, etc.
  • Solid understanding of fundamental networking technologies.
  • Knowledge of best practices related to security, performance, and disaster recovery.
  • Experience with web server configuration, monitoring, trending, network design, high availability.
  • Excellent communication skills.
  • A sense of humor!

What can we conclude from today’s DevOps and SRE job listings?

  1. SRE jobs tend to require a more thorough development background
  2. While organizations tend to choose DevOps or SRE, they can co-exist
  3. 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!

Moogsoft AIOps helps modern IT Operations and DevOps teams become smarter, faster, and more effective by providing technological supplementation that automates mundane tasks, enables scalability, and frees up human beings to do what they do best — ideate, create, and innovate. Start your free trial today by clicking here.

Sahil Khanna

About the Author

Sahil Khanna is a Sr. Product Marketing Manager at Moogsoft, where he focuses on the emergence of Algorithmic IT Operations. In his free time, Sahil enjoys banging on drums and participating in high-stakes bets.

See more posts from this author >

Leave a Reply

avatar
wpDiscuz