January 16, 2023

What is Platform Engineering? Platform Engineering Definition with Examples + Starting Points

Platform Engineering
Glossary

Platform engineering is the act of designing and structuring tools and workflows to enable self-service in software development. It's become the topic du jour for DevOps organizations because it can help teams work more independently, efficiently, and confidently.

In this blog, we’ll go deeper on platform engineering, outline its benefits for software development, explain how it intersects with DevOps, and identify the key components platform engineering needs to be successful.  

Table of Contents

Back to top

What is Platform Engineering? A Clear Platform Engineering Definition

Platform engineering empowers team with self-service tools for deployment, containerization, testing, and more. Streamline workflows and eliminate bottlenecks — platform engineering helps you build software faster (and better).

Platform engineering teams develop and maintain infrastructure known as an internal developer platform (IDP) that lets developers do things in a self-service manner – that is, without filing tickets or waiting on specialists.

"Platform Engineering Definition: The act of structuring tools and designing workflows to enable self-service in software teams." A man using a laptop is positioned on the right. The Puppet logo is positioned in the bottom right corner.

Learn more about the value of developer self-service >>

With platform engineering, developers can code, build, test, and release software without help from other departments. That enables value stream development teams to deliver quickly and provide consistency to the rest of the organization.

Examples of companies who do platform engineering include Spotify, Uber, Salesforce, and many more organizations across industries.

Back to top

What's the Difference Between Product vs. Platform Engineering?

Product engineering is the design and creation of a piece of software. Platform engineering applies that discipline across the entire set of tools a developer may need.

Another way to think of the difference between product and platform is that product engineering is the practice of designing and creating a distinct product. Platform engineering is the practice of structuring many tools together to let developers use them to design and create products (software). When you engineer a platform like a product, you're reducing a developer's dependency on other departments and subject matter expertise.

Back to top

What are the Key Components of Platform Engineering?

A Product Mindset

Platform engineering has distinguished itself among DevOps trends by focusing on the set of tools developers use as a product in itself. In a platform engineering initiative, platform teams deliver shared infrastructure platforms to internal users responsible for delivering a value stream – typically software developers and engineers.

That’s why successful platform teams treat their platform as an internal product. They build and maintain their platform using product management principles: user research, product roadmaps, soliciting feedback, iterating, launching, maintaining, and marketing. Members of an effective platform team are defined by their product management mindset, rather than just broad IT experience.

A banner image of the first page of the Puppet 2023 State of DevOps Report: Platform Engineering with a large "FREE" banner on it.


The 2023 Platform Engineering Report

40+ pages of new platform engineering data you can use.

📚 DOWNLOAD REPORT

At a basic level, that means they build systems that solve the problems users face (like any good product). It also means they create feedback loops with developers who use the platform to identify new challenges the platform can be updated to address.

A Platform Engineering Team Led by a Product Manager

A platform engineering team is also called a platform team, DevOps platform team, or internal platform team. This team is in charge of collecting feedback as well as creating and maintaining tools and workflows for developers.

Platform engineering teams do the following for an organization's infrastructure:  

  • Review your architecture and find new tools and ways to standardize common development processes. 
  • Create avenues of feedback and knowledge-sharing to home in on the ideas that work best for development teams. 
  • Define service levels of the platform so that users understand its availability and capacity. 
  • Advocate for the tools and resources development needs at a decision-making level.

Additionally, a product manager role on the platform team is crucial to cultivating the product mindset platform engineering needs. The person in this role is responsible for evangelizing the platform and sharing information with the rest of the organization.

Curious about the role and day-to-day responsibilities of a platform engineer? Look no further than our blog with a platform engineer definition >>

Our research found that one third of organizations doing platform engineering have a product owner who can explain and evangelize the services and capabilities of the platform. That can limit the potential of the platform, and a larger DevOps initiative, across the organization.

An Internal Developer Platform (IDP)

An internal developer platform (IDP) is the collective term used to describe the tools and technologies a platform engineering team puts together to enable developer self-service. An IDP can specify resources in an environment, set configuration baselines, and govern permissions to automate those recurring tasks.

What kinds of tools are in an IDP? We're glad you asked – read our blog on 12 types of platform engineering tools >>

Platform teams create an IDP from discussions and feedback with users. Then they maintain the IDP as a product to be iterated upon with continuous feedback from its users.

Back to top

Why is Platform Engineering Important?

Platform engineering benefits development teams by providing them with the autonomy to independently ship value to their end users. It benefits the overall organization by standardizing components and workflows, increasing the efficiency of audit, compliance, and security.

DevOps Creates a Lot of Choice and Responsibility, Which Can Decrease Efficiency

The DevOps movement empowered developers with more efficient tools and greater collaboration with operations. The whole concept of DevOps was to bring development and operations teams closer together to reduce friction and increase efficiency so they could create and deliver software faster.

But as more and more organizations started to adopt DevOps, that ideal revealed a new challenge: DevOps is great for breaking down silos, but it also leads to an overwhelming amount of choice for developers. All of a sudden, developers had new kinds of tools and methodologies for shifting left and working with operations teams.

Using Puppet + ServiceNow for Self-Service Automation

GET THE EBOOK 

That freedom was supposed to make it easier for developers to get good code out the door with lower failure rates and fewer tickets – and overall, it did. But it also put a lot more pressure on developers to pick the right tools and create the right workflows, which took up the time and mental energy they should have been able to use on development. Instead of speed and efficiency, some organizations taking a DevOps approach were instead seeing a slower pace of development and deployment than they were expecting.

Without a structured platform team, developers have to choose tools and strategies for CI/CD, testing, the release process, and more, which adds stress and increases cognitive load. The rise of platform engineering is a direct response to that: a way to reduce confusion and friction between developers and the tools they use to create software.

Back to top

The Benefits of Platform Engineering

Ninety-three percent of respondents to our 2023 survey on platform engineering said it’s a step in the right direction for development, operations, and security in their organizations. When implemented correctly, platform engineering carries several key benefits.

Platform Engineering Supports a Golden Path for Developers

Platform engineering teams are tasked with balancing developer choice (to allow flexibility in development approaches) with optimized toolsets and workflows (to standardize development pathways for automation and repeatability).

Platform Engineering Speeds Up Software Development

With self-service capabilities, developers rely less on other teams for delivery, testing, releases, and other critical development processes.

Platform Engineering Lets Organizations Scale Up with Automation

Automating testing, delivery, and other key functions doesn’t just make development faster – it helps organizations innovate and grow by removing manual tasks from developers’ plates.

Platform Engineering Helps You Get the Most Out of Your DevOps Initiatives

The best DevOps relies on platform engineering. Our own State of DevOps research found that 65% of firms with more evolved DevOps use self-service platforms compared to only 40% of firms with less evolved DevOps practices.

As mentioned above, the promise of DevOps is often hamstrung by the new obstacles, choices, and responsibilities it creates for developers. The reasons DevOps initiatives get stuck – insufficient feedback loops, unclear responsibilities, and a failure to share best practices – are exactly the blockers that platform engineering addresses. Without those, organizations are better able to leverage the benefits of DevOps.

Back to top

Key Platform Engineering Challenges

Is platform engineering just another DevOps fad? The short answer is “no.” The data supports a clear conclusion: When done right, the practice of platform engineering drives better outcomes from a DevOps initiative.

But you’re not alone if you’re reading this and thinking, “What makes platform engineering different from all the other movements, initiatives, and approaches in development that have come and gone like dust in the wind?”

The problem is that there isn’t yet a model to implement platform engineering, which leaves it up to individual organizations to define what platform engineering looks like. That’s great for bespoke initiatives, but it’s not great for forging a path any organization can follow. 

Like DevOps, platform engineering can be a challenge to implement successfully. To extract the maximum benefit from a DevOps initiative, DevOps leaders need to prescribe an approach that can be iterated upon, rather than allowing the practices of individual organizations to create a platform engineering definition.

Back to top

Conclusion

As a concept, platform engineering has the potential to change DevOps dramatically. In practice, it makes creating infrastructure faster and simpler. Here’s a simple recap of what this blog covered:

  • Platform engineering is an internal initiative that structures tools and workflows to enable developer self-service. 

  • Platform engineering reduces cognitive load for developers, allowing them to focus on creating great software. 

  • Platform engineering exists to contain and streamline the overwhelming amount of choice and options developers have. 

  • DevOps initiatives get more sophisticated and drive better results when they’re supported by platform engineering.

 

DOWNLOAD THE PLATFORM ENGINEERING REPORT

Back to top