Dec 15 2022
Management

What Is Platform Engineering and How Could It Help You?

The promise of simpler smart tooling, which works off DevOps, has made platform engineering an emerging trend.

When it comes to software development, complexity can quickly become the enemy of progress. And when it comes to strengthening infrastructure, busywork is the enemy of saved time.

Although much progress has been made to smooth out the kinks in how disciplines like DevOps and agile development work within technology departments, we’re a long way from the waterfall model. There are still many new ways to cut back on complexity.

One approach is platform engineering, a model built for the era of containerization. Here’s what you need to know.

Click the banner below to receive exclusive cloud content when you register as an Insider.

What Is Platform Engineering?

Platform engineering is a rising discipline where dedicated teams of engineers help to develop and manage common tools and applications that can be used by IT teams throughout an organization.

Often, these are applications and tools that in the past might have required custom coding to access, but now have been distributed as applications that offer access to necessary infrastructure. This differs sharply from a project-based approach, as the tools are not custom-built for each specific need. Rather, the applications can be rolled up, offering access to the company’s technical resources.

Growing trends like the rise of containerization have fueled platform engineering further. Tools such as Docker and Kubernetes, which package cloud-driven applications in a simple, repeatable stack. The  growing uptake of infrastructure as code, is another trend that supports the platform engineering model.

Platform engineering also benefits from technologies for deployment, package management and IT automation. A few examples include Red Hat’s automation platform Ansible, its container application platform OpenShift and VMware’s Tanzu application management platform.

By packaging access to infrastructure in a repeatable way, platform engineering gives companies an opportunity to simplify its processes. By 2026, Gartner predicts that 80 percent of software engineering organizations will adopt platform engineering practices.

DIVE DEEPER: Find out how performance monitoring can help reduce troubleshooting for your apps.

What Does a Platform Engineer Do?

At the center of this discipline is a role called the platform engineer, who takes steps to standardize tooling and make information accessible to relevant teams. In the past, this information might have been buried within a complex application programming interface that only technical teams could access.

The engineer builds tools against common use cases. Teams would then be able to access the pre-packaged tools from a dashboard and then deploy them through a cloud infrastructure such as Microsoft Azure. Platform engineers take on much of the complexity so that other development teams have a smoother path forward. The role requires understanding the frustrations their teams face and anticipating what a given project needs ahead of time.

The problem is that IT specialists with experience in Kubernetes or container management— which are both key to implementing a platform management discipline—are in high demand right now. An Evaluator Group study found that more than a third of organization’s are having difficulty finding and keeping talent skilled in container management, while more than a quarter struggle with the operations of their container environment operations.

“The scarcity of Kubernetes talent is a well-known issue particularly given how many of the architectural concepts are new to operations staff experienced with virtual machines,” the Evaluator Group study notes.

80%

The percentage of software engineering organizations that will adopt platform engineering practices by 2026

Source: Lori Perry, "What Is Platform Engineering," Gartner.com (Oct. 5, 2022)

Platform Engineer vs Software Engineering vs DevOps

In many ways, platform engineering is part of the larger evolution of site reliability engineering (SRE). This is an older discipline, developed by Google, which refers to the application of software engineering practices to IT infrastructure and operations.

A key difference, however, is that SREs are focused on maintaining the infrastructure, whereas platform engineers are more focused on the end-user experience. A comparison of the two disciplines on the website DevOps.com reveals no complete overlap between the disciplines.

“Software delivery operations are the main focus of platform engineers. SREs care about software delivery, too, because the way applications are created plays a role in reliability and fixing issues,” writes JP Cheung. “SREs also have many other responsibilities, like incident response and helping to manage infrastructure, which fall beyond 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 – intended to ease complexities.

According to the website Software Engineering Daily, platform engineering in a DevOps context can use pre-built components to build out a project more easily. “Originally, DevOps was fairly ad hoc. For example, if a team within an organization wanted to host a new website, coordination between this team and a DevOps team was necessary,” the website notes. “Contrast this with the notion of platform engineering. Platform engineers build systems that allow teams to build on.”

WATCH: Discover how DevOps can add speed and security to your IT processes.

What Are the Benefits of Platform Engineering?

At its core, the biggest benefit 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 broad knowledge of many topics, but they can only access a small portion of “working memory” at any given time. Simplifying tasks cuts down on cognitive load and can lead to better results.

Paula Kennedy, COO of the tech firm Syntasso, writes in a recent post on Platform Engineering, that this separation of tasks helps simplify the developer experience, or DevEx.

“We need to ensure that developers have everything they need to do their best work,” she writes. “This includes the tooling, the abstraction levels, the automation and the self-service experience so that the developers in turn can focus on delivering value to customers. In other words, DevEx is about reducing the cognitive load on developers to enable them to go faster.”

There is also the possibility that building platform tooling may not be within a developer’s expertise, which means that the task of managing it might fall to operations and infrastructure teams.

“It really is not a good idea to have developers, especially application developers, in charge of this,” says Michael Coté, a VMware Tanzu developer advocate, in a presentation on platform engineering. “You might get some developers to be on your platform team, but running a platform? It needs to be what the operations, the infrastructure people do; they have the skills and responsibilities.”

Platform engineering separates the dev from the ops, but in a way that takes the broader lessons of DevOps and pushes them forward. If your organization is looking to manage and utilize its infrastructure, give CDW Amplified Infrastructure Services a look—you might find it the ideal solution for more effective operations.

greenbutterfly/Getty Images
Close

Become an Insider

Unlock white papers, personalized recommendations and other premium content for an in-depth look at evolving IT