Slide 1

Slide 1 text

@duffleit Platform Engineering The Good, The Bad and the Ugly David Leitner

Slide 2

Slide 2 text

@duffleit The Why Topologies Principles Platform Engineering

Slide 3

Slide 3 text

@duffleit DAVID LEITNER Principal Engineer 👋 david@squer.io 🌎 @duffleit

Slide 4

Slide 4 text

@duffleit The Why Topologies Principles Platform Engineering

Slide 5

Slide 5 text

@duffleit Cynefin Framework Dave Snowden Simple Systems Sense —> Categorise -> Respond Best Practices Complicated Systems Sense —> Analyse -> Respond Good Practices Complex Systems Probe —> Sense ->Respond Emergent Practices Chaotic Systems Act —> Sense ->Respond Novel Practices

Slide 6

Slide 6 text

@duffleit BBC Architectures Long Time ago Cylinder Box Box

Slide 7

Slide 7 text

@duffleit Cylinder Box Box

Slide 8

Slide 8 text

@duffleit Cylinder Box Box

Slide 9

Slide 9 text

@duffleit 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 ⚡ ⚡ ⚡

Slide 10

Slide 10 text

@duffleit 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 ⚡ ⚡ ⚡

Slide 11

Slide 11 text

@duffleit 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 ⚡

Slide 12

Slide 12 text

@duffleit 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 ⚡ High AUtonomy = High Pace Product Search Checkout & Payments Delivery + Tracking Warehouse Management

Slide 13

Slide 13 text

@duffleit Product Search Checkout & Payments Delivery + Tracking Warehouse Management High AUtonomy = High Pace

Slide 14

Slide 14 text

@duffleit Product Payment User Account High AUtonomy = High Pace Entity Service Antipattern Distributed Monolith

Slide 15

Slide 15 text

@duffleit Product Payment User Account High AUtonomy = High Pace Entity Service Antipattern Distributed Big Ball of Mud

Slide 16

Slide 16 text

@duffleit Product Payment User Account High AUtonomy = High Pace Entity Service Antipattern Distributed Big Ball of Mud

Slide 17

Slide 17 text

@duffleit Product Search Checkout & Payments Delivery + tacking Warehouse Management High AUtonomy = High Pace

Slide 18

Slide 18 text

@duffleit You Keep Using That Word. I Do Not Think It Means What You Think It Means.

Slide 19

Slide 19 text

@duffleit Responsibility The ops will hate it Zone The Devs will Quit Zone Autonomy You build it you Own it You build it you run it You build it you care it

Slide 20

Slide 20 text

@duffleit Product Search Checkout & Payments Delivery + tacking Warehouse Management High AUtonomy = High Responsibility

Slide 21

Slide 21 text

@duffleit Strict Governance 😔 Full Autonomy 😊

Slide 22

Slide 22 text

@duffleit Strict Governance 😔 Full Autonomy 😊 WET Principle Write Everything twice We Enjoy Typing Waste Everyones Time 🤯 Speed Paradox

Slide 23

Slide 23 text

@duffleit Strict Governance 😔 Full Autonomy 😊 🤯 Speed Paradox 😳 Standard Paradox

Slide 24

Slide 24 text

@duffleit Strict Governance 😔 Full Autonomy 😊 🤯 Speed Paradox 😳 Standard Paradox Golden Path

Slide 25

Slide 25 text

@duffleit

Slide 26

Slide 26 text

@duffleit End-2-End Responsibility Autonomy Order A Product Perform A payment Execute The Delivery

Slide 27

Slide 27 text

@duffleit End-2-End Responsibility Autonomy Order A Product Perform A payment Execute The Delivery ⚡

Slide 28

Slide 28 text

@duffleit End-2-End Responsibility Autonomy Order A Product Perform A payment Execute The Delivery Cognitive Load 🤯

Slide 29

Slide 29 text

@duffleit End-2-End Responsibility Autonomy Order A Product Perform A payment Execute The Delivery Cognitive Load 🤯 Enabling Teams Complex Subsystem Teams Platform Teams

Slide 30

Slide 30 text

@duffleit End-2-End Responsibility Autonomy Order A Product Perform A payment Execute The Delivery Cognitive Load 🤯 Enabling Teams Complex Subsystem Teams Platform Teams Internal Developer Platform Design System IoT Hub ⭐

Slide 31

Slide 31 text

@duffleit Internal Developer Platform internaldeveloperpla,orm.org

Slide 32

Slide 32 text

@duffleit A 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 co-ordination. Evan Bo3cher

Slide 33

Slide 33 text

@duffleit A platform is a foundation of self- service APIs, tools and 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 co-ordination. Evan Bo3cher

Slide 34

Slide 34 text

@duffleit A platform is a foundation of self- service APIs, tools and 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 co-ordination. Evan Bo3cher

Slide 35

Slide 35 text

@duffleit A platform is a foundation of self- service APIs, tools and 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 co-ordination. Evan Bo3cher

Slide 36

Slide 36 text

@duffleit A platform is a foundation of self- service APIs, tools and 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 co-ordination. Evan Bo3cher

Slide 37

Slide 37 text

@duffleit A platform is a foundation of self- service APIs, tools and 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 co-ordination. Evan Bo3cher

Slide 38

Slide 38 text

@duffleit Platform Team

Slide 39

Slide 39 text

@duffleit Platform Team Cognitive Load Cognitive Load 🤯 Hard to Evolve

Slide 40

Slide 40 text

@duffleit Your Platform Base Platform Base Platform Your Platform Sinking Platform 😔 Base Platform Your Platform Floating Platform ⛴

Slide 41

Slide 41 text

@duffleit Platform Team Cognitive Load Cognitive Load 🤯 Hard to Evolve 🔥 Blast Radius 🔥 🔥 🔥

Slide 42

Slide 42 text

@duffleit Platform Team Cognitive Load Cognitive Load 🤯 Hard to Evolve 🔥 Blast Radius 🔥 🔥 🔥

Slide 43

Slide 43 text

@duffleit ✨ ✨ ✨ A Platform Monolith Got Born

Slide 44

Slide 44 text

@duffleit Platform Teams Your Platform is a product Golden Path

Slide 45

Slide 45 text

@duffleit Platform Teams Your Platform is a product Paved Path Cognitive Load 🤯

Slide 46

Slide 46 text

@duffleit Platform Teams Sub Platform Sub Platform Sub Platform 🔥 Blast radius 🔥 🔥 🔥 Cognitive Load

Slide 47

Slide 47 text

@duffleit Platform Teams Sub Platform Sub Platform Sub Platform 🔎 🔎 🔎 🔎 🔎 Cognitive Load 🤯

Slide 48

Slide 48 text

@duffleit 🚢 Monolithic Platform ⛵ ⛵ ⛵ ⛵ 🧑✈ Sharded Platforms With Central Onwerhsip

Slide 49

Slide 49 text

@duffleit 🚢 Monolithic Platform ⛵ ⛵ ⛵ ⛵ 🧑✈ Sharded Platforms With Central Onwerhsip Enourmous Blast radius

Slide 50

Slide 50 text

@duffleit ⛵ ⛵ ⛵ ⛵ 🧑✈ Sharded Platforms With Central Onwerhsip Management Complexity 🚢 Monolithic Platform Enourmous Blast radius

Slide 51

Slide 51 text

@duffleit You don’t want to operate the ship. You want to be the dockyard.

Slide 52

Slide 52 text

@duffleit 👧 🧑 🧑 Platform Engineering != Operations

Slide 53

Slide 53 text

@duffleit 👧 🧑 🧑 Platform Engineering != Operations 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑

Slide 54

Slide 54 text

@duffleit Platform Engineering != Operations We Provide The Platform 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 But, We do Not Own It 👧 🧑 🧑

Slide 55

Slide 55 text

@duffleit 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 📑 Defining Api For our engineering Teams Custom Resource

Slide 56

Slide 56 text

@duffleit 📑 Custom Resource Platform Team Operator Cluster API 📑 Workload Repo ⭐ 🔎

Slide 57

Slide 57 text

@duffleit 📑 Custom Resource Platform Team Operator Cluster API 📑 Workload Repo

Slide 58

Slide 58 text

@duffleit 📑 Custom Resource Platform Team Operator Cluster API 📑 Workload Repo ⭐

Slide 59

Slide 59 text

@duffleit 📑 Custom Resource Platform Team Operator Cluster API 📑 Workload Repo

Slide 60

Slide 60 text

@duffleit 📑 Custom Resource Platform Team Operator Cluster API 📑 Workload Repo Operator ⭐

Slide 61

Slide 61 text

@duffleit 📑 Custom Resource Platform Team Operator Cluster API 📑 Operator Developer API Operator Operator Responsibility Workload Repo We provide an opinioated Abstraction for our Engineering Teams

Slide 62

Slide 62 text

@duffleit 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 👧 🧑 🧑 Provide The minimal Base Platform Let teams deploy and own their platform Allow for Extensions Responsibility meaningful Abstractions that reduce cognitive load

Slide 63

Slide 63 text

@duffleit Ok, Let’s sum up.

Slide 64

Slide 64 text

@duffleit Your Platform Is a Product Treat it like one 👧 🧑 🧑👩 🧔 Think about the right Team Composition Provide the right abstractions for your users 📄 Opinionate for your organisation Focus on the golden Path And Deprioritize 👑

Slide 65

Slide 65 text

@duffleit 👧 🧑 🧑 Monolithical Platform 👧 🧑 🧑 Smaller Platform Monoliths 👧 🧑 🧑 👧 🧑 🧑 Sharded Platform 👧 🧑 🧑 👧 🧑 🧑 Decentralized Platform 👧 🧑 🧑 📑 Decreased Blast Radius 🔥 Independat Opertions 👨🏭 Fine-grained SLAs and Scale 🚀 Cost Transparency 💰 Simplicity 🌱 Find the right toplogy for your platform 🏗

Slide 66

Slide 66 text

@duffleit Don’t let your platform become your organizational bottleneck and resilience issue. ⭐

Slide 67

Slide 67 text

@duffleit DAVID LEITNER Principal Engineer 👋 david@squer.io 🌎 @duffleit Slides