As organizations become cloud-native and their environments more complex, DevOps teams are adapting to new challenges. Site reliability engineering first emerged to address cloud computing’s new performance needs. Today, the platform engineer role is gaining speed as the newest byproduct of scaling DevOps in the emerging but complex cloud-native world. What is this new discipline, and is it a game-changer or just hype?
In a recent episode of the PurePerformance podcast, Dynatrace DevOps activist Andreas Grabner and director of sales engineering Brian Wilson sat down to discuss the platform engineer role and its impact. Joining them for the discussion was Saim Safdar, Cloud Native Community Foundation (CNCF) ambassador and member of the CNCF TAG App Delivery Platform Working Group. They explore platform engineering’s multiple definitions, its pros and cons, and how practitioners can shape this emerging DevOps concept.
Understanding the platform engineer role
DevOps is a constantly evolving discipline. At its core, DevOps is a collaborative framework between development and operations teams whose goal is to streamline software development. Platform engineering supports this goal by providing developers with the environments, or platforms, they need to build and run applications.
Safdar views the discipline primarily as a means of lifting some responsibility off developers’ shoulders. “A platform engineer is responsible for reducing developers’ cognitive load while interacting and delivering software,” he said. “The job of the platform team is to define how the environments are built and where they run, and to make sure they’re always available in an easy way.”
The “cognitive load” refers to the additional requirements of building an application beyond the code itself. When developers begin building applications, they also must spin up infrastructure, GitOps, tooling, services meshes, and more to run applications. Platform engineers reduce developers’ workload by providing an internal self-service offering to have those environments automatically created for them. As a result, developers have the freedom to focus on building high-quality, resilient applications.
A new way to collaborate with the platform engineer role
Platform engineering offers a new way for teams to collaborate. The software development lifecycle is a complex system with many moving parts. DevOps practices aim to break down organizational silos and improve communication between development and operations teams.
But Safdar sees additional benefits to platform engineering. “I believe the focus of platform engineering is how we simplify cloud-native computing for average developers,” he said. “I believe this is a focus of DevOps already, but the DevOps world is currently focused on collaborating.”
DevOps teams aim to produce high-quality software quickly, frequently, and securely. Traditionally, teams have achieved this by ensuring operations teams are involved in the development process, and vice versa. Platform engineering takes collaboration a step further. It is a more active approach to collaboration that understands developers’ needs and takes deliberate steps to make their jobs easier.
“No longer do developers need to submit a ticket, wait for a response, etc.,” Safdar said. “[Platform engineering] would lend to easily accessible, prepackaged environments.”
Silos can still reappear
Platform engineering’s benefits have game-changing potential for software delivery. But the new discipline has the negative potential to recreate the silos that the DevOps movement sought to break down.
The problem lies in what Safdar calls the “skill concentration trap.” When creating a platform engineering team, one would likely recruit the most experienced engineers related to what the platform will cover. But this comes with risks if an engineer thinks they are more skilled than the developers. As a result, communication suffers. The developers lose the knowledge they need to run their own software. A silo forms between them and the engineers that could migrate them to the platform.
Communication is key. “The platform needs to be treated as a product,” Grabner said. “You need to understand your users and their needs, challenges, and wants. A product is never finished.”
Another common silo results from the developer side. “Because of platform engineers and the reduced cognitive load, the developers are writing the code they need to,” Wilson said. “But are they still thinking about performance and resiliency, or are they just going to write and push code without thinking about performance because that’s now someone else’s job?”
Education and collaboration are great ways to avoid this pitfall. “Platform engineers need to treat their developers like customers they need to retain,” Grabner said.
The big picture
Digital transformation is constantly accelerating. With the increasing speed of delivery and scale of cloud environments, adaptability is critical to keeping pace with innovation. Platform engineering is the newest byproduct of DevOps evolution, and it holds much promise. With the right platform engineering team, organizations have the potential to see faster, more resilient innovation, and happier IT teams. But collaboration and communication remain more important than ever.
To listen to the full episode, check it out here.
Find the PurePerformance podcast on the following platforms:
Looking for answers?
Start a new discussion or ask for help in our Q&A forum.
Go to forum