@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
@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.
@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
@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