Can you tell the difference between Devops, Platform Engineering and SRE?

January 10, 2025

Demystifying the concepts...

These three concepts, DevOps, Site Reliability Engineering (SRE), and Platform Engineering (PlatEng), aren’t exactly new. In fact, they've been floating around the tech industry for over a decade now. Yet, it’s surprising how many people still get tangled up trying to differentiate them. Why is that?

Well, if you ask me, there are a few reasons for the confusion. For one, we tech folks have a habit of wrapping old ideas in shiny new buzzwords. We love to reinvent ourselves every so often, and honestly, who can resist the allure of fancy terms? Then there are companies that rush to adopt the latest and greatest without fully understanding what they’re diving into, just to stay "current." (We've all seen that, right?)


In this article, I’ll share my personal thoughts on these topics and, hopefully, bring a bit of clarity to the conversation. Keep in mind that this isn’t a comprehensive guide, every company will interpret and implement things differently based on their unique needs. So, take it with a pinch of salt.


A (Very Brief) History Lesson


Let’s skip the deep dive into history, but for context: DevOps as a term began circulating around 2007 as a way to bridge the gap between Development and Operations. SRE, on the other hand, kicked off even earlier at Google in 2003. As for Platform Engineering, while it only recently gained traction (around 2018/2019), it's arguably the oldest concept of the three in its most basic form. After all, engineers have always been building, managing, and supporting platforms in some shape or form.


So, What Exactly Is DevOps?


There’s plenty of debate about what DevOps truly means. Personally, I see it as a mindset, a philosophy that encourages agility, speed, reliability, and collaboration across not just the software lifecycle but increasingly across entire organizations. This is why I hesitate to pin DevOps down to a specific role. If DevOps were a role, a "DevOps Engineer" would need to be a jack-of-all-trades, practically a superhero! Suddenly, everyone; Infrastructure Engineers, Cloud Engineers, QA Engineers, Security Engineers, and more; started being labeled as DevOps Engineers overnight.

In my view, DevOps is more of an umbrella term that encompasses a range of disciplines, which is where roles like Platform Engineering and SRE fit in.


Platform Engineering vs. SRE: The Blurry Lines


Now, the boundaries between Platform Engineering and SRE can get a little fuzzy sometimes. Depending on how they're implemented, the business needs, and the tech stack, there can be some overlap. At their core, both focus heavily on automation, but the key difference lies in the areas they cover.

Platform Engineering is closer to the "infrastructure" layer. These engineers ensure that the physical or virtual infrastructure used to deploy and run applications is solid, reliable, and fault-tolerant. They’re the ones automating infrastructure with tools like Terraform and Ansible, mastering technologies like Linux, Windows, Kubernetes, VMware, AWS, Azure, and more. Think of Platform Engineers as the evolved SysAdmins who’ve picked up coding skills and adopted software development methodologies.

SREs, on the other hand, operate closer to the "application" layer. Their mission is to automate software development processes to increase reliability, improve testing, and ensure observability to catch issues before they escalate. SREs set standards and best practices for developers, dabble in multiple coding languages, and have a deep understanding of distributed systems. They’re often the go-to people during production incidents due to their broad understanding of both software development and infrastructure and play a crucial role in shaping CI/CD strategies. In general, SREs are software engineers who’ve expanded their skills into supporting areas like infrastructure and operations.

I'll be writing separate articles for each role, where I'll dive deeper into their characteristics, specialties, and the tech stacks they use. For now, I want to keep this reading light and easy to digest.


The Ownership Debate


We often find ourselves in debates over who "owns" which components or technologies, and honestly, I’m not a fan of the word "ownership." It feels outdated. Yes, someone should be responsible for everything, but in today's collaborative world, where everything is code, it’s easy for anyone to contribute and improve tools regardless of who "owns" them. Whoever is most proficient in a technology should take responsibility for it and build systems that allow others to use it safely.


For example, an SRE should be able to deploy a Kubernetes cluster using tools provided by Platform Engineering, and a Platform Engineer should be able to deploy an application using tools built by SRE. At the end of the day, both teams are meant to be "ENABLERS", making it easier for others to consume their services and products.


Share by: