DevOps and platform engineering both aim to improve software development processes within organizations, but there are important differences between them.
In many cases, healthcare organizations use a variety of specific, often customized, tools to complete projects using DevOps processes, which creates significant resource demands. By contrast, platform engineering creates a consistent set of resources that developers share across an organization. By incorporating cloud-based tools such as Docker and Kubernetes into a simple stack, platform engineering streamlines software processes as well as access for developers.
With DevOps, reliance on customized solutions can lead to sprawl, resulting in organizations deploying a large number of tools but not necessarily the right tools to solve their problems. By involving practices such as Infrastructure as Code (IaC) and Policy as Code, platform engineering automates many of the solutions to these issues.
“With platform engineering, you’re naturally getting governance because you’re creating a singular series of pipelines within your infrastructure,” Wylie says. “That governance can manifest as cost governance, for example, or it can manifest as security governance.”
EXPLORE: Learn five ways your organization can benefit from platform engineering.
Why Platform Engineering Is the Next Step in the Evolution of DevOps
The advantages that platform engineering provides over traditional software development methods and DevOps processes have led to intense interest among organizations with software development capabilities. In fact, 93 percent of organizations say platform engineering is a step in the right direction, according to the Puppet report.
IaC is essential to establishing a platform engineering approach. It enables development teams to manage infrastructure components quickly and at scale. By combining IaC and platform engineering, organizations can automate resource provisioning and standardize workflows.
“The actual infrastructure is becoming more and more of a commodity,” Wylie says. “When we start thinking about the infrastructure as a commodity that’s leveraged by the developers, they can do what they’re doing faster.”
A key objective of platform engineering is to improve the developer experience. By automating simple tasks, platform engineering reduces developers’ workloads and ensures consistent high quality in the software pipeline while speeding the process and enabling a faster time to market.
“The point is to help developers do whatever they’re doing out there faster,” Wylie says. “We want developers to get what they need as easily as possible so we can get time to market is as low as possible. We can help them by building our platforms to enable that.”
Ultimately, the goal of platform engineering is to allow developers to get their work done quickly, simply and accurately. “The cherry on top of platform engineering might be something like a self-service catalog where developers can choose what they want from a drop-down menu and it would be provisioned automatically,” Wylie says. “Doing that internally would be the ultimate goal of platform engineering.”