Platform Engineering, Platform as a Product, PaaS
Here’s slides for a recent version of the talk, given at SCaLE 20x, March 11th, 2023.
What is platform engineering? What is platform as a product? What is a platform? What is PaaS?
Well, that’s a good question… Here’s a brief explanation:
A platform is the gooey layer of frameworks, middleware, tools and practices that developers use to build and then run their applications. Thoughtworks’ Evan Bottcher defined that gooey layer more precisely back in 2018:
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.
You can think of it as everything above the infrastructure layer, whether that infrastructure is Infrastructure as a Service (IaaS), bare metal, virtualization or Kubernetes. In cloud native shops, Kubernetes provides the blinking cursor, sometimes referred to as the “dial tone,” and the platform is all the stuff you pile on top of it so developers can start coding and you can start running their applications in production.
In the past year , internal developer portals (IDPs) have been added to the components of what is considered a “platform.” What an IDP is varies (Gartner has a good go at defining it, you can read it for free), but we think of it as all the old-school application life cycle management stuff that’s been missing for many years.
It’s the intranet that developers use to support inner sourcing, discovering other available teams and APIs, tracking their own apps, documentation and, as the name implies, a portal framework for all the information radiators and single-pane-of-glass needs that organizations have.
There’s the technology of a platform, such as the the two found in the VMware Tanzu portfolio, here’s one of them:
And then there’s the new practices that infrastructure and operations staff start doing to not only run the platform, but support developers - to start treating developers as their customers:
For a more detailed overview and recommendations on how to make it work, check out my recent talk on this topic here.
At VMware, we have two platforms:
- The Tanzu Application Service - based on Cloud Foundry, this was originally named Pivotal Cloud Foundry.
- The Tanzu Application Platform - a bunch of open source projects integrated, with customizations, configuration templates and runtime stuff, built on kubernetes. This platform also focuses a lot on the internal developer portal concept, not just the runtime part of a platform. See diagram below:
More links on the topic:
- Running a platform team means treating developers as your customers - a write from my collegue Judy and on what I think is the biggest, most important shift from traditional ops-think to platform-think.
- The Pivotal/VMware Tanzu description of platform as a product.
- My overview of platform engineer, a presentation. And, also: an older talk of mine going over platform as a product.
- Here’s a talk about platforms at Mercedes-Benz and UBS, and here is one about platforms at Sky UK.
- A great Gartner paper definging internal developer platform, free to read.
- Top Strategic Technology Trends for 2023: Platform Engineering - another overview of platform engineering from Gartner.