1 What is platform engineering?

 

This chapter covers

  • The definition of platform engineering
  • Deciding when to apply platform engineering
  • The mental models and core principles of platform engineering
  • Comparing platform engineering with DevOps, site reliability engineering, and developer experience

An engineering platform is a system that brings together infrastructure, governance, and operational technologies into one place that internal development teams across a company can use.

The goal of platform engineering is to find a strategy for overcoming the fundamental challenges of creating custom software. We need to build software faster, but there are so many requirements and dependencies. Given constantly evolving technologies, extensive governance and operational requirements, and critical security challenges, how do we rapidly and sustainably deliver software experiences to customers?

The number of articles, posts, and conference tracks on platform engineering has increased dramatically over the last couple of years. Yet, these sources can have very different ideas about what it means, why it matters, or what good looks like.

Platform engineering is a craft which:

1.1 Platforms are more than just DevOps

1.1.1 Why should I care about platform engineering?

1.2 When to use platform engineering principles

1.2.1 When do these principles not apply?

1.3 Foundational concepts in platform engineering

1.3.1 Product delivery model for platforms

1.3.2 Platform product domains

1.3.3 Platform engineering principles

1.4 Platform engineering enablers

1.4.1 Developer experience

1.4.2 DevOps

1.4.3 SRE

1.4.4 Impact of generative AI in the platform engineering space

1.5 Let’s get started

Summary