SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Housekeeping
the platform
at scale
About me
Eugene Fidelin
Frontend Architect
at Marktplaats | Adevinta BNL
linkedin.com/in/eugef
medium.com/@EugeneFidelin
New ads per day
350K
Visits per day
6.5M
Hits per day
300-400M
Connected ads per day
100K
Marktplaats: Facts & Figures
With over 8 million unique visitors monthly and 18.7 million live ads at any given
time, Marktplaats is the largest trading platform in the Netherlands.
Vision
Product development teams at Marktplaats focus all their efforts on building
the product and nothing else.
Making it happen
We accelerate product development by providing the Frontend Platform:
set of services, tools, components and other resources to enable FE engineers to
effectively deliver secure, reliable and efficient software.
Used by development teams
8
to build services and libraries
40
60
15
that generate production releases per day
Frontend platform adoption
Team autonomy vs dev efficiency
Level of team autonomy
reusability reinventing the wheel
consistency fragmentation
dev support maintenance burden
Frontend Golden path
● Stack: most important technologies that are aligned
and shared across the teams.
● Information support: ADRs, TechRadar, best-practices,
Slack channel, PR reviews.
● Governance: Developed in collaboration with teams,
owned by the Platform org.
Teams can deviate but they have to pay extra costs!
Golden path -
opinionated and
supported path to
build something
Golden path stack
Client-side
● React setup
● Design System
● Translations
Server-side
● Express.js
middlewares
● React SSR
● API clients
● Observability tools
Build and deploy
● Webpack config
● TypeScript
● Eslint/Prettier
● Jest
● Node.js Docker
Keep teams up-to-date
● Dashboard with live overview of all services, inventory of
outdated dependencies on production.
● Automated dependency updates by Renovate.
● Timely security updates by Snyk.
● Batch fixes and improvements with codemods.
● Information support and developer assistance.
NCU dashboard. Services
NCU dashboard. Libraries
NCU dashboard. Dependencies
Automated dependency updates
● 24/7 updates for internal NPM packages and Docker
images.
● Bi-weekly updates for trusted 3rd-party NPM packages.
● Minor and patch updates are auto-merged when build is
green. PRs are only created if build fails.
● Major updates always result in a PR and won't be
auto-merged.
● NCU dashboard has overview of pending Renovate PRs
~6 hours to propagate new version to all the services and libraries.
Timely security updates
● Regular updates to fix vulnerabilities in open source
dependencies (direct and transitive).
● All updates always result in a PRs and are not auto-merged.
● For feature PRs run security check for newly added
dependencies.
Batch code changes
● Install/update/remove dependency(s).
● Apply custom jscodeshift codemod.
● Run Putout code transformations to fix code smells.
● Apply Prettier to format the source code.
● Run tests and update Jest snapshots.
● Create PR and optionally auto-merge it.
Codemod - write a
code to rewrite
your code.
Information support
● ADRs - capture an important architectural decisions
made along with its context and consequences.
● Tech Radar - list of Techniques, Tools, Platforms,
Language & frameworks we observe: currently used,
tested, under research or put on hold.
● Dev assistance - Slack channel to provide immediate
help and support. PR reviews to give feedback and
guidance.
Key takeaways
1. Align
the most important
technologies across the
teams to define the
Golden path.
2. Automate
dependency updates,
security fixes and roll
out of the platform
improvements.
3. Accelerate
the teams by reducing
the maintenance
burden and providing
support.
Credits
Articles:
● How We Use Golden Paths to Solve Fragmentation in Our Software Ecosystem
● Software Sprawl, The Golden Path, and Scaling Teams With Agency
Images:
● Cover image by pikisuperstar on Freepik
● Robot images by macrovector on Freepik

Más contenido relacionado

Similar a Housekeeping the platform at scale

Automated Deployment in Support of Continuous Integration to Transform SDLC
Automated Deployment in Support of Continuous Integration to Transform SDLCAutomated Deployment in Support of Continuous Integration to Transform SDLC
Automated Deployment in Support of Continuous Integration to Transform SDLCDerek Chang
 
V2STech Corporate presentation for Software Product Development
V2STech Corporate presentation for Software Product DevelopmentV2STech Corporate presentation for Software Product Development
V2STech Corporate presentation for Software Product DevelopmentV2STech Solutions Private limited
 
Protech Presentation
Protech PresentationProtech Presentation
Protech PresentationProtech
 
Kavaskar_LatestResume
Kavaskar_LatestResumeKavaskar_LatestResume
Kavaskar_LatestResumeKavaskar Kava
 
Windows DNA
Windows DNAWindows DNA
Windows DNAijtsrd
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyICS
 
How open source empowers startups to start big, with case Double Open Oy
How open source empowers startups to start big, with case Double Open OyHow open source empowers startups to start big, with case Double Open Oy
How open source empowers startups to start big, with case Double Open OyMindtrek
 
System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0Pankesh Patel
 
Acollada Software Development - helping you create innovative, cost effective...
Acollada Software Development - helping you create innovative, cost effective...Acollada Software Development - helping you create innovative, cost effective...
Acollada Software Development - helping you create innovative, cost effective...TotalSoft
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingSameerShaik43
 
BitCraft 2017 general presentation
BitCraft 2017 general presentationBitCraft 2017 general presentation
BitCraft 2017 general presentationMichal Wasilewski
 
Software Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsSoftware Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsPankesh Patel
 
How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?Polyxer Systems
 
NeXT company presentation
NeXT company presentationNeXT company presentation
NeXT company presentationnextsrl
 
How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis Perforce
 
Harnessing the Power of Computer Vision and Deep Learning
Harnessing the Power of Computer Vision and  Deep LearningHarnessing the Power of Computer Vision and  Deep Learning
Harnessing the Power of Computer Vision and Deep LearningDusko Rakin
 
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersSummit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersOPNFV
 
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityAndreas Grabner
 
Software Application Development - Advantix Technolgoies
Software Application Development - Advantix TechnolgoiesSoftware Application Development - Advantix Technolgoies
Software Application Development - Advantix TechnolgoiesManojkumar Govindasamy
 

Similar a Housekeeping the platform at scale (20)

Automated Deployment in Support of Continuous Integration to Transform SDLC
Automated Deployment in Support of Continuous Integration to Transform SDLCAutomated Deployment in Support of Continuous Integration to Transform SDLC
Automated Deployment in Support of Continuous Integration to Transform SDLC
 
V2STech Corporate presentation for Software Product Development
V2STech Corporate presentation for Software Product DevelopmentV2STech Corporate presentation for Software Product Development
V2STech Corporate presentation for Software Product Development
 
Software product development services
Software product development servicesSoftware product development services
Software product development services
 
Protech Presentation
Protech PresentationProtech Presentation
Protech Presentation
 
Kavaskar_LatestResume
Kavaskar_LatestResumeKavaskar_LatestResume
Kavaskar_LatestResume
 
Windows DNA
Windows DNAWindows DNA
Windows DNA
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
 
How open source empowers startups to start big, with case Double Open Oy
How open source empowers startups to start big, with case Double Open OyHow open source empowers startups to start big, with case Double Open Oy
How open source empowers startups to start big, with case Double Open Oy
 
System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0System and Software Engineering for Industry 4.0
System and Software Engineering for Industry 4.0
 
Acollada Software Development - helping you create innovative, cost effective...
Acollada Software Development - helping you create innovative, cost effective...Acollada Software Development - helping you create innovative, cost effective...
Acollada Software Development - helping you create innovative, cost effective...
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programming
 
BitCraft 2017 general presentation
BitCraft 2017 general presentationBitCraft 2017 general presentation
BitCraft 2017 general presentation
 
Software Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsSoftware Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 Applications
 
How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?
 
NeXT company presentation
NeXT company presentationNeXT company presentation
NeXT company presentation
 
How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis
 
Harnessing the Power of Computer Vision and Deep Learning
Harnessing the Power of Computer Vision and  Deep LearningHarnessing the Power of Computer Vision and  Deep Learning
Harnessing the Power of Computer Vision and Deep Learning
 
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersSummit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
 
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
 
Software Application Development - Advantix Technolgoies
Software Application Development - Advantix TechnolgoiesSoftware Application Development - Advantix Technolgoies
Software Application Development - Advantix Technolgoies
 

Más de Eugene Fidelin

Testing: Do More With Less
Testing: Do More With LessTesting: Do More With Less
Testing: Do More With LessEugene Fidelin
 
Node.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontendsNode.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontendsEugene Fidelin
 
Node.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontendsNode.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontendsEugene Fidelin
 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practiceEugene Fidelin
 
Безопасность Drupal сайтов
Безопасность Drupal сайтовБезопасность Drupal сайтов
Безопасность Drupal сайтовEugene Fidelin
 
Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.Eugene Fidelin
 
Работа с Views в Drupal 7
Работа с Views в Drupal 7Работа с Views в Drupal 7
Работа с Views в Drupal 7Eugene Fidelin
 
Работа с полями (fields) в Drupal 7
Работа с полями (fields) в Drupal 7Работа с полями (fields) в Drupal 7
Работа с полями (fields) в Drupal 7Eugene Fidelin
 
Работа с материалами (nodes) в Drupal 7
Работа с материалами (nodes) в Drupal 7Работа с материалами (nodes) в Drupal 7
Работа с материалами (nodes) в Drupal 7Eugene Fidelin
 
Работа с БД в Drupal 7
Работа с БД в Drupal 7Работа с БД в Drupal 7
Работа с БД в Drupal 7Eugene Fidelin
 
Фичи н-н-нада? Или почему стоит использовать модуль Features.
Фичи н-н-нада? Или почему стоит использовать модуль Features.Фичи н-н-нада? Или почему стоит использовать модуль Features.
Фичи н-н-нада? Или почему стоит использовать модуль Features.Eugene Fidelin
 

Más de Eugene Fidelin (12)

Testing: Do More With Less
Testing: Do More With LessTesting: Do More With Less
Testing: Do More With Less
 
Node.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontendsNode.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontends
 
Node.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontendsNode.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontends
 
AngularJS in practice
AngularJS in practiceAngularJS in practice
AngularJS in practice
 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practice
 
Безопасность Drupal сайтов
Безопасность Drupal сайтовБезопасность Drupal сайтов
Безопасность Drupal сайтов
 
Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.Разработка и deploy Drupal сайтов с помощью Features.
Разработка и deploy Drupal сайтов с помощью Features.
 
Работа с Views в Drupal 7
Работа с Views в Drupal 7Работа с Views в Drupal 7
Работа с Views в Drupal 7
 
Работа с полями (fields) в Drupal 7
Работа с полями (fields) в Drupal 7Работа с полями (fields) в Drupal 7
Работа с полями (fields) в Drupal 7
 
Работа с материалами (nodes) в Drupal 7
Работа с материалами (nodes) в Drupal 7Работа с материалами (nodes) в Drupal 7
Работа с материалами (nodes) в Drupal 7
 
Работа с БД в Drupal 7
Работа с БД в Drupal 7Работа с БД в Drupal 7
Работа с БД в Drupal 7
 
Фичи н-н-нада? Или почему стоит использовать модуль Features.
Фичи н-н-нада? Или почему стоит использовать модуль Features.Фичи н-н-нада? Или почему стоит использовать модуль Features.
Фичи н-н-нада? Или почему стоит использовать модуль Features.
 

Último

UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 

Último (20)

UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 

Housekeeping the platform at scale

  • 2. About me Eugene Fidelin Frontend Architect at Marktplaats | Adevinta BNL linkedin.com/in/eugef medium.com/@EugeneFidelin
  • 3. New ads per day 350K Visits per day 6.5M Hits per day 300-400M Connected ads per day 100K Marktplaats: Facts & Figures With over 8 million unique visitors monthly and 18.7 million live ads at any given time, Marktplaats is the largest trading platform in the Netherlands.
  • 4. Vision Product development teams at Marktplaats focus all their efforts on building the product and nothing else. Making it happen We accelerate product development by providing the Frontend Platform: set of services, tools, components and other resources to enable FE engineers to effectively deliver secure, reliable and efficient software.
  • 5. Used by development teams 8 to build services and libraries 40 60 15 that generate production releases per day Frontend platform adoption
  • 6. Team autonomy vs dev efficiency Level of team autonomy reusability reinventing the wheel consistency fragmentation dev support maintenance burden
  • 7. Frontend Golden path ● Stack: most important technologies that are aligned and shared across the teams. ● Information support: ADRs, TechRadar, best-practices, Slack channel, PR reviews. ● Governance: Developed in collaboration with teams, owned by the Platform org. Teams can deviate but they have to pay extra costs! Golden path - opinionated and supported path to build something
  • 8. Golden path stack Client-side ● React setup ● Design System ● Translations Server-side ● Express.js middlewares ● React SSR ● API clients ● Observability tools Build and deploy ● Webpack config ● TypeScript ● Eslint/Prettier ● Jest ● Node.js Docker
  • 9. Keep teams up-to-date ● Dashboard with live overview of all services, inventory of outdated dependencies on production. ● Automated dependency updates by Renovate. ● Timely security updates by Snyk. ● Batch fixes and improvements with codemods. ● Information support and developer assistance.
  • 13. Automated dependency updates ● 24/7 updates for internal NPM packages and Docker images. ● Bi-weekly updates for trusted 3rd-party NPM packages. ● Minor and patch updates are auto-merged when build is green. PRs are only created if build fails. ● Major updates always result in a PR and won't be auto-merged. ● NCU dashboard has overview of pending Renovate PRs ~6 hours to propagate new version to all the services and libraries.
  • 14. Timely security updates ● Regular updates to fix vulnerabilities in open source dependencies (direct and transitive). ● All updates always result in a PRs and are not auto-merged. ● For feature PRs run security check for newly added dependencies.
  • 15. Batch code changes ● Install/update/remove dependency(s). ● Apply custom jscodeshift codemod. ● Run Putout code transformations to fix code smells. ● Apply Prettier to format the source code. ● Run tests and update Jest snapshots. ● Create PR and optionally auto-merge it. Codemod - write a code to rewrite your code.
  • 16. Information support ● ADRs - capture an important architectural decisions made along with its context and consequences. ● Tech Radar - list of Techniques, Tools, Platforms, Language & frameworks we observe: currently used, tested, under research or put on hold. ● Dev assistance - Slack channel to provide immediate help and support. PR reviews to give feedback and guidance.
  • 17. Key takeaways 1. Align the most important technologies across the teams to define the Golden path. 2. Automate dependency updates, security fixes and roll out of the platform improvements. 3. Accelerate the teams by reducing the maintenance burden and providing support.
  • 18. Credits Articles: ● How We Use Golden Paths to Solve Fragmentation in Our Software Ecosystem ● Software Sprawl, The Golden Path, and Scaling Teams With Agency Images: ● Cover image by pikisuperstar on Freepik ● Robot images by macrovector on Freepik