SlideShare a Scribd company logo
Paving the path towards
platform engineering
using a comprehensive
reference model
by
Ruben van de Kamp
Kees C. Bakker
Zhiming Zhao
About Ruben
● Recent graduate Master Software
Engineering at the University of Amsterdam
● Senior Software Engineer
● Working on services, integrations,
automation and frontend
● Passionate about web development and
platform engineering
● TypeScript / Python
Databricks, NodeJS, Flask
Sports, Economy
Ruben van de Kamp
ruvdkamp@gmail.com
linkedin.com/in/ruben-vd-kamp
3
About Kees
● Pathfinder & Software Engineer
for Wehkamp Tech
● Working on architecture, integrations,
automation and chatops
● Passionate about web, marketing &
automation
● C# / .NET Core
TypeScript+NodeJS, PySpark+Databricks
Techblog, History
Kees C. Bakker
@KeesTalksTech
KeesTalksTech.com
kbakker@wehkamp.nl
linkedin.com/in/keescbakker
1. Who is Wehkamp?
2. How to implement platform engineering?
3. Case study
4. Conclusions & future work
4
Topics
Context:
Who is Wehkamp?
over 2.500 brands
WE Fashion // Vingino //Mango // Tommy Hilfiger // Scotch & Soda // ONLY // Private Label
wehkamp home // HK living // Woood // Zuiver // Riverdale // House Doctor
>300.000
different
products
>560.000
daily
visitors
783 million
Sales
21/22
>11 million
sent
packages
>1.000
colleagues
80%
of all customers
shop mobile
72%
of our customers
are female
Wehkamp facts
Focus on: fashion // living // beauty / baby & kids
How we run www.wehkamp.nl
Focus on: delivery
334.000
avg. requests
per minute*
19.6 GiB
avg. bandwidth
per minute*
3
FE stacks: web,
IOS, Android
150
Micro-sites &
services
50+
engineers + POs
10
autonomous
DevOps teams
1
platform
team
It ain’t easy being fast
Not just a website. It’s an e-commerce platform!
* Thursday 2023-10-24
20:00 - 22:30 CEST
according to Cloudflare
Statistics Dashboard
9
What ignited our research?
10
What ignited our research?
Feels like they are
describing what
we’re trying to do.
Platform as a self-
service product for
developers?
Source: thenewstack.io/how-is-platform-
engineering-different-from-devops-and-sre/
11
What ignited our research?
Many of our
services have the
same basic features
in terms of
observability. We
must be able to
scaffold or provision
them, just like our
databases, right?
Source: engineering.atspotify.com/2020/08/
How-we-use-golden-paths-to-solve-
fragmentation-in-our-software-ecosystem
Definition | Research questions | Related work | Reference Model
How to implement
platform engineering?
● Discipline to improve productivity and
efficiency across teams by standardizing
and centralizing tools by introducing a
platform.
● Instead of focussing on a team level, it
focuses on the organization level.
● Tries to solve the following challenges:
proliferation of tools
deployment difficulties
cloud expenses and
communication between teams 13
What is platform engineering?
Main research question
How can a software organization
effectively integrate platform engineering
using a comprehensive reference model?
14
Research Questions
RQ1
How to model platform
engineering in the context of a
software company?
RQ2
How to define a customized
platform engineering design
tailored to a specific organization?
RQ3
How to effectively construct a
technical platform engineering
implementation?
● Scientific research → scarcity
15
How to implement platform engineering?
Related work
● Scientific research → scarcity
● Industry related articles →
technical (commercial) approach
16
How to implement platform engineering?
Related work
● Based on the Reference Model
of Open Distributed Processing
(ODP-RM)
17
How to implement platform engineering?
The Platform Engineering Reference Model (PE-RM)
18
How to implement platform engineering?
Methodology - PE-RM
● Platform engineering
lifecycle
19
Platform Engineering Reference Model
Enterprise viewpoint
● Platform engineering lifecycle
● Application lifecycle
20
Platform Engineering Reference Model
Enterprise viewpoint
● Platform engineering lifecycle
● Application lifecycle
● Stakeholders
21
Platform Engineering Reference Model
Enterprise viewpoint
● Platform engineering lifecycle
22
Platform Engineering Reference Model
Information viewpoint
Legend
Information objects (black)
Action objects (blue)
Engineering Platform (green)
● Platform engineering lifecycle
● Application lifecycle
23
Platform Engineering Reference Model
Information viewpoint
Legend
Information objects (black)
Action objects (blue)
Engineering Platform (green)
● Operations
● Depends on organization
● Golden paths
● Examples:
○ Maintain golden paths
○ Utilize golden paths
○ Provision application
domain
○ Deploy application
24
Platform Engineering Reference Model
Computational viewpoint
25
Platform Engineering Reference Model
Engineering viewpoint
● Implementation of the platform
26
Platform Engineering Reference Model
Technology viewpoint
● Implementation of the platform
● Brownfields vs greenfield
27
Platform Engineering Reference Model
Technology viewpoint
Can be: Grafana, Prometheus,
CloudWatch, Datadog, etc.
Can be: Jenkins, CircleCI,
GitHub Actions, etc.
Start with the tooling that is
currently used.
Conceptual design | Technical implementation | Experiments
How to validate
platform engineering?
29
Conceptual design
Enterprise viewpoint
● Gap analysis
● Organizational structure is in place
● Need to redefine roles
● Missing consultation structures
30
Conceptual design
Enterprise viewpoint
● Gap analysis
● Organizational structure is in place
● Need to redefine roles
● Missing consultation structures (1) Pathfinders: more
formally involved in
the engineering
lifecycle.
31
Conceptual design
Enterprise viewpoint
● Gap analysis
● Organizational structure is in place
● Need to redefine roles
● Missing consultation structures (1) Pathfinders: more
formally involved in
the engineering
lifecycle
(2) Accountability on
platform changes should
be made more formal:
planning and delivery to
stakeholders
32
Conceptual design
Enterprise viewpoint
● Gap analysis
● Organizational structure is in place
● Need to redefine roles
● Missing consultation structures (1) Pathfinders: more
formally involved in
the engineering
lifecycle.
(3) Main stakeholders of
the platform.
(2) Accountability on
platform changes should
be made more formal:
planning and delivery to
stakeholders.
33
Conceptual design
Enterprise viewpoint
● Gap analysis
● Organizational structure is in place
● Need to redefine roles
● Missing consultation structures (1) Pathfinders: more
formally involved in
the engineering
lifecycle.
(2) Accountability on
platform changes should
be made more formal:
planning and delivery to
stakeholders.
(3) Main stakeholders of
the platform.
(4) New stakeholder for
golden path adaptations
which should implement
new platform features.
34
Conceptual design
Informational viewpoint
(1) Improve documentation
and facilitate communication
between platform and
development teams.
35
Conceptual design
Informational viewpoint
(2) To enhance understanding
of the platform and productivity
of the development teams.
(1) Improve documentation
and facilitate communication
between platform and
development teams.
36
Conceptual design
Informational viewpoint
(3) Boost productivity,
increase standardization and
best practices, resulting in
improved onboarding time
(2) To enhance understanding
of the platform and productivity
of the development teams.
(1) Improve documentation
and facilitate communication
between platform and
development teams.
37
Conceptual design
Informational viewpoint
(4) Formal way for
development teams to request
new platform features.
● Currently we provision infra like
databases.
● We might be able to provision
applications?
38
Conceptual design
Computational viewpoint
39
Conceptual design
Technology viewpoint
40
Conceptual design
Technology viewpoint
No developer portal as a central
starting point for self service
provisioning, docs, observability,
software catalog, etc.
41
Conceptual design
Technology viewpoint
No developer portal as a central
starting point for self service
provisioning, docs, observability,
software catalog, etc.
The platform is not
treated as 1
integrated product.
By building a prototype
in which we can experiment.
How to validate
platform engineering?
● Otomi
● Backstage
44
Technical implementation
Architecture
45
Technical implementation
Technical implementation
47
Technical implementation
48
Technical implementation
By experimenting!
How to validate
platform engineering?
50
What experiments did we design?
Experiment 1
Does the platform improve
productivity?
Experiment 2
Is this something the developer
community wants?
Experiment 3
Is this doable in a
production environment?
performance
analysis
usability
study
expert
feedback
● Use case
Experiments
Performance analysis
● Use case
● Three tasks
1. Deploy react application to dev
2. Deploy nestjs application to prod
3. Gather logs and metrics of
application in production
Experiments
Performance analysis
● Role
● Ease of use
● Platform task ratio
Experiments
Usability study
easy difficult
● Role
● Ease of use
● Platform task ratio
● Likeable feature
● Recommendation
Experiments
Usability study
● Role
● Platform design
● Ease of use
Experiments
Platform experts feedback
difficult easy
● Role
● Platform design
● Ease of use
● Applicability in organization
● Integration other systems
● Recommendation
Experiments
Platform experts feedback
not applicable very applicable
Conclusions
Findings | Future work
● PE-RM to model platform engineering in the context of an organization
● Conceptual design guided by the PE-RM
● Technical implementation guided by the PE-RM
● Expose the added value and practical implementation of platform engineering
● Complexity of modelling a methodology (example: accountability)
● Organizational depended decisions
58
Conclusions
Achievements
RQ1: How to model platform engineering in the
context of a software company?
● Platform Engineering Reference Model (PE-RM)
● Validation by case study
59
Conclusions
Research questions
RQ2: How to define a customized platform engineering
design tailored to a specific organization?
● Conceptual design guided by the PE-RM
60
Conclusions
Research questions
RQ3: How to effectively construct a technical platform
engineering implementation?
● Basic engineering platform implementation
● Validation with experiments
● Showcase added value of platform engineering
61
Conclusions
Research questions
Main research question: How can a software
organization effectively integrate platform engineering
using a comprehensive reference model?
● Platform Engineering Reference Model
● Case study validation
62
Conclusions
Research questions
● Implement the reference model in a case study
to measure the outcomes
● Case studies within different types of
organizations
● NOTE: The field is new → changes could be
needed
63
Conclusions
Future work
Paving the path towards
platform engineering
using a comprehensive
reference model
by
Ruben van de Kamp
Kees C. Bakker
Zhiming Zhao

More Related Content

Similar to Paving the path towards platform engineering using a comprehensive reference model.pptx

MuleSoft Milano Meetup #7 Florence Consulting
MuleSoft Milano Meetup #7  Florence Consulting MuleSoft Milano Meetup #7  Florence Consulting
MuleSoft Milano Meetup #7 Florence Consulting
Florence Consulting
 
APSI - Analisa Perancangan Sistem Informasi
APSI - Analisa Perancangan Sistem InformasiAPSI - Analisa Perancangan Sistem Informasi
APSI - Analisa Perancangan Sistem Informasi
Fauzi Rakhman
 
How to Choose an Integration Platform Vendor for Your Business
How to Choose an Integration Platform Vendor for Your BusinessHow to Choose an Integration Platform Vendor for Your Business
How to Choose an Integration Platform Vendor for Your Business
WSO2
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov
 
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into RequirementsEvolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve The Adobe Digital Marketing Community
 
Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?
Philipp Garbe
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
Nishu Rastogi
 
CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable
Alexander Doré
 
Evolutionary Architecture And Design
Evolutionary Architecture And DesignEvolutionary Architecture And Design
Evolutionary Architecture And Design
Naresh Jain
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part I
Viacheslav Nefedov
 
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
SACON NY 19: "Creating an effective developer experience for cloud-native apps"SACON NY 19: "Creating an effective developer experience for cloud-native apps"
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
Daniel Bryant
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
Marcus Vechiato
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
Niels Bech Nielsen
 
Whitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdfWhitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdf
juancarlos747007
 
AAF 2009 Growing Architects
AAF 2009   Growing ArchitectsAAF 2009   Growing Architects
AAF 2009 Growing Architects
Kevin Francis
 
Software Project management
Software Project managementSoftware Project management
Software Project management
sameer farooq
 
Discovery on terra incognita
Discovery on terra incognitaDiscovery on terra incognita
Discovery on terra incognita
eugenemospan
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
Arthur240715
 
Traditional Process Models
Traditional Process ModelsTraditional Process Models
Traditional Process Models
Ahsan Rahim
 
Working with software architects - advice to project managers
Working with software architects - advice to project managersWorking with software architects - advice to project managers
Working with software architects - advice to project managers
Yaniv Pessach
 

Similar to Paving the path towards platform engineering using a comprehensive reference model.pptx (20)

MuleSoft Milano Meetup #7 Florence Consulting
MuleSoft Milano Meetup #7  Florence Consulting MuleSoft Milano Meetup #7  Florence Consulting
MuleSoft Milano Meetup #7 Florence Consulting
 
APSI - Analisa Perancangan Sistem Informasi
APSI - Analisa Perancangan Sistem InformasiAPSI - Analisa Perancangan Sistem Informasi
APSI - Analisa Perancangan Sistem Informasi
 
How to Choose an Integration Platform Vendor for Your Business
How to Choose an Integration Platform Vendor for Your BusinessHow to Choose an Integration Platform Vendor for Your Business
How to Choose an Integration Platform Vendor for Your Business
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into RequirementsEvolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
 
Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?Is Platform Engineering the new Ops?
Is Platform Engineering the new Ops?
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable CMAD Group Workbook 3.1 Op Model Enable
CMAD Group Workbook 3.1 Op Model Enable
 
Evolutionary Architecture And Design
Evolutionary Architecture And DesignEvolutionary Architecture And Design
Evolutionary Architecture And Design
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part I
 
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
SACON NY 19: "Creating an effective developer experience for cloud-native apps"SACON NY 19: "Creating an effective developer experience for cloud-native apps"
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Whitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdfWhitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdf
 
AAF 2009 Growing Architects
AAF 2009   Growing ArchitectsAAF 2009   Growing Architects
AAF 2009 Growing Architects
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Discovery on terra incognita
Discovery on terra incognitaDiscovery on terra incognita
Discovery on terra incognita
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
 
Traditional Process Models
Traditional Process ModelsTraditional Process Models
Traditional Process Models
 
Working with software architects - advice to project managers
Working with software architects - advice to project managersWorking with software architects - advice to project managers
Working with software architects - advice to project managers
 

Recently uploaded

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
Drona Infotech
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 

Recently uploaded (20)

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Mobile app Development Services | Drona Infotech
Mobile app Development Services  | Drona InfotechMobile app Development Services  | Drona Infotech
Mobile app Development Services | Drona Infotech
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 

Paving the path towards platform engineering using a comprehensive reference model.pptx

  • 1. Paving the path towards platform engineering using a comprehensive reference model by Ruben van de Kamp Kees C. Bakker Zhiming Zhao
  • 2. About Ruben ● Recent graduate Master Software Engineering at the University of Amsterdam ● Senior Software Engineer ● Working on services, integrations, automation and frontend ● Passionate about web development and platform engineering ● TypeScript / Python Databricks, NodeJS, Flask Sports, Economy Ruben van de Kamp ruvdkamp@gmail.com linkedin.com/in/ruben-vd-kamp
  • 3. 3 About Kees ● Pathfinder & Software Engineer for Wehkamp Tech ● Working on architecture, integrations, automation and chatops ● Passionate about web, marketing & automation ● C# / .NET Core TypeScript+NodeJS, PySpark+Databricks Techblog, History Kees C. Bakker @KeesTalksTech KeesTalksTech.com kbakker@wehkamp.nl linkedin.com/in/keescbakker
  • 4. 1. Who is Wehkamp? 2. How to implement platform engineering? 3. Case study 4. Conclusions & future work 4 Topics
  • 6.
  • 7. over 2.500 brands WE Fashion // Vingino //Mango // Tommy Hilfiger // Scotch & Soda // ONLY // Private Label wehkamp home // HK living // Woood // Zuiver // Riverdale // House Doctor >300.000 different products >560.000 daily visitors 783 million Sales 21/22 >11 million sent packages >1.000 colleagues 80% of all customers shop mobile 72% of our customers are female Wehkamp facts Focus on: fashion // living // beauty / baby & kids
  • 8. How we run www.wehkamp.nl Focus on: delivery 334.000 avg. requests per minute* 19.6 GiB avg. bandwidth per minute* 3 FE stacks: web, IOS, Android 150 Micro-sites & services 50+ engineers + POs 10 autonomous DevOps teams 1 platform team It ain’t easy being fast Not just a website. It’s an e-commerce platform! * Thursday 2023-10-24 20:00 - 22:30 CEST according to Cloudflare Statistics Dashboard
  • 9. 9 What ignited our research?
  • 10. 10 What ignited our research? Feels like they are describing what we’re trying to do. Platform as a self- service product for developers? Source: thenewstack.io/how-is-platform- engineering-different-from-devops-and-sre/
  • 11. 11 What ignited our research? Many of our services have the same basic features in terms of observability. We must be able to scaffold or provision them, just like our databases, right? Source: engineering.atspotify.com/2020/08/ How-we-use-golden-paths-to-solve- fragmentation-in-our-software-ecosystem
  • 12. Definition | Research questions | Related work | Reference Model How to implement platform engineering?
  • 13. ● Discipline to improve productivity and efficiency across teams by standardizing and centralizing tools by introducing a platform. ● Instead of focussing on a team level, it focuses on the organization level. ● Tries to solve the following challenges: proliferation of tools deployment difficulties cloud expenses and communication between teams 13 What is platform engineering?
  • 14. Main research question How can a software organization effectively integrate platform engineering using a comprehensive reference model? 14 Research Questions RQ1 How to model platform engineering in the context of a software company? RQ2 How to define a customized platform engineering design tailored to a specific organization? RQ3 How to effectively construct a technical platform engineering implementation?
  • 15. ● Scientific research → scarcity 15 How to implement platform engineering? Related work
  • 16. ● Scientific research → scarcity ● Industry related articles → technical (commercial) approach 16 How to implement platform engineering? Related work
  • 17. ● Based on the Reference Model of Open Distributed Processing (ODP-RM) 17 How to implement platform engineering? The Platform Engineering Reference Model (PE-RM)
  • 18. 18 How to implement platform engineering? Methodology - PE-RM
  • 19. ● Platform engineering lifecycle 19 Platform Engineering Reference Model Enterprise viewpoint
  • 20. ● Platform engineering lifecycle ● Application lifecycle 20 Platform Engineering Reference Model Enterprise viewpoint
  • 21. ● Platform engineering lifecycle ● Application lifecycle ● Stakeholders 21 Platform Engineering Reference Model Enterprise viewpoint
  • 22. ● Platform engineering lifecycle 22 Platform Engineering Reference Model Information viewpoint Legend Information objects (black) Action objects (blue) Engineering Platform (green)
  • 23. ● Platform engineering lifecycle ● Application lifecycle 23 Platform Engineering Reference Model Information viewpoint Legend Information objects (black) Action objects (blue) Engineering Platform (green)
  • 24. ● Operations ● Depends on organization ● Golden paths ● Examples: ○ Maintain golden paths ○ Utilize golden paths ○ Provision application domain ○ Deploy application 24 Platform Engineering Reference Model Computational viewpoint
  • 25. 25 Platform Engineering Reference Model Engineering viewpoint
  • 26. ● Implementation of the platform 26 Platform Engineering Reference Model Technology viewpoint
  • 27. ● Implementation of the platform ● Brownfields vs greenfield 27 Platform Engineering Reference Model Technology viewpoint Can be: Grafana, Prometheus, CloudWatch, Datadog, etc. Can be: Jenkins, CircleCI, GitHub Actions, etc. Start with the tooling that is currently used.
  • 28. Conceptual design | Technical implementation | Experiments How to validate platform engineering?
  • 29. 29 Conceptual design Enterprise viewpoint ● Gap analysis ● Organizational structure is in place ● Need to redefine roles ● Missing consultation structures
  • 30. 30 Conceptual design Enterprise viewpoint ● Gap analysis ● Organizational structure is in place ● Need to redefine roles ● Missing consultation structures (1) Pathfinders: more formally involved in the engineering lifecycle.
  • 31. 31 Conceptual design Enterprise viewpoint ● Gap analysis ● Organizational structure is in place ● Need to redefine roles ● Missing consultation structures (1) Pathfinders: more formally involved in the engineering lifecycle (2) Accountability on platform changes should be made more formal: planning and delivery to stakeholders
  • 32. 32 Conceptual design Enterprise viewpoint ● Gap analysis ● Organizational structure is in place ● Need to redefine roles ● Missing consultation structures (1) Pathfinders: more formally involved in the engineering lifecycle. (3) Main stakeholders of the platform. (2) Accountability on platform changes should be made more formal: planning and delivery to stakeholders.
  • 33. 33 Conceptual design Enterprise viewpoint ● Gap analysis ● Organizational structure is in place ● Need to redefine roles ● Missing consultation structures (1) Pathfinders: more formally involved in the engineering lifecycle. (2) Accountability on platform changes should be made more formal: planning and delivery to stakeholders. (3) Main stakeholders of the platform. (4) New stakeholder for golden path adaptations which should implement new platform features.
  • 34. 34 Conceptual design Informational viewpoint (1) Improve documentation and facilitate communication between platform and development teams.
  • 35. 35 Conceptual design Informational viewpoint (2) To enhance understanding of the platform and productivity of the development teams. (1) Improve documentation and facilitate communication between platform and development teams.
  • 36. 36 Conceptual design Informational viewpoint (3) Boost productivity, increase standardization and best practices, resulting in improved onboarding time (2) To enhance understanding of the platform and productivity of the development teams. (1) Improve documentation and facilitate communication between platform and development teams.
  • 37. 37 Conceptual design Informational viewpoint (4) Formal way for development teams to request new platform features.
  • 38. ● Currently we provision infra like databases. ● We might be able to provision applications? 38 Conceptual design Computational viewpoint
  • 40. 40 Conceptual design Technology viewpoint No developer portal as a central starting point for self service provisioning, docs, observability, software catalog, etc.
  • 41. 41 Conceptual design Technology viewpoint No developer portal as a central starting point for self service provisioning, docs, observability, software catalog, etc. The platform is not treated as 1 integrated product.
  • 42. By building a prototype in which we can experiment. How to validate platform engineering?
  • 43. ● Otomi ● Backstage 44 Technical implementation Architecture
  • 48. By experimenting! How to validate platform engineering?
  • 49. 50 What experiments did we design? Experiment 1 Does the platform improve productivity? Experiment 2 Is this something the developer community wants? Experiment 3 Is this doable in a production environment? performance analysis usability study expert feedback
  • 51. ● Use case ● Three tasks 1. Deploy react application to dev 2. Deploy nestjs application to prod 3. Gather logs and metrics of application in production Experiments Performance analysis
  • 52. ● Role ● Ease of use ● Platform task ratio Experiments Usability study easy difficult
  • 53. ● Role ● Ease of use ● Platform task ratio ● Likeable feature ● Recommendation Experiments Usability study
  • 54. ● Role ● Platform design ● Ease of use Experiments Platform experts feedback difficult easy
  • 55. ● Role ● Platform design ● Ease of use ● Applicability in organization ● Integration other systems ● Recommendation Experiments Platform experts feedback not applicable very applicable
  • 57. ● PE-RM to model platform engineering in the context of an organization ● Conceptual design guided by the PE-RM ● Technical implementation guided by the PE-RM ● Expose the added value and practical implementation of platform engineering ● Complexity of modelling a methodology (example: accountability) ● Organizational depended decisions 58 Conclusions Achievements
  • 58. RQ1: How to model platform engineering in the context of a software company? ● Platform Engineering Reference Model (PE-RM) ● Validation by case study 59 Conclusions Research questions
  • 59. RQ2: How to define a customized platform engineering design tailored to a specific organization? ● Conceptual design guided by the PE-RM 60 Conclusions Research questions
  • 60. RQ3: How to effectively construct a technical platform engineering implementation? ● Basic engineering platform implementation ● Validation with experiments ● Showcase added value of platform engineering 61 Conclusions Research questions
  • 61. Main research question: How can a software organization effectively integrate platform engineering using a comprehensive reference model? ● Platform Engineering Reference Model ● Case study validation 62 Conclusions Research questions
  • 62. ● Implement the reference model in a case study to measure the outcomes ● Case studies within different types of organizations ● NOTE: The field is new → changes could be needed 63 Conclusions Future work
  • 63. Paving the path towards platform engineering using a comprehensive reference model by Ruben van de Kamp Kees C. Bakker Zhiming Zhao

Editor's Notes

  1. KEES Paper is based on the master thesis of Ruben van de Kamp, investigating platform engineering at Wehkamp.
  2. KEES Recent graduate Master Software Engineering at the University of Amsterdam - - graduated with an honours Have been working for Wehkamp almost 4 years (Product Information team)
  3. KEES Explain path finder: Not only enterprise architecture Also way of working Turning strategy into delivery
  4. KEES First we’re going to give some context about Wehkamp and our engineering setup Then we’re going to look at platform engineering We’ll elaborate on our case study And we’ll share the conclusions
  5. KEES
  6. KEES WRG: Wehkamp Retail Group 3 webshops: Wehkamp, Kleertjes.com and Union River
  7. KEES Let’s focus on Wehkamp and some statistics Quite an operation
  8. KEES
  9. KEES How did we get here?
  10. KEES Article by The New Stack introducing Platform Engineering Had not heard about it yet It feels like a fit, we already use many tools in our container platform.
  11. KEES Golden paths feel like a fit Again, the fit is there: observability (logs, metrics) are 100% shared. Most services use a form of dependency injection and ORM that is not so different. So the main question is: How can we implement platform engineering? One way to start: get a graduate student to do some research! So here’s where Ruben comes in!
  12. RUBEN
  13. RUBEN Before we dive into the research we first want to give a short explanation of what platform engineering is and why it is important Platform to centralize and standardize tools Focusses on organization instead of team level
  14. RUBEN Main focus: How can platform engineering be implemented In order to give answer: 3 questions: How to model How to design guided by PE-RM How to implement guided by PE-RM
  15. RUBEN It can be concise: not a lot of research done. We have focussed on what reference models there are related to other methodologies: DevOps and Agile Focusses on team level and therefore not sufficient for platform engineering How to model a reference model: ODP-RM -> later will be explained
  16. RUBEN Many articles talking on what they believe platform engineering is White paper from humanitec -> reference architecture, but only focusses on technical implementation
  17. RUBEN ODP-RM → multiple viewpoints to give better understanding
  18. RUBEN Created with a iterative process where we interviewed different experts
  19. RUBEN First thing will be how the platform lifecycle will work, by introducing a platform it needs to have a lifecycle Two starting positions: no adoption, new features Lead to same lifecycle where platform is build
  20. RUBEN The existing development lifecycle will stay the same Platform engineering will have impact on provision of application domain that will help in development lifecycle
  21. RUBEN First talk about platform team Talk about development team and that they are stakeholders of the platform Development guild → important for golden paths Enterprise architects
  22. RUBEN Point out the platform version and golden paths Development guilds are maintaining these golden paths
  23. RUBEN Explain that the development team will create an application design and based on that they can come up with platform feature requests
  24. RUBEN Operations can be separated into two functionalities: getting applications in production and keeping applications in production Computational viewpoint is more difficult → can be different for each organisation Golden paths are essential in the translation of these operations The sequence diagram separates the different actors in planes which we will showcase in the engineering viewpoint Diagram link: https://app.diagrams.net/#G13CGjLkFYjmYsTMrY3XqGA_1XHfFMPVkd
  25. RUBEN Based on the Humanitec reference architecture since the separation of planes are valid Normally it is important to point out the objects and channels, but this way we can better translate into real world scenarios Developer Portal: one stop shop for self service
  26. RUBEN It depends on the organization and what tools they already use Brownfield project More focussed on the standardization and guidelines on what would be most suitable in this platform
  27. RUBEN It depends on the organization and what tools they already use Brownfield project More focussed on the standardization and guidelines on what would be most suitable in this platform
  28. KEES Nice overview by Ruben Let’s see how this matches at Wehkamp First we’ll create a conceptual design And than Ruben will guide us through a prototype to do some experiments so validate our model
  29. KEES Redefine roles Missing consultation structures: backlog management, planning, delivery sessions
  30. KEES Implementation of features Do’s or don’t – guard against excessive feature
  31. KEES
  32. KEES Now: users, eat what you get PE: stakeholder with influence
  33. KEES Golden path as a reference architecture Golden path as a jump start
  34. No formal delivery, poor versioning of the platform Individual tools are now versioned and communicated Platform should be one integrated product
  35. Measure effectiveness
  36. Missing golden paths
  37. Missing process to further do platform development from the dev team perspective Again: it is all about individual tools
  38. Less effort Standardize on default settings
  39. KEES Let’s add the tools to the boxes of the technology viewpoint Our tools fit very well within the model
  40. KEES No dev portal
  41. KEES The platform is not treated as 1 integrated product. Ruben wants to do some experiments We’re missing metrics Let’s get them from our pipelines / GitHub Ruben wants to do some experiments
  42. Ruben wants to do some experiments We’re missing metrics Let’s get them from our pipelines / GitHub
  43. RUBEN
  44. RUBEN We mainly used two open source tools from which we continued to implement the platform: Otomi: PaaS solution → helps to setup a lot of the tooling, however the configurations of the tooling and the way it all interacts as one implementation in this research had to be done manually Backstage: this is the main point of work, this linked everything together including templates etc.
  45. RUBEN In order to showcase the added value a platform will bring to the organization and development teams we have created a very based application lifecycle You will start with creating your application domain: Create repository Pipelines Maybe some boilerplating You will develop your application You want to update your domain by making deployment files You want to monitor you application
  46. RUBEN We have created golden paths that will have only one input: the application name It will do the following: Create your repository Create your CI/CD pipelines Create your docker registry Scaffold the application with best practices
  47. RUBEN When you want to deploy an application you can use a different golden path → setup deployment workload files This will take care of the following Create yaml files for argocd to deploy application Setup the docker image to the latest version that has been stored Update pipelines to automatically deploy when new version is released
  48. RUBEN Because the application are scaffolded in the golden paths they will all expose defaults metrics Use predefined dashboards to see the metrics
  49. RUBEN Now that we have created a prototype we can do some experiments to see if it actually has any effects
  50. RUBEN We did three experiments: Performance analysis: validate if it is actually helping developers Usability study: is this platform something that the developers want Expert feedback: is the implementation suitable within an organization Performance analysis and usability study are done in one experiment
  51. People from inside and outside the organization were asked Before we did the experiments we asked the participants to give an estimation on the time it would take them to deploy an entire application to production in which they already have the tools available, they only have to make the entire devops lifecycle Average: almost 7 hours
  52. The participants are divided into two categories: No tutorial: deploy react application to dev Tutorial: deploy nestjs application to Prod, but also dev Tutorial: gather logs and metrics of application in production The average time it took to get an application to production was around 22 minutes which is much lower than the average of almost 7 hours.
  53. After the tasks the participants were asked to fill in a questionnaire Role → different type of roles to get feedback from different experienced people Ease of use → accidentally reversed the scale, however the ease of use was pretty create, however the open questions suggests that the multiple ui’s made it more difficult Based on open questions a tutorial and documentation is very helpful especially when onboarding new developers Task ratio → the platform did almost all the tasks, which is exactly how the participants experienced the experiments
  54. Likeable feature → backstage and the golden paths, since it gave the developers an easier time setup their infrastructure Recommendation → everybody suggests to introduce this within their work
  55. IMPORTANT: tell about the fact that we first did a demo and discussion to give them the most information before the questionnaire Role → different types of roles, not on experience but more on the way they are located in the organization, different viewpoints Platform design → the design of the platform was great, both technical as well as functional Ease of use → they believe the platform is easy to use
  56. Applicability → not always very high → this was expected since each organization could have their own way of implementing things or have an existing tool set Integration with other systems → same thing, depends on the organization since green field projects is not likely Recommend → everybody would recommend the platform however Otomi is not always the best solution
  57. RUBEN Now that we have explained to you what we have done it is time to wrap things up and summarize our research
  58. RUBEN
  59. Now we only have created a reference model and validated it with a conceptual design and a separate prototype It would be better to implement it in a real organization and see the effect, but that will take time Case studies within more organizations to see if is applicable to a range of organizations The field is new, so it can change fast and therefore the reference model needs to be updated (if necessary) Although we have tried to keep it as general as possible
  60. KEES