This post will help to demystify the core concepts of Platform Engineering. We have broken down the essentials in a way that's easy to grasp, even if you’re just getting started.

We'll dive into what it means to treat your platform as a product, why having an Internal Developer Platform (IDP) makes life easier, how the right team structure boosts efficiency, and what “Golden Paths” are all about.

By the end, you'll have a solid understanding of these foundational ideas and, hopefully, some inspiration to start thinking about a platform strategy for your own organization.

Introducing the core elements of Platform Engineering

Platform Engineering introduces several core elements designed to create a more efficient, developer-friendly environment:

  1. Product mindset
  1. Internal Developer Platform (IDP)
  1. A Platform team and a new teams topology
  1. Golden Paths or Abstractions

Product Mindset

Adopting a product mindset for the platform means treating it as a continuously evolving service rather than a one-time project.

This approach focuses on meeting the needs of internal users—primarily development teams—through regular updates and improvements based on user feedback and performance metrics.

Every Product Manager's obsession is to build a product that meets user expectations and sees strong adoption. A platform should be built with an iterative evolution mindset, frequent releases, feedback capture, and success measurement. Roadmap (discover, prioritize), Devex (solve pain points), iterate (start small and scale), data-driven (success metrics).

Key Elements of a Product Mindset

Developer Experience

Just as User Experience (UX) aims to minimize friction between a tool and its user's goals by eliminating obstacles, detours, and discomforts, Developer Experience (DevEx) focuses on enhancing the productivity and satisfaction of developers.

In the context of a platform-as-a-product, DevEx is about creating an environment where developers can work efficiently and effectively, with minimal friction between the platform and the ultimate goal of continuous value delivery.

Developer Experience (DevEx) is essential in treating the platform as a product, focusing on removing any barriers that might slow down or frustrate developers. This involves automating repetitive tasks, simplifying deployment processes, and ensuring all necessary resources are easily accessible. By streamlining workflows through intuitive interfaces, seamless integrations, and well-documented processes, the platform can minimize friction, enabling developers to achieve their goals with minimal effort and ultimately enhancing productivity and satisfaction.

Ensuring Long-Term Relevance

A platform treated as a product remains adaptable and scalable. By regularly engaging with users and aligning platform developments with business goals, the platform stays relevant and valuable over time. This approach not only enhances user satisfaction but also ensures the platform remains a critical enabler of business success.

Internal Developer Platform

Internal Developer Platforms (IDPs) are the cornerstone of Platform Engineering, acting as a centralized hub where developers can access all the resources they need, from infrastructure to observability tools. By streamlining access to these resources, IDPs significantly enhance developer productivity, allowing teams to focus on core tasks rather than getting bogged down by operational complexities.

Evan Bottcher encapsulates this concept by stating, “A digital platform is a foundation of self-service APIs, tools, services, knowledge, and support which are arranged as a compelling internal product.”

As the centerpiece of Platform Engineering, IDPs enables a self-service experience for the platform capabilities tailored to internal teams' needs. They streamline workflows, reduce operational overhead, and accelerate time-to-market, making them essential for modern software development.

Platform team and topology

The concept of the platform team and its role within an organization was thoroughly explored in the influential book Team Topologies by Matthew Skelton and Manuel Pais, published in 2019.

This book introduced the idea of a unified platform team as a cornerstone for effective software delivery in modern organizations.

Introducing the Unified Platform Team

In Team Topologies, Skelton and Pais emphasize that a unified platform team is essential for creating a strong foundation upon which product teams can build and deliver value more efficiently. The mission of the platform team is to reduce the cognitive load on product teams by providing a set of well-defined, self-service capabilities that are easy to consume. This allows product teams to focus on their core mission—delivering features and improvements to end-users—without getting bogged down by the complexities of underlying infrastructure.

Team Topologies proposes a counter-move to Conway's Law to align organizational architecture with software architecture. Teams: STREAM-ALIGNED, ENABLING, COMPLICATED SUBSYSTEM, PLATFORM. Interactions: COLLABORATION, AS A SERVICE, FACILITATING.

Mission of the Platform Team

As organizations scale, the decentralized nature of traditional DevOps practices often leads to inefficiencies and complexity. Platform engineering offers a solution by providing a more organized, centralized approach to managing the software development lifecycle. This centralization is vital in handling the intricacies of modern development environments, where maintaining agility and competitiveness is paramount.

The platform team's mission extends beyond merely providing tools or infrastructure. It involves creating a comprehensive Internal Developer Platform (IDP) that abstracts and simplifies the complexities of software delivery. Key responsibilities of the platform team include:

Collaboration in the New Team Topology

In the team topology proposed by Team Topologies, the platform team collaborates closely with other types of teams within the organization, primarily stream-aligned teams and enabling teams:

Platform team: application team (aligned with a business flow, composed of a cross-functional team with the ability to continuously deliver increments without blocking dependencies. As a Service: consumption of capabilities with minimal collaboration.

The platform team must also maintain open lines of communication with all other teams to ensure that the platform evolves in alignment with the needs of the organization. Regular feedback loops, workshops, and collaborative planning sessions are essential for keeping the platform relevant and effective.

A New Collaboration Model

Team Topologies introduces a new collaboration model that revolves around fast flow of change, responsibility alignment, and well-defined team interactions. The platform team acts as an internal service provider, but with a strong product mindset, where the platform is treated as a product with its own roadmap, user experience considerations, and continuous improvement cycle.

Fast flow: team topologies is designed so that stream-aligned teams can deliver value in short cycles. The other teams support the stream-aligned team to enable continuous value delivery. Context: stream-aligned teams are the ones with end-to-end context across the entire development value chain. Any handover system (ticketOps) results in a loss of context and knowledge.

In this model, the platform team is not a gatekeeper but an enabler. The goal is to empower other teams to deliver value autonomously while ensuring that the organization’s standards and practices are consistently applied across all projects.

Golden Paths

A crucial component of Platform Engineering is the concept of Golden Paths. Golden Paths are a method for exposing platform capabilities and procedures in a way that makes them easily consumable by internal users. The goal is to simplify and streamline these processes, allowing teams to focus on their core work without being bogged down by complexity.

Kasper von Grünberg offered a simple yet powerful definition that captures the essence of a golden path: “Any procedure in the software development lifecycle a user can follow with minimal cognitive load and that drives standardization.” This definition emphasizes the role of Golden Paths in reducing complexity and promoting standardization across the organization.

Golden Paths are often referred to as Abstractions, as both terms convey the ultimate goals of simplification and standardization. As Golden Paths in your platform grow, they form a catalog of services, effectively creating a platform API—a collection of requests that internal users can access in a self-service manner to interact with the platform’s capabilities.

It’s essential to build this collection with the mission of staying relevant, which means considering the evolution of these paths over time.

Golden Paths Design Principles

Google provides a valuable guide on designing Golden Paths, emphasizing key principles to consider:

  1. Tackle Cognitive Load Issues
  1. Integrate with Existing Platforms
  1. Cover the Entire Development Lifecycle
  1. Provide Self-Service Capabilities
  1. Work at the Right Level of Abstraction
  1. Be Specific and Opinionated
  1. Maintain Flexibility
  1. Keep Adoption Optional (Not Golden Cages)

Golden Paths Misconceptions

Platform Engineering is often mistakenly associated only with infrastructure and DevOps simplification, or seen as simply a developer portal. If your organization focuses solely on these aspects, it risks only scratching the surface of Platform Engineering's true potential, missing out on its full business value.

It’s essential to understand Platform Engineering's broader goals and benefits to avoid these misconceptions and unlock the full potential of a platform strategy. A successful platform strategy should go deep, with strong foundations that drive meaningful impact across the organization—not just surface-level improvements.

Contract Model for the Golden Paths

Platform Engineering promotes a contract-based relationship between internal users and the platform:

Platform API: platform teams can define their own Golden Paths which encapsulate the underlying services. Dev team consume claims: Abstraction that developers work with directly. Teams can claim platform capabilities and the golden path will ensure that a real-world resource is provisioned and ready for consumption. Platform engineer write and expose Golden Paths: combining multiple resources with configuration and policies into a single abstraction or platform API, which is then exposed to developers for self-service.

How are Golden Paths consumed?

A key aspect of Platform Engineering is providing flexible and intuitive ways for internal users to consume platform capabilities through Golden Paths.
Since different teams and users have varying needs and preferences, the platform should offer multiple methods to access these capabilities, ensuring that they are easily integrated into diverse workflows.

  1. Developer Portals
  1. Command-Line Interface (CLI)
  1. YAML Files

Offering multiple ways to consume Golden Paths ensures that the platform meets the diverse needs of its users. Some teams may prioritize speed and simplicity, while others may require more control and customization. By providing different levels of abstraction and interfaces, the platform can cater to a broad range of use cases, driving wider adoption and more effective utilization of platform capabilities.

Enabling GitOps Practices

One of the key advantages of providing multiple consumption methods is the ability to support GitOps practices. GitOps emphasizes declarative configurations and version control, where the entire system's desired state is stored in a Git repository. Teams can use YAML files and Kubernetes CRDs as part of their GitOps workflows, ensuring that changes to platform capabilities are tracked, auditable, and automatically applied to the infrastructure.

With GitOps, teams can integrate Golden Paths directly into their CI/CD pipelines, where changes in the Git repository trigger automated deployments and updates. This approach enhances reliability and repeatability, as all platform interactions are managed through version-controlled code.

By offering flexible consumption methods that align with GitOps principles, the platform enables teams to:

Tell us what you think.

Comments are moderated and will only be visible if they add to the discussion in a constructive way. If you disagree with a point, please, be polite.

Subscribe