Platform Engineer vs Software Engineering vs DevOps
In many ways, Platform Engineering is part of the larger development of Site Reliability Engineering (SRE). It is an older discipline, developed by Google, that refers to the application of software engineering practices to IT infrastructure and operations.
However, a key difference is that SREs are focused on maintaining the infrastructure, while platform engineers are more focused on end-user experience. A comparison of the two disciplines on the website DevOps.com shows that there is no complete overlap between the disciplines.
“Software delivery operations are the main focus of platform engineers. SREs also care about software delivery, because the way applications are built plays a role in ensuring reliability and fixing problems,” writes JP Cheung. “SRE also has many other responsibilities, such as incident response and helping with infrastructure management, that are outside the scope of software delivery.”
Although platform engineering borrows concepts from DevOps, a discipline that combines IT and software development, it is ultimately a reaction against it – aimed at reducing complexities.
According to the website Software Engineering Daily, Platform engineering in a DevOps context can use pre-built components to more easily build a project. “Originally, DevOps was quite ad hoc. For example, if a team within an organization wanted to host a new website, coordination was necessary between this team and a DevOps team,” notes the website. “Contrast this with the notion of platform engineering. Platform engineers create systems that allow teams to build.”
watch: Discover how DevOps can add speed and security to your IT processes.
What are the benefits of Platform Engineering?
At its core, one of the biggest benefits of platform engineering is that it reduces the repetitive work that can come with a traditional operations-driven approach.
This is similar to the concept of cognitive load theory: people may have extensive knowledge of many subjects, but only access a small portion of their “working memory” at any given time. Simplifying tasks reduces cognitive load and can lead to better results.
Paula Kennedy, COO of tech firm Syntasso, wrote in a recent post on Platform Engineering that this separation of functions helps simplify the developer experience, or DevX.
“We need to make sure developers have everything they need to do their best work,” she writes. “This includes tooling, abstraction levels, automation, and self-service experiences so that developers can, in turn, focus on providing value to customers. In other words, DevEx is about reducing the cognitive load on developers so that they can develop faster.” Can move forward
There is also the possibility that building platform tooling may not lie within a single developer’s expertise, meaning that the task of managing it may fall to the operations and infrastructure teams.
“Putting developers, especially application developers, in charge of it’s really not a good idea,” VMware Tanzu developer advocate Michael Cote said in a presentation on platform engineering. “You can add some developers to your platform team, but running a platform? It should be what the operations, infrastructure people do; they have skills and responsibilities.
Platform engineering separates dev from ops, but in a way that takes the broader lessons of DevOps and extends them. If your organization is looking to manage and utilize its infrastructure, take a look at CDW Amplified Infrastructure Services—you may find it the ideal solution for more effective operations.