Why Platform Engineering is so important? And what is it by the way?

Mathieu Benoit
9 min readSep 10, 2023

--

I recently delivered a talk about Platform Engineering. I really enjoyed my interaction with the audience, it was in-person.

I have worked on the preparation for this talk for months, building the content and the flow. I wanted to write my own piece of content to summarize what makes a Platform Engineering practice successful, beyond the buzz and the hype.

“Platform engineering is an emerging technology approach that can accelerate the delivery of applications and the pace at which they produce business value.”

Gartner (2022)

I recently read and watched about 200 articles and videos about Platform Engineering. There is a bunch of great contents to leverage out there. That’s so exciting and inspiring! I learned a lot!

I also built this content based on my own experiences as Software Engineer who then became a Platform Enabler passionate about DevOps, Kubernetes and Platform Engineering.

Throughout this blog article I will summarize my talk by wearing my Cloud Native Ambassador (CNA) hat (and perspective), talking about the best practices and the landscape.

At the end of the talk I got the opportunity to do a demo of Humanitec with a concrete golden path example: As Developer, I want to deploy my feature branch to an ephemeral environment. But I will keep that part for future pieces of content and blog articles. As part of my role at Humanitec, I’m helping customers integrating our product with their existing platform to improve the Developers Experience as well as standardize their platform and infrastructure capabilities. So much to cover here, stay tuned!

Note: if you want to download the PDF format of this presentation, you can directly jump to the end of this blog article.

Agenda

  • First thing first, what’s DevOps?
  • So why “DevOps is dead”? What does that mean?
  • Long live Platform Engineering!
  • Developer eXperience (DX) to reduce the cognitive load and increase the productivity
  • Organizing Teams for fast flow
  • Platform as Product
  • Pave Golden Paths to drive standardization, and less frictions
  • Metrics and dimensions about Speed/Productivity and Stability
  • The Platform Maturity Model
  • Capabilities of a Platform
  • Where to start?
  • Resources

First thing first, what’s DevOps?

“The DevOps movement is built around a group of people who believe that the application of a combination of appropriate technology and attitude can revolutionise the world of software development and delivery.”

Patrick Debois (2010)

The key point is that DevOps is the union of People, Process and Tools. It’s a culture. It’s not a role. It’s not one person.

So why “DevOps is dead”? What does that mean?

DevOps is still here, it’s a culture, it’s about best practices: automation, collaboration, infrastructure-as-code, etc.

But let’s take this statement:

“You build it, you run it.”

— Amazon’s CTO Werner Vogels (2006)

What does that mean exactly? There is room for interpretations here.

Like, I’m a frontend developer, do I need to do the backend code, the Dockerfile, the Kubernetes manifests, the Terraform scripts, the security scanning, the CI/CD pipelines, etc. all by myself? And the operations and monitoring of them? Should I set up all of these by myself? If you are one developer in your company, probably yes. But at scale?! That’s where the issues come.

From Kubernetes to PaaS to … err, what’s next? • Daniel Bryant • PlatformCon 2022

Long live Platform Engineering!

Here comes Platform Engineering as an instance or implementation of DevOps and its best practices.

After a huge amount of data collecting, thinking and debating among many folks across the company, we are ready to launch Programs & Platforms! (Attached to this email) you’ll find out whether you’re on a Program or Platform team, and where your seat will be with your new team.”

Uber (2014)

The Platform and Program Split at Uber — by Gergely Orosz (pragmaticengineer.com)

Developer eXperience (DX) to reduce the cognitive load and increase the productivity

“Developer eXperience is about creating an environment in which a developer can do their best work.”

James Governor from Redmonk (2022)

Developer experience: What is it and why should you care? — The GitHub Blog

Organizing Teams for fast flow

Team Topologies (2019)

4 Team Types

  • With flow in mind, the goal is to focus on autonomous, decoupled Stream-aligned teams who maintain full ownership of building, fixing and running their application.
  • The Enabling team, which consists of a set of specialists which have a specific mandate to help the Stream-aligned teams to overcome obstacles. → I have seen many organization becoming more successful as soon as they were scaling and they invested in this Enabling team. This team is the bridge between the Stream-aligned teams and the Platform team.
  • The Platform team, which offers internal services.
  • The final team type is a Complicated Subsystem team which is supposed to be used very rarely.

3 Interaction Modes

  • X-As-A-Service, where one team provides a service to another team with an API and service level expectations.
  • Facilitating, where one team coaches another team on a specific aspect.
  • Collaboration, where different team members work closely together.

Platform as Product

“A digital platform is a foundation of self-service APIs, tools, services, knowledge and support which are arranged as a compelling internal product. Autonomous delivery teams can make use of the platform to deliver product features at a higher pace, with reduced coordination.”

Evan Bottcher

“compelling internal product” is key here. Here is what you should have for your Platform, with a product mindset:

  • Value proposition, Org/Company alignment
  • Clear roadmap/backlog
  • Ongoing attention, evolve and adapt based on developers (your customers!) feedback and the changing business landscape
  • Product Manager/Owner
  • User research (quantitative and qualitative)
  • Alpha/Beta/GA features
  • Support and SLOs
  • Platform Advocate/Marketing — have a brand
  • Mesure adoption and usage (and frictions!)

Pave Golden Paths to drive standardization, and less frictions

“The Golden Path — as we define it today — is the ‘opinionated and supported’ path to ‘build something’ (for example, build a backend service, put up a website, create a data pipeline). The Golden Path tutorial is a step-by-step tutorial that walks you through this opinionated and supported path”

Spotify (2014)

What are Golden paths?

  • Describe opinionated and well-supported paths to “build something”
  • Reduce set of tools and technology preferred to deliver values to the business
  • Focus on an engineer’s intentions, not making engineers worry over implementation details

That’s key to reduce the cognitive load and improve the Developer eXperience discussed earlier.

Golden Paths can benefit multiple personas within your organization.

...

Golden Path templates are technical artifacts that need to be built, documented, and maintained. We recommend that each template is co-developed by at least two people/teams, spanning both the platform team and at least one stakeholder team.”

Google Cloud Blog (2023)

Kaspar von Grünberg CEO at Humanitec, in his talk Build golden paths for day 50, not for day 1! | PlatformCon 2023, is also highlighting 2 important approaches for your Golden Paths:

  • Don’t just think about Day 1, think about the Golden Paths for Day 50 for your users.
  • Golden Paths are not just for Developers, they are also for your Platform Engineers, and other key stakeholders interacting with your Platform.

Metrics and dimensions about Speed/Productivity and Stability

The 4 DORA metrics are key here, across two main categories:

Speed/Productivity:

  • Change lead time
  • Deployment frequency

Stability:

  • Change fail rate
  • Time to restore service
DORA | DevOps Research and Assessment

On top of the DORA metrics, the SPACE dimensions were published in 2021 :

  • Satisfaction & wellbeing
  • Performance
  • Activity
  • Communication & collaboration
  • Efficiency and flow

burnout, productivity and job satisfaction — are how DORA measures well-being.
Jennifer Riggins, TheNewStack (2023)

Talking about metrics and measurements (not talking about developer productivity here), it’s about your Platform, your Products, your Teams, per projects, environments, etc. On top of the DORA metrics, here are some other metrics you want to measure and leverage:

The Platform Maturity Model

“Through this work over time it’s become clear that people are struggling to identify and deliver on the key differentiators that drive success in platform engineering. In trying to clarify this messaging and journey, the team has developed a platform maturity model outlining principles and behaviours that can lead to more effective outcomes.”

Abby Bangser, Syntasso (2023)

Syntasso donated the first version of Platform Maturity Model to CNCF Working Group

“The Platform Maturity Model can become a valuable tool for organizations to evaluate which platform engineering best practices they still need to meet.

Our survey found that most organizations have a long way to go before they are fully aligned with best practices and have the right culture. However, the journey is worth the effort as organizations aligned with best practices can get more from their Internal Developer Platform.”

Humanitec (2023)

On November 1st 2023, the CNCF Working Group released the first official Platform Engineering Maturity Model.

Capabilities of a Platform

“In a nutshell, platforms bridge from underlying capability providers to platform users like application developers; and in the process implement and enforce desired practices for security, performance, cost governance and consistent experience. The following graphic illustrates the relationships between products, platforms, and capability providers.”

CNCF Platforms White Paper (2023)

CNCF Platforms White Paper | CNCF TAG App Delivery

That’s a wrap!

We covered a lot! To summarize I really love how Chad McElligott summarizes what Platform Engineering is:

  • What: Velocity
  • Why: Stability
  • How: Product Mindset

In addition to that, like illustrated throughout this blog article, don’t forget to invest in the Developer eXperience around your Platform. We also discussed how you could avoid frictions and accelerate adoption with well-supported Golden Paths. Last but not least, invest in your Enabling Team, think about Developer Advocates/Evangelists as internal champions.

Where to start?

  • Start small with high impact
  • Set a mission and clarify goals, have success criterias

Think OKRs!

  • Truly know your Customers/Developers
  • If you are struggling with adoption, you are not focusing on real problems.

Think Customer User Journeys (CUJs)!

  • Provide boundaries and abstractions to reduce the cognitive loads on teams

Think Golden Paths or Jobs to be done (JTBD)!

  • Adopt a Platform as Product mindset

Think OSS/Innersource projects!

  • UX first: Developer Experience & Product Experience
  • Measure quality, productivity, getting feedback

Think surveys!

  • Use your own Platform to build your own Platform’s services

Think dogfooding!

Resources

3 main resources you need to bookmark and leverage with a huge and active community behind them:

Some articles I have used to build this content:

Some videos I have used to build this content:

Download the PDF version of this presentation

You can download the PDF version of this presentation here.

Hope you enjoyed this one, cheers!

--

--

Mathieu Benoit

Customer Success Engineer at Humanitec | CNCF Ambassador | GDE Cloud