SlideShare ist ein Scribd-Unternehmen logo
1 von 20
13 Feb 2020
Eugene Fidelin
Node.js BFFs
our way to better/micro
frontends
Micro frontends
mFs - an architectural style where independently
deliverable frontend applications are composed
into a greater whole
Micro frontends
Cam Jakson, ThoughtWorks
How to compose mFs
Without container app
• HTTP server routing to redirect multiple frontends
With container app
• Server-side template composition
• Client-side integration via iframes
• Client-side integration via JavaScript
• Client-side integration via Web Components
Micro frontends and BFFs
BFF – a pattern where each frontend application
has a corresponding backend whose purpose is
solely to serve the needs of that frontend
• authentication/authorization
• a/b experiments setup
• data fetching and aggregation
• server-side rendering
Micro frontends and BFFs
Cam Jakson, ThoughtWorks
Where we were 2 years ago
� Huge monolithic frontends tightly coupled with backend services
� No clear ownership of the frontend codebase
� Business logic in the view layer
� No support for multiple tenants and languages
� Fragile builds because of huge amount of e2e tests
� Very long time to market
� Very old JavaScript stack
� Minimal developer happiness
Where we are now
✅ > 20 small BFFs tailored to a specific step(s) of a user journey
✅ Each BFF is owned by a specific team
✅ Backend APIs don’t leak business logic to BFFs
✅ Support for multiple tenants and languages
✅ Stable builds due to more unit and integration tests and less e2e tests.
✅ Short time to market
✅ Modern JS and frameworks on the server and client
✅ Higher developer happiness and productivity 
Architectural changes
Zoom into BFF
Developer experience
• BFFs can easily run locally, no hard dependencies on other services
• Able to use APIs from any environment: int, demo, dev-tenant or local
• Frontend developers write both server and client
• Swagger is the contract between BFFs and APIs
• Plenty of ready-to-use internal libraries and components
• Styling is provided by Design System
Code share and reuse
• Design System
• common styles, fonts and images
• React components
• atoms and molecules (Buttons, Dialogs, …)
• organisms (Header & Footer)
• Server instrastructure code
• middlewares
• API clients
• HTML rendering
• metrics, logging and tracing
Testing strategy
Jest, react-test-renderer
Mocha, Chai, Sinon
Jest snapshots
Cypress.io (wip)
Seleniume2e
Mock API
QATestLab
Stage of the
Docker build
Build and deploy
• Shared build config (Webpack, Babel, eslint, …)
• Automated dependecy updates
• Automated builds for master and PR
• Shared multi-stage Docker build
• Feature switches and a/b switches
• Canary releases
• One-click production rollback
Scale and performance
• Frontend app uses only its own BFF (1 exception)
• CDN to serve static resources
• SSR only for bots and app shell
• Run calls to BE APIs in parallel
• Smart load balancing of BE API calls
• Keep BFFs small
• Scale by increasing number of instances
Alerting & Monitoring
Server:
• Access and error logs in Kibana
• Metrics in Graphana
• Node.js event loop and garbage collector
• Response status and latency
• Tracing in Jaeger
• Profile and monitor distributed platform
Client:
• Error logs in Sentry
How we make decisions
ADRs – capture an important architectural decisions made along with its
context and consequences.
TechRadar – list of technologies we observe: currently used, tested,
under research or put on hold. The list has four major categories:
Techniques, Tools, Platforms, Language & frameworks.
Frontend guild – supports close collaboration and knowledge sharing
among all frontend developers.
 Pros
+huge improvement on time-to-
market for product features
+smaller, more isolated and
maintainable codebases
+more scalable organisation with
decoupled, autonomous teams
+the ability to update or rewrite
parts of the frontend in a more
incremental fashion
−duplication of dependencies and
increasing the number of bytes
the users must download
−team autonomy can lead to
platform fragmentation and
inconsistent codebases
−struggle to keep all frontends
up-to-date
−CI/CD pipeline performance
becomes a bottleneck
 Cons
Usefull links
• Micro Frontends (Cam Jackson)
• Pattern: Backends For Frontends (Sam Newman)
• Micro-frontend Architecture in Action with six ways (Phodal Huang)
• Micro-frontends resources (Luca Mezzalira)
Thank you!
Eugene Fidelin
linkedin.com/in/eugef
medium.com/@EugeneFidelin

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Meetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOpsMeetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOps
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 
Why Kubernetes on Azure
Why Kubernetes on AzureWhy Kubernetes on Azure
Why Kubernetes on Azure
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Micro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoniMicro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoni
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Azure DevOps & GitHub... Better Together!
Azure DevOps & GitHub... Better Together!Azure DevOps & GitHub... Better Together!
Azure DevOps & GitHub... Better Together!
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry ServiceAzure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
 
Delivering: from Kafka to WebSockets | Adam Warski, SoftwareMill
Delivering: from Kafka to WebSockets | Adam Warski, SoftwareMillDelivering: from Kafka to WebSockets | Adam Warski, SoftwareMill
Delivering: from Kafka to WebSockets | Adam Warski, SoftwareMill
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Introduction to jest
Introduction to jestIntroduction to jest
Introduction to jest
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 

Ähnlich wie Node.js BFFs: our way to better/micro frontends

Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum Slides
Abhishek Gupta
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao Behara
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao Behara
 
Itp web application development
Itp web application developmentItp web application development
Itp web application development
Shibu S R
 

Ähnlich wie Node.js BFFs: our way to better/micro frontends (20)

Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016
 
Manikanta_Chimata
Manikanta_ChimataManikanta_Chimata
Manikanta_Chimata
 
Chalam_JAVA_Portal
Chalam_JAVA_PortalChalam_JAVA_Portal
Chalam_JAVA_Portal
 
Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!
 
Resume
ResumeResume
Resume
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum Slides
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_Webservice
 
Ramarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_WebserviceRamarao_US_NewNumber_Promatrix_Webservice
Ramarao_US_NewNumber_Promatrix_Webservice
 
Devendra_SrJavaJ2eeDeveloper
Devendra_SrJavaJ2eeDeveloperDevendra_SrJavaJ2eeDeveloper
Devendra_SrJavaJ2eeDeveloper
 
Case Study: USDA Maximizing Collaboration with NetBeans and Codebeamer
Case Study: USDA Maximizing Collaboration with NetBeans and CodebeamerCase Study: USDA Maximizing Collaboration with NetBeans and Codebeamer
Case Study: USDA Maximizing Collaboration with NetBeans and Codebeamer
 
Venkata
VenkataVenkata
Venkata
 
Itp web application development
Itp web application developmentItp web application development
Itp web application development
 
Resume_Venugopal
Resume_VenugopalResume_Venugopal
Resume_Venugopal
 
Sai_Resume
Sai_ResumeSai_Resume
Sai_Resume
 
Saravanan_Sundaresan_ESB_ATG
Saravanan_Sundaresan_ESB_ATGSaravanan_Sundaresan_ESB_ATG
Saravanan_Sundaresan_ESB_ATG
 
Product Camp Silicon Valley 2018 - PM Technical Skills
Product Camp Silicon Valley 2018 - PM Technical SkillsProduct Camp Silicon Valley 2018 - PM Technical Skills
Product Camp Silicon Valley 2018 - PM Technical Skills
 

Mehr von Eugene Fidelin

Mehr von Eugene Fidelin (11)

Testing: Do More With Less
Testing: Do More With LessTesting: Do More With Less
Testing: Do More With Less
 
Housekeeping the platform at scale
Housekeeping the platform at scaleHousekeeping the platform at scale
Housekeeping the platform at scale
 
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.
 

Kürzlich hochgeladen

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Kürzlich hochgeladen (20)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Node.js BFFs: our way to better/micro frontends

  • 1. 13 Feb 2020 Eugene Fidelin Node.js BFFs our way to better/micro frontends
  • 2. Micro frontends mFs - an architectural style where independently deliverable frontend applications are composed into a greater whole
  • 4. How to compose mFs Without container app • HTTP server routing to redirect multiple frontends With container app • Server-side template composition • Client-side integration via iframes • Client-side integration via JavaScript • Client-side integration via Web Components
  • 5. Micro frontends and BFFs BFF – a pattern where each frontend application has a corresponding backend whose purpose is solely to serve the needs of that frontend • authentication/authorization • a/b experiments setup • data fetching and aggregation • server-side rendering
  • 6. Micro frontends and BFFs Cam Jakson, ThoughtWorks
  • 7. Where we were 2 years ago � Huge monolithic frontends tightly coupled with backend services � No clear ownership of the frontend codebase � Business logic in the view layer � No support for multiple tenants and languages � Fragile builds because of huge amount of e2e tests � Very long time to market � Very old JavaScript stack � Minimal developer happiness
  • 8. Where we are now ✅ > 20 small BFFs tailored to a specific step(s) of a user journey ✅ Each BFF is owned by a specific team ✅ Backend APIs don’t leak business logic to BFFs ✅ Support for multiple tenants and languages ✅ Stable builds due to more unit and integration tests and less e2e tests. ✅ Short time to market ✅ Modern JS and frameworks on the server and client ✅ Higher developer happiness and productivity 
  • 11. Developer experience • BFFs can easily run locally, no hard dependencies on other services • Able to use APIs from any environment: int, demo, dev-tenant or local • Frontend developers write both server and client • Swagger is the contract between BFFs and APIs • Plenty of ready-to-use internal libraries and components • Styling is provided by Design System
  • 12. Code share and reuse • Design System • common styles, fonts and images • React components • atoms and molecules (Buttons, Dialogs, …) • organisms (Header & Footer) • Server instrastructure code • middlewares • API clients • HTML rendering • metrics, logging and tracing
  • 13. Testing strategy Jest, react-test-renderer Mocha, Chai, Sinon Jest snapshots Cypress.io (wip) Seleniume2e Mock API QATestLab Stage of the Docker build
  • 14. Build and deploy • Shared build config (Webpack, Babel, eslint, …) • Automated dependecy updates • Automated builds for master and PR • Shared multi-stage Docker build • Feature switches and a/b switches • Canary releases • One-click production rollback
  • 15. Scale and performance • Frontend app uses only its own BFF (1 exception) • CDN to serve static resources • SSR only for bots and app shell • Run calls to BE APIs in parallel • Smart load balancing of BE API calls • Keep BFFs small • Scale by increasing number of instances
  • 16. Alerting & Monitoring Server: • Access and error logs in Kibana • Metrics in Graphana • Node.js event loop and garbage collector • Response status and latency • Tracing in Jaeger • Profile and monitor distributed platform Client: • Error logs in Sentry
  • 17. How we make decisions ADRs – capture an important architectural decisions made along with its context and consequences. TechRadar – list of technologies we observe: currently used, tested, under research or put on hold. The list has four major categories: Techniques, Tools, Platforms, Language & frameworks. Frontend guild – supports close collaboration and knowledge sharing among all frontend developers.
  • 18.  Pros +huge improvement on time-to- market for product features +smaller, more isolated and maintainable codebases +more scalable organisation with decoupled, autonomous teams +the ability to update or rewrite parts of the frontend in a more incremental fashion −duplication of dependencies and increasing the number of bytes the users must download −team autonomy can lead to platform fragmentation and inconsistent codebases −struggle to keep all frontends up-to-date −CI/CD pipeline performance becomes a bottleneck  Cons
  • 19. Usefull links • Micro Frontends (Cam Jackson) • Pattern: Backends For Frontends (Sam Newman) • Micro-frontend Architecture in Action with six ways (Phodal Huang) • Micro-frontends resources (Luca Mezzalira)