Inside platform engineering

Inside platform engineering

Image:
Inside platform engineering

Platform engineers are hot property, but what do they do and what sort of organisations are employing them?

DevOps, perhaps more than other area of IT, loves a new specialism, and in the last 12 months one role that's been rising up the agenda is platform engineering.

What is platform engineering?

A fifth of the 150 UK IT leaders answering that question in Computing's latest research felt the role is very much tied to the need to be able to operate across public and private clouds.

"All part of being hybrid cloud/on premises," said the director of a tech consultancy.

Meanwhile, 13% felt the best definition among those on offer to be: "engineers with a broad base of skills plus one or two deep specialisms."

"It's a small team with multi-skillset," said an IT architect at a hardware manufacturer.

Another fifth preferred "provider of cross-environment support services", with the implication that platform engineers are able to span a variety of environments, from cloud to datacentre to edge.

But the largest portion, 37% of those polled, selected "enabling self-service provision of common tools to multiple teams/departments" as the best definition of the platform engineering role.

Image
platform engineering definition
Description

*11% were not aware of the term.

All of these are reasonable description of what a platform engineer does, but some questioned whether the role was anything new.

"Platform engineer is a questionable title," said an IT manager in retail, who saw little difference between that role and a traditional "subject-matter expert for system infrastructure".

Which is fair enough. Definitions can be slippery beasts, words take on new meanings and old roles morph into new ones. So let's turn to the fundamentals. Why do organisations feel they need a platform engineering team - or indeed a SME for system infrastructure?

Creating value for developers

It all has to do with evolution. DevOps came into being as a way to standardise and rationalise the software development lifecycle so processes could be automated. The ultimate beneficiary from DevOps should be the customer, the end user, who, if it's working as it should, will enjoy better software, delivered more quickly, updated more regularly in response to feedback and with better security.

One week to go until Computing's DevOps Live 2023

But as DevOps and cloud services bed in and expand outwards within the organisation duplication and inconsistency can creep in. There may be multiple teams using the same tools and services but in different ways, or conversely, teams may be doing very similar things with different tools. This can easily lead to wasteful duplication of effort, and small differences can harden into new silos.

Enter platform engineers. Their job is to curate a set of common tools and services and make them available on a self-service basis.

Image
null
Description

One of the core tenets of DevOps is "you build it you run it", meaning that DevOps teams' direct customers are the end users. Platform engineers are one step back in this process: their customers are the DevOps teams.

In a nutshell, the platform team creates value for developers, who in turn create value for the ultimate consumers of the software.

Since the platform engineers are there to serve the development teams, it's their job to find out what those teams need in terms of tools and services. If several teams are using the same type of tool or service that makes it a good candidate to integrate into the internal developer platform. On the other hand, If a tool is niche or specialised it probably shouldn't be added.

It's not about forcing teams to use one thing or another. Instead, this approach aims to provide solutions to common requirements in a self-service fashion. The goal is to lift the burden of tool selection, integration and configuration from the shoulders of the devs, and to reduce duplicated effort.

In the real world

A good description of the role of the platform engineering team might be: "To provide self-service capabilities with automated infrastructure operations in order to improve developer efficiency and experience."

Given this, how many of our respondents had a platform engineering team in place?

Image
null
Description

The largest number, 34%, said there was no official platform team, but a similar standardisation effort was in place. This gives credence to those who say that platform engineering is, to some degree, a rebadging of infrastructure support.

19% said they did have a platform engineering team. A similar number were thinking about it. For 13% it would simply be overkill.

Indeed, for the approach to be truly valuable, you'd need to have several product teams. Not surprisingly, therefore, large organisations were dominant among adopters, although smaller tech focused firms were represented too.

"Our customers are university students, so this is vital for 24/7 service," said a CIO of a university.

As we've noted, a platform engineer's job is primarily to keep the DevOps teams happy.

Image
null
Description

A ranked wish list of interventions our respondents felt would best improve developer experience showed how well they dovetail with the platform engineering idea, with the highest ranked items all falling within the realm of a platform approach.

So, whether you call it platform engineering or infrastructure support, when organisations find themselves with multiple developer teams it's an approach that certainly makes a great deal of sense.