Micro-frontends – is it a
new normal?
• Maksym Bielkin
• Delivery Manager & JavaScript Team Lead
• 10+ years in IT
• Father of 3 sons
Introduction
• Web applications architecture overview
• Micro-frontend approach
• How to start
• Communication and sharing
• Monorepo vs Multirepo
• Our way
Agenda
“Software architecture is those decisions which are both
important and hard to change”
Martin Fowler
Software Architecture
~2000th – Era of Full-stack
Example
~2010th – Era of Single Responsibility
Micro-frontends – is it a new normal?
Nowadays - Microservices
Microservices - also known as the microservice architecture - is an
architectural style that structures an application as a collection of
services that are:
What are Microservices?
https://microservices.io/
• Highly maintainable and testable
• Loosely coupled
• Independently deployable
• Organized around business capabilities
• Owned by a small team
What are Micro-frontends then?
• Techniques, strategies and recipes for building a modern
web-app with multiple teams using different JavaScript
frameworks
• An architectural style where independently deliverable
frontend applications are composed into a greater whole
• Collection of features for a web-app which have being owned
by different teams with different stacks of technologies.
Newest History
What is the point?
Who already uses micro-frontends?
• Google
• Microsoft
• Facebook
• IKEA
• Upwork
• Spotify
• Starbucks
• Leroy Merlin
• ….
Interesting Fact
Advantages
• Being technology agnostic
• Loosely coupled applications
• Independently deployable
• Owned by a small team
• Faster and more reliable release cycles
Disadvantages?
• Development mind change
• Compexity
• No standard yet – the bunch of options
• Not so popular yet
• Extra-complication of the code for integration
• Being technology agnostic – possible overhead
When to use Micro-frontends?
• Complex business logic in the current monolith frontend
• Distributed teams
• When need to restructure your legacy systems
• 5+ small apps to be shown on the same page
Micro-frontends General Concepts
• Application shell
• Micro-frontend application
• Event-bus
Event-Bus
• postMessages
• Custom events
• RxJS
How to Add Micro-frontend to the App?
• Build-time integration
• Iframes
• Webpack Module Federation
• Web Components
• …
Build-time Integration
• Each micro-frontend is a package
• Package is integrated to the Application Shell
• Application is built and deployed
Iframes
• The fastest way
• Absolute isolation
• Sharing data between applications are more challangeable
• Sharing cookies and styles have some restrictions
• Performance could suffer
Webpack Module Federation
• Sharing the code with different applications
• Uses webpack-builds
https://webpack.js.org/concepts/module-federation/
Web Components. Custom elements
https://medium.com/swlh/micro-frontend-using-web-components-e9faacfc101b
Micro-frontends – is it a new normal?
Micro-frontends – is it a new normal?
How to split your Monolith?
Monorepo vs Multirepo
• Monorepo
• Single repository
• Additional agreements
• Popular practice
• Multirepo
• Many repositories
• Normal style of work
• Additional actions to deploy (import maps)
Import maps
The Way We Chose
• Initials
• Huge legacy project (10+ years in background)
• Several indepentent apps integrated
• 3 teams involved
• ~500k JS lines
• Decision
• Micro-frontends with app shell
• Multirepos
• Shared components library
• Webpack Module Federation
Conclusion
✅ Try to create autonomous teams.
✅ Try to arrange your Micro-Frontends around business functionality.
✅ Reusability is a nice “side effect” not the target.
❌ Don’t Force this architectural style just because it is “new”.
❌ You don’t need multiple JavaScript frameworks.
❌ You don’t need a “micro-frontend framework”.
❌ Micro-Frontends don’t have to be “micro”.
Micro-frontends approach is not a silver bullet
but a really powerful tool
Thank You!

More Related Content

PDF
Micro frontends
PDF
Mikrofrontend a Module Federation
PDF
Micro Frontends
PPTX
Micro frontend architecture_presentation_ssoni
PDF
Micro Frontends Architecture - Jitendra kumawat (Guavus)
PDF
FEVR - Micro Frontend
PDF
"Micro-frontends, web development", Oleksandr Khivrych
PPTX
Micro frontends
Mikrofrontend a Module Federation
Micro Frontends
Micro frontend architecture_presentation_ssoni
Micro Frontends Architecture - Jitendra kumawat (Guavus)
FEVR - Micro Frontend
"Micro-frontends, web development", Oleksandr Khivrych

What's hot (20)

PDF
Micro Frontends Architecture
PPTX
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
PDF
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
PPTX
Micro-Frontend Architecture
PPTX
Introduction To Micro Frontends
PDF
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
PDF
State of Micro Frontend
PDF
How to build Micro Frontends with @angular/elements
PPTX
Shift Remote FRONTEND: Micro Frontend Architecture: A Look Into the Future - ...
PPTX
Micro frontend
PPTX
Micro Frontends.pptx
PDF
Micro Frontends
PPTX
Micro Frontends: Rompiendo el monolito en las aplicaciones Web
PPTX
Microfrontends Monoreops & Trunkbased based
PPTX
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
PPTX
Building applications in a Micro-frontends way
PPTX
Micro Front-End & Microservices - Plansoft
PPTX
Microservice vs. Monolithic Architecture
PPTX
Introduction To Microservices
PDF
Microservices architecture
Micro Frontends Architecture
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Micro-Frontend Architecture
Introduction To Micro Frontends
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
State of Micro Frontend
How to build Micro Frontends with @angular/elements
Shift Remote FRONTEND: Micro Frontend Architecture: A Look Into the Future - ...
Micro frontend
Micro Frontends.pptx
Micro Frontends
Micro Frontends: Rompiendo el monolito en las aplicaciones Web
Microfrontends Monoreops & Trunkbased based
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Building applications in a Micro-frontends way
Micro Front-End & Microservices - Plansoft
Microservice vs. Monolithic Architecture
Introduction To Microservices
Microservices architecture
Ad

Similar to Micro-frontends – is it a new normal? (20)

PDF
Understanding Microservices
PDF
Microservice Approach for Web Development with Micro Frontends
PPTX
Serverless microservices
PPTX
MICROSERVICES ARCHITECTURE unit -2.pptx
PPTX
ThatConference 2016 - Highly Available Node.js
PPTX
Transforming to Microservices
PPTX
Unit No. II Architecture.pptx Cloud Microservices & Application
PPTX
The Overview of Microservices Architecture
PPTX
Alfresco Summit 2014 - Crafter CMS - Case European Bank
PPTX
Microservice intro
PDF
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
PPTX
MicroserviceArchitecture in detail over Monolith.
PPTX
High performance web sites with multilevel caching
PDF
Angular Or React – Don’t Roll The Dice
PPTX
Microservices: Yes or not?
PPTX
Mobile app-and-microservices-with-ibm-cloud
PPTX
DerbyDev_ModMonolith_290323.pptx
PPTX
Microservices
PPTX
From Monolithic to Microservices in 45 Minutes
PDF
[WSO2Con EU 2017] Microservices for Enterprises
Understanding Microservices
Microservice Approach for Web Development with Micro Frontends
Serverless microservices
MICROSERVICES ARCHITECTURE unit -2.pptx
ThatConference 2016 - Highly Available Node.js
Transforming to Microservices
Unit No. II Architecture.pptx Cloud Microservices & Application
The Overview of Microservices Architecture
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Microservice intro
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
MicroserviceArchitecture in detail over Monolith.
High performance web sites with multilevel caching
Angular Or React – Don’t Roll The Dice
Microservices: Yes or not?
Mobile app-and-microservices-with-ibm-cloud
DerbyDev_ModMonolith_290323.pptx
Microservices
From Monolithic to Microservices in 45 Minutes
[WSO2Con EU 2017] Microservices for Enterprises
Ad

More from Lohika_Odessa_TechTalks (20)

PPTX
OAuth2 Authorization Server Under the Hood
PPTX
Debugging Microservices - key challenges and techniques - Microservices Odesa...
PPTX
Design and Evolution of APIs in Microservice Architecture
PPTX
Multithreading in go
PPTX
Druid - Interactive Analytics At Scale
PDF
DevOps Odessa #TechTalks 21.01.2020
PPTX
Jenkins' shared libraries in action
PPTX
Prometheus: infrastructure and application monitoring in kubernetes cluster
PPT
Architectural peripherals of react by Vadym Zhiltsov
PPTX
React native by example by Vadim Ruban
PPTX
Aws lambda by Leonid Amigud
PPT
Congratulations, you have been promoted to a manager role. You`ve got new pro...
PPT
"Don't touch me and give me my money" or how motivate people who can but don...
PPTX
Docker based Architecture by Denys Serdiuk
PPTX
SparkSpark in the Big Data dark by Sergey Levandovskiy
PPT
Burnout and how to avoid it in your team. Responsible person's issue by Andre...
PPTX
Performance evaluation process as a way to empower your employees and help th...
PPT
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
PPT
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
PPT
"WEB applications security testing" by Kirill Semenov for Lohika Odessa QA Te...
OAuth2 Authorization Server Under the Hood
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Design and Evolution of APIs in Microservice Architecture
Multithreading in go
Druid - Interactive Analytics At Scale
DevOps Odessa #TechTalks 21.01.2020
Jenkins' shared libraries in action
Prometheus: infrastructure and application monitoring in kubernetes cluster
Architectural peripherals of react by Vadym Zhiltsov
React native by example by Vadim Ruban
Aws lambda by Leonid Amigud
Congratulations, you have been promoted to a manager role. You`ve got new pro...
"Don't touch me and give me my money" or how motivate people who can but don...
Docker based Architecture by Denys Serdiuk
SparkSpark in the Big Data dark by Sergey Levandovskiy
Burnout and how to avoid it in your team. Responsible person's issue by Andre...
Performance evaluation process as a way to empower your employees and help th...
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalks
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
"WEB applications security testing" by Kirill Semenov for Lohika Odessa QA Te...

Recently uploaded (20)

PDF
The influence of sentiment analysis in enhancing early warning system model f...
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Consumable AI The What, Why & How for Small Teams.pdf
DOCX
search engine optimization ppt fir known well about this
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Statistics on Ai - sourced from AIPRM.pdf
PPTX
Internet of Everything -Basic concepts details
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
Auditboard EB SOX Playbook 2023 edition.
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
The influence of sentiment analysis in enhancing early warning system model f...
Module 1 Introduction to Web Programming .pptx
Consumable AI The What, Why & How for Small Teams.pdf
search engine optimization ppt fir known well about this
sbt 2.0: go big (Scala Days 2025 edition)
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Improvisation in detection of pomegranate leaf disease using transfer learni...
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
Convolutional neural network based encoder-decoder for efficient real-time ob...
Statistics on Ai - sourced from AIPRM.pdf
Internet of Everything -Basic concepts details
giants, standing on the shoulders of - by Daniel Stenberg
Rapid Prototyping: A lecture on prototyping techniques for interface design
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Co-training pseudo-labeling for text classification with support vector machi...
Auditboard EB SOX Playbook 2023 edition.
Build Your First AI Agent with UiPath.pptx
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Custom Battery Pack Design Considerations for Performance and Safety
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf

Micro-frontends – is it a new normal?

  • 1. Micro-frontends – is it a new normal?
  • 2. • Maksym Bielkin • Delivery Manager & JavaScript Team Lead • 10+ years in IT • Father of 3 sons Introduction
  • 3. • Web applications architecture overview • Micro-frontend approach • How to start • Communication and sharing • Monorepo vs Multirepo • Our way Agenda
  • 4. “Software architecture is those decisions which are both important and hard to change” Martin Fowler Software Architecture
  • 5. ~2000th – Era of Full-stack
  • 7. ~2010th – Era of Single Responsibility
  • 10. Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are: What are Microservices? https://microservices.io/ • Highly maintainable and testable • Loosely coupled • Independently deployable • Organized around business capabilities • Owned by a small team
  • 11. What are Micro-frontends then? • Techniques, strategies and recipes for building a modern web-app with multiple teams using different JavaScript frameworks • An architectural style where independently deliverable frontend applications are composed into a greater whole • Collection of features for a web-app which have being owned by different teams with different stacks of technologies.
  • 13. What is the point?
  • 14. Who already uses micro-frontends? • Google • Microsoft • Facebook • IKEA • Upwork • Spotify • Starbucks • Leroy Merlin • ….
  • 16. Advantages • Being technology agnostic • Loosely coupled applications • Independently deployable • Owned by a small team • Faster and more reliable release cycles
  • 17. Disadvantages? • Development mind change • Compexity • No standard yet – the bunch of options • Not so popular yet • Extra-complication of the code for integration • Being technology agnostic – possible overhead
  • 18. When to use Micro-frontends? • Complex business logic in the current monolith frontend • Distributed teams • When need to restructure your legacy systems • 5+ small apps to be shown on the same page
  • 19. Micro-frontends General Concepts • Application shell • Micro-frontend application • Event-bus
  • 21. How to Add Micro-frontend to the App? • Build-time integration • Iframes • Webpack Module Federation • Web Components • …
  • 22. Build-time Integration • Each micro-frontend is a package • Package is integrated to the Application Shell • Application is built and deployed
  • 23. Iframes • The fastest way • Absolute isolation • Sharing data between applications are more challangeable • Sharing cookies and styles have some restrictions • Performance could suffer
  • 24. Webpack Module Federation • Sharing the code with different applications • Uses webpack-builds https://webpack.js.org/concepts/module-federation/
  • 25. Web Components. Custom elements https://medium.com/swlh/micro-frontend-using-web-components-e9faacfc101b
  • 28. How to split your Monolith?
  • 29. Monorepo vs Multirepo • Monorepo • Single repository • Additional agreements • Popular practice • Multirepo • Many repositories • Normal style of work • Additional actions to deploy (import maps)
  • 31. The Way We Chose • Initials • Huge legacy project (10+ years in background) • Several indepentent apps integrated • 3 teams involved • ~500k JS lines • Decision • Micro-frontends with app shell • Multirepos • Shared components library • Webpack Module Federation
  • 32. Conclusion ✅ Try to create autonomous teams. ✅ Try to arrange your Micro-Frontends around business functionality. ✅ Reusability is a nice “side effect” not the target. ❌ Don’t Force this architectural style just because it is “new”. ❌ You don’t need multiple JavaScript frameworks. ❌ You don’t need a “micro-frontend framework”. ❌ Micro-Frontends don’t have to be “micro”. Micro-frontends approach is not a silver bullet but a really powerful tool