Among the big emerging trends in IT operations and management in 2023 is the growth of platform engineering.
Platform engineering isn't quite DevOps, and it's not site reliability engineering (SRE) either. Rather, it's an approach that overlaps both those disciplines.
Analyst firm Gartner is forecasting that by 2026, 80% of software engineering organizations will have platform engineering teams in place to provide internal services, components, and tools for application delivery as reusable resources. According to Puppet's State of DevOps 2023 Report: Engineering edition, most organizations (51%) that have adopted it did so within the last three years, and 93% of respondents declared that platform engineering adoption is a step in the right direction.
So what exactly is platform engineering? According to Narayanan Raghavan, senior director of site reliability engineering at Red Hat, platform engineering is a function to create and provide a common set of tools or building blocks — software components like continuous integration/continuous deployment (CI/CD) or the development toolchain — that developers can use as the foundation for product development.
The goal of platform engineering is to eliminate the need for developers to think about their development environments or the systems they need before they can write code," Raghavan told ITPro Today.
Why Adoption of Platform Engineering Is Growing
One of the areas where adoption of platform engineering is growing is cloud operations (CloudOps).
"Over the last year, we've seen an increasing trend of large organizations adopting a platform engineering approach," HashiCorp CTO and co-founder Armon Dadgar told ITPro Today. "For many traditional enterprises adopting cloud, they typically recognize the need to build a platform team as they get to a more mature phase."
There are a number of drivers for platform teams, according to Dadgar. Many organizations start their cloud journey focused on enabling teams to build in the cloud, but over time they need to focus on managing costs, enforcing security controls, and maintaining compliance, he said. Managing those concerns is very difficult for organizations with a decentralized or ad hoc approach to cloud. As such, Dadgar said for many organizations it has quickly become a necessity to use a platform engineering approach to build a shared function that can scale.
While there's a clear need for platform engineering teams, there are challenges. The first challenge, according to Dadgar, is actually creating the platform team.
"That sounds simple, but often there is not the executive support to create and fund a dedicated team," he said. "It starts with a clarity of vision by leadership to see how a platform team adds value and creates efficiencies through automation and standardization."
For platform teams to be successful, partnerships must be created with the application teams, or lines of business, that solve customer problems, Dadgar said.
"That helps to drive the internal evangelism in the organization to promote adoption," he said.
Platform Engineering vs. DevOps
Understanding exactly where platform engineering fits into the IT operations and management landscape can be confusing. For some, it's something new, while for others it's an extension of DevOps.
"We think that platform engineering is an extension of DevOps, and something — if done well — that is key to unlocking DevOps at scale," Ronan Keenan, research director at Puppet by Perforce, told ITPro Today.
Keenan noted that 94% of respondents to his firm's State of DevOps 2023 report agreed that the concept of platform engineering is helping their organizations better realize the benefits of DevOps. When it comes to key benefits of platform engineering, Puppet's report found that more than half (53%) of respondents identified "increased standardization" as an upside — which links back to previous analyses over the years from Puppet where standardization was identified as an important part of the DevOps evolution.
Red Hat's Raghavan sees platform engineering as its own entity. From his perspective, site reliability engineering is an implementation of DevOps, and platform engineering is a consequence of DevOps and SRE but in many ways shares similar ethos. SRE teams are focused on the reliability aspects and on building capabilities like observability and central logging, while platform engineering is a realization that we can put systems and tooling in place to bring consistency internally to help dev teams move a lot faster.
"Platform engineering is neither an evolution of SRE or DevOps, nor is it a competitor to DevOps or even a function of SRE. It's different," Raghavan said. "Platform engineers are focused on the building blocks — the dev tools — for developers, and driving efficiency and productivity of engineering teams."
Best Practices for Platform Engineering
There are multiple best practices for building out and operating a platform engineering practice.
Have a product mindset. Puppet's Keenan suggests that platform engineering teams adopt a product mindset, ensuring that they have feedback loops with their users and that they're building systems that solve the problems their users face.
Create a dedicated team. If you want your platform engineering team to be successful, create a dedicated team that has a clear charter, according to HashiCorp's Dadgar.
"It's very hard to build a platform as a part-time job when people have other responsibilities," he said. "Often we see the mistake of rebranding a central IT function which defaults to gatekeeping and tickets as a familiar practice."
Understand the end goal. From the process side, Dadgar said it's important to understand what the end goal is. HashiCorp believes organizations want developer teams to go from development to production in a fully automated way. That is a tall order, so decomposing that into phases and automating as much of the workflow as possible becomes a priority. Dadgar recommends starting by providing a consistent pre-production toolset for development, then an infrastructure-as-code (IaC) pipeline for provisioning, then expanding to application services such as observability, secrets management, and service networking.
Pick the right tools. If a platform team is to be successful, the organization's users need to want to adopt their solution. So picking tools that developers will want to use is key to reducing the friction of adoption.
"Building a platform should be treated as a journey with many steps, rather than a single project to be delivered," Dadgar said. "Working closely with the application teams to solve their biggest pain points incrementally is how you build trust and adoption in the organization, and over time you solve bigger problems as the platform matures."
About the authorSean Michael Kerner is an IT consultant, technology enthusiast and tinkerer. He consults to industry and media organizations on technology issues.