Slide 1

Slide 1 text

@duffleit David Leitner Platform Engineering: It's Not What You Think It Is

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

@duffleit DAVID LEITNER Principal Engineer 👋 [email protected] 🌎 @duffleit

Slide 4

Slide 4 text

@duffleit Operating Systems Compilers Virtual Machines Assembler Frameworks Prompts / LLMs 0 1 0 1 1 0 1 1 There is no other industry out there that is as good at introducing new abstractions as we are. — Ted Neward

Slide 5

Slide 5 text

@duffleit Monolithical Systems

Slide 6

Slide 6 text

@duffleit Distributed Systems Elasticity Resilient Easy to Extend Continously Deployed

Slide 7

Slide 7 text

@duffleit Distributed Systems Elasticity Resilient Continously Deployed Easy to Extend

Slide 8

Slide 8 text

@duffleit speakerdeck.com/squer/cultivating-architecture-in-an-agile-world-2019 1⃣ 2⃣ 3⃣

Slide 9

Slide 9 text

@duffleit Distributed Systems 👧 🧑 🧑 👧 🧑 🧑 Microservices aren’t just about scaling your software architecture but scaling your teams. They are an organizational scaling strategy. You build it, you run it. — Werner Vogels

Slide 10

Slide 10 text

@duffleit Accountability Autonomy You build iT you run it

Slide 11

Slide 11 text

@duffleit Accountability ops will Block The Devs will Quit Autonomy You build it you Own it You build it you care it You Build it You run it

Slide 12

Slide 12 text

@duffleit Software Development Operations

Slide 13

Slide 13 text

@duffleit Operations Software Development DevOps 2009

Slide 14

Slide 14 text

@duffleit Software Development Project Management Operations Software Development DevOps 2009

Slide 15

Slide 15 text

@duffleit Project Management Software Development Agile Manifesto 2001 Operations Software Development DevOps 2009

Slide 16

Slide 16 text

@duffleit Project Management Software Development Agile Manifesto 2001 Operations Software Development DevOps 2009 Software Development Product Engineering

Slide 17

Slide 17 text

@duffleit Product Engineering Project Management Software Development Agile Manifesto 2001 Operations Software Development DevOps 2009 Software Development DDD 2004 UX/CX 1999

Slide 18

Slide 18 text

@duffleit Product Engineering Project Management Software Development Agile Manifesto 2001 Operations Software Development DevOps 2009 Software Development DDD 2004 UX/CX 1999 Quality Assurance & Testing Software Development

Slide 19

Slide 19 text

@duffleit Product Engineering Project Management Software Development Agile Manifesto 2001 Operations Software Development DevOps 2009 Software Development DDD 2004 UX/CX 1999 Quality Assurance & Testing Software Development Unit Testing 1997 There is a constant strive for shift-left in our industry. Which has heavily increased mental load within the engineering teams.

Slide 20

Slide 20 text

@duffleit We can

Slide 21

Slide 21 text

@duffleit 👧 🧑 🧑

Slide 22

Slide 22 text

@duffleit 👧 🧑 🧑 Shift Left

Slide 23

Slide 23 text

@duffleit PILE LEFT © 👧 🧑 🧑

Slide 24

Slide 24 text

@duffleit PILE LEFT © 👧 🧑 🧑

Slide 25

Slide 25 text

@duffleit PILE LEFT © 👧 🧑 🧑

Slide 26

Slide 26 text

@duffleit We can solve any problem by introducing an additional layer. — fundamental theorem of software engineering (FTSE) 👧 🧑 🧑 Layers

Slide 27

Slide 27 text

@duffleit 👧 🧑 🧑 Platform

Slide 28

Slide 28 text

@duffleit Platform (AWS, GPC, Azure, …) 👧 🧑 🧑 Platform

Slide 29

Slide 29 text

@duffleit Platform (AWS, GPC, Azure, …) 👧 🧑 🧑 Platform Topic

Slide 30

Slide 30 text

@duffleit 👧 🧑 🧑 Platform 👧 🧑 🧑 Innovation Speed Reusage Standardisation Robustness

Slide 31

Slide 31 text

@duffleit 👧 🧑 🧑 Platform 👧 🧑 🧑 Innovation Harmonization Good Platforms enable Innovation by Harmonization. — Gregor Hohpe You can have it in any color as long as it’s black — Henry Ford

Slide 32

Slide 32 text

@duffleit 👧 🧑 🧑 Platform 👧 🧑 🧑 Innovation Harmonization Good Platforms enable Innovation by Harmonization. — Gregor Hohpe

Slide 33

Slide 33 text

@duffleit Specific Things Common Things Config Unified Interface Complex Tech Diverse Applications Platforms enable diverse Applications on unified interfaces. Reusage

Slide 34

Slide 34 text

@duffleit Diverse Lower Invesment Differentiator Standardization High Invesment No Differentiator If your users haven't built anything that surprises you, then you probably haven't developed a good platform.

Slide 35

Slide 35 text

@duffleit Specific Things Common Things Config Unified Interface Complex Tech Diverse Applications Platforms enable diverse Applications on unified interfaces. without limiting the Problem Space We constraint the Solution Space

Slide 36

Slide 36 text

@duffleit Specific Things Common Things Config Unified Interface Complex Tech Diverse Applications Economies of Scale. Economies of Speed.

Slide 37

Slide 37 text

@duffleit Platforms focus on accelerating the speed of delivery rather than on reuse and standardization.

Slide 38

Slide 38 text

@duffleit Abstractions We do this by useful

Slide 39

Slide 39 text

@duffleit Infrastructure Centric View, based on Composition. Deploy a New Application Pod Namespace Autoscale Database Table TOPIC Alters Monitors Readmodel 👩💻 Container Database KafkaTopic Dashboards Readmodel

Slide 40

Slide 40 text

@duffleit Developer Centric View, based on Abstractions. Deploy a New Application Pod Namespace Autoscale Database Table TOPIC Alters Monitors Readmodel 👩💻 Stateful Appliaction Event Processor Chron Job

Slide 41

Slide 41 text

@duffleit Developer Centric View, based on Abstractions. Deploy a New Application Pod Namespace Autoscale Database Table TOPIC Alters Monitors Readmodel 👩💻 Stateful Appliaction Event Processor Chron Job

Slide 42

Slide 42 text

@duffleit Developer Centric View, based on Abstractions. Deploy a New Application Pod Namespace Autoscale Database Table TOPIC Alters Monitors Readmodel 👩💻 Stateful Appliaction Event Processor Chron Job

Slide 43

Slide 43 text

@duffleit Platform Interfaces are mainly about Abstractions and less about Composition.

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

@duffleit Platform Interfaces are mainly about Abstractions and less about Composition.

Slide 46

Slide 46 text

@duffleit Great Platforms are not built from green-field.

Slide 47

Slide 47 text

@duffleit Great Platforms are harvested.

Slide 48

Slide 48 text

@duffleit blog.codinghorror.com/rule-of-three/

Slide 49

Slide 49 text

@duffleit The Platform Team 👧 🧑 🧑

Slide 50

Slide 50 text

@duffleit Platform Infrastructure Application Development Innovation Standardisation Robustness Speed Economies of Scale. Economies of Speed.

Slide 51

Slide 51 text

@duffleit Infrastructure Application Development Innovation Standardisation Robustness Platform Speed Competing Goals Make explicit what you are optimizing for. & Measure it

Slide 52

Slide 52 text

@duffleit Application Development Innovation Platform Useful Abstractions 👧 🧑 🧑 Product

Slide 53

Slide 53 text

@duffleit Platform Useful Abstractions 👧 🧑 🧑 Product Application Development Team Application Development Team Customers & Measure Customer Satisfaction Net Promoter Score Dora Metrics

Slide 54

Slide 54 text

@duffleit Consider your Platform as a Product, and staff it like that.

Slide 55

Slide 55 text

@duffleit Ok, Let’s sum up.

Slide 56

Slide 56 text

@duffleit When autonomous teams* are your organizational scaling strategy, then mental load within those teams becomes your biggest obstacle, and platform engineering your most promising ally in overcoming it.

Slide 57

Slide 57 text

@duffleit When autonomous teams* are your organizational scaling strategy, then mental load within those teams becomes your biggest obstacle, and platform engineering your most promising ally in overcoming it.

Slide 58

Slide 58 text

@duffleit When autonomous teams* are your organizational scaling strategy, then mental load within those teams becomes your biggest obstacle, and platform engineering your most promising ally in overcoming it.

Slide 59

Slide 59 text

@duffleit Platform Engineering values accelerating delivery over maximizing reuse and standardization. 🚀 Platforms are most effective when harvested rather than approached as greenfield projects. 🪵 Great platforms define useful abstractions over leaky compositions. 🧿 We treat and measure platform teams as product teams, and staff them accordingly. 🧑 🧑

Slide 60

Slide 60 text

@duffleit DAVID LEITNER Principal Engineer 👋 [email protected] 🌎 @duffleit Slides