Designing a Migration to Micro-Frontends

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2026
November 16 - 19, 2026
New York, US & Online
Upcoming event
JSNation US 2026
JSNation US 2026
November 16 - 19, 2026. New York, US & Online
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Get started

Migrating to a micro-frontend architecture promises scalability, faster development cycles, and autonomous teams but the journey is rarely straightforward. 

Drawing on real-world experiences and insights from modernising 100s of companies, this talk explores the practical lessons, challenges, and trade-offs companies encounter when adopting micro-frontends.

You’ll learn about strategies for defining clear boundaries, handling inter-team dependencies, evolving your architecture incrementally, and avoiding common pitfalls that can derail projects.

This talk has been presented at JSNation 2026, check out the latest edition of this JavaScript Conference.

Luca Mezzalira
Luca Mezzalira
30 min
11 Jun, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
In the last decade, microfrontends have gained popularity for their independence and fast flow. Understanding common Microfrontend architectures is crucial for defining boundaries and responsibilities. Integration of CDNs for Microfrontends involves caching, TTL settings, and security considerations. Microfrontend migration strategies focus on stability and iterative transitions. Edge Compute deployment enables controlled traffic distribution and efficient rollbacks. Data sharing techniques include query strings, cookies, and backend APIs. Event handling utilizes event emitters for communication and routing. AI integration enhances code generation and project boundaries. Managing micro frontends in organizational repositories requires careful logistics. Aligning reusability goals with business gains is essential for management. Situational considerations and implementation strategies for Microfrontends involve framework choices and event communication frameworks.

1. Understanding Microfrontends

Short description:

In the last decade, I focused on developing a distributed frontend architecture. Major companies worldwide have adopted microfrontends. Microfrontends differ from components in their purpose and design for independence and fast flow.

Okay, so in the last 10 years, I worked relentlessly on figuring out how we can have an architecture that is distributed on the frontend. And trust me, it was a journey. So, I spent time implementing. I spent time designing microfrontends. I spent a lot of time collecting war stories on what worked, what didn't work, defining patterns, antipatterns, defining the vocabulary of the architecture, defining what was in and out from specific contexts that you cannot even imagine. But today, I'm extremely happy to say that the largest companies in the world are using this architecture.

Let's say the tools that currently are using the software, the apps that they're using in any kind of industry, retailers or banks, insurances, entertainment, even in sports, all of them at some point, they moved into microfrontends. And today, I want to share with you a PAVED path or a golden path that will enable you to do as well. So, majority of the time, if my clicker works, okay, when I walk in a room with a team that wants to work with microfrontends, the conversation starts in this way. We have seen your work. We like it. So, we want to move to microfrontends. But we already have a plan. This is our app. And we just take all our components, we load them remotely and, oh, job done. My answer is usually this.

So, good luck with that because that's not a microfrontend. What is a microfrontend, though? So, majority of the time, there is this confusion that components are microfrontends while they are not because a component has a specific implementation aspect. So, when you implement the component, as you can see here from this input of code, we have this nice button that exposes a bunch of properties, the ID, the label, the functionalities, and so on. So, what does it mean? That in reality, the container of the components is instructing the component to behave in a certain way. Microfrontend doesn't work in that way. In a microfrontend, instead, we have a very small footprint of properties. You have basically just a microfrontend that knows how to behave in a specific context. Why that? Because the reality is simple. So, a component is designed for usability. You create a design system because you want to have the same look and feel everywhere. You want to reduce the duplication. And finally, you want to have UI consistency, right? And microfrontend is not for that. Microfrontend is optimized for independence. You want to reach the fast flow.

2. Microfrontend Architecture Overview

Short description:

You want independence between teams, multiple deployments per day. Microfrontend canvas helps define boundaries, dependencies, communication. Understand common Microfrontend architectures: server-side, client-side rendering, application shell, UI composer, responsibilities, building Microfrontends.

You want to have independence between teams. You want to have a system that is capable to deploy multiple times per day from multiple teams and reaching thousands of developments, thousands of deployments per month. So, let's start with the migration journey. This is what I call the pavate path, and majority of the time, people start from this. Should I pick like multi-federation, single SPA, Next.js, multizone, whatever? That's not the starting point. That's not how you design a distributed system front-end or back-end. So, usually, what you should ask yourself is, what do you want to achieve? Because distributed systems are different.

In order to help you out with that, I spent the last nine months working on the Microfrontend canvas. Yesterday, I announced it for the first time, and today, I show it for the first time on a stage. This Microfrontend canvas is coming from the idea of a software architecture canvas that I used a handful of times in the past on trying to figure out how to define a boundary of a system. This is exactly designed for Microfrontend. It's completely open source. It's a credit commons. You can download it today and start to use it with your code assistant or also in a workshop with your teams. Basically, it's focusing on the key aspects on how you design a boundary of a Microfrontend. What are the boundaries of validation? What are the organizational constraints? What are the dependencies, external dependencies specifically? What are the communication methodologies? The question that usually you should ask yourself before you write the first line of code.

The second step is usually understanding what are the most common Microfrontend architectures. So, I collected them for you, so you don't have to do that job. Usually, the majority of the time, either you do Microfrontend on server-side rendering or client-side rendering, you start with an application shell or a UI composer. The responsibilities of this piece of architecture is very simple. You load the website. It's the first thing loaded, either on the server or on the client. It handles the configuration, so finding a few information like which device you are rendering on, for instance the country where the user is and stuff like that. You have authentication, authorization, handle centralized inside the application shell, composition, so how I can lazy load my Microfrontend inside the UI, and routing, at the first level of routing. I will show you in a second what I mean by that. After that, you start to build your Microfrontends. So, the most common implementation I've seen on prem or on cloud is this one. Every team is building their own Microfrontend. They ship static files into an object storage, possibly not containers, please, for many reasons, but in object storages are absolutely fine, or blob storage, where you put your static files.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Scaling Up with Remix and Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Scaling Up with Remix and Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Understanding React’s Fiber Architecture
React Advanced 2022React Advanced 2022
29 min
Understanding React’s Fiber Architecture
Top Content
This Talk explores React's internal jargon, specifically fiber, which is an internal unit of work for rendering and committing. Fibers facilitate efficient updates to elements and play a crucial role in the reconciliation process. The work loop, complete work, and commit phase are essential steps in the rendering process. Understanding React's internals can help with optimizing code and pull request reviews. React 18 introduces the work loop sync and async functions for concurrent features and prioritization. Fiber brings benefits like async rendering and the ability to discard work-in-progress trees, improving user experience.
Thinking Like an Architect
Node Congress 2025Node Congress 2025
31 min
Thinking Like an Architect
Top Content
In modern software development, architecture is more than just selecting the right tech stack; it involves decision-making, trade-offs, and considering the context of the business and organization. Understanding the problem space and focusing on users' needs are essential. Architectural flexibility is key, adapting the level of granularity and choosing between different approaches. Holistic thinking, long-term vision, and domain understanding are crucial for making better decisions. Effective communication, inclusion, and documentation are core skills for architects. Democratizing communication, prioritizing value, and embracing adaptive architectures are key to success.
Full Stack Components
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Full Stack Components
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
The Dark Side of Micro-Frontends
React Advanced 2025React Advanced 2025
29 min
The Dark Side of Micro-Frontends
In the Talk, various key points were discussed regarding micro-front-end architecture. These included challenges with micro-intents, common mistakes in system design, the differences between micro-intents and components, granularity in software architecture, optimizing micro-front-end architecture, efficient routing and deployment strategies, edge computing strategies, global state and data sharing optimization, managing data context, governance and fitness functions, architectural testing, adaptive growth, value of micro-frontends, repository selection, repo structures, and web component usage.
The Eternal Sunshine of the Zero Build Pipeline
React Finland 2021React Finland 2021
36 min
The Eternal Sunshine of the Zero Build Pipeline
For many years, we have migrated all our devtools to Node.js for the sake of simplicity: a common language (JS/TS), a large ecosystem (NPM), and a powerful engine. In the meantime, we moved a lot of computation tasks to the client-side thanks to PWA and JavaScript Hegemony.
So we made Webapps for years, developing with awesome reactive frameworks and bundling a lot of dependencies. We progressively moved from our simplicity to complex apps toolchains. We've become the new Java-like ecosystem. It sucks.
It's 2021, we've got a lot of new technologies to sustain our Users eXperience. It's time to have a break and rethink our tools rather than going faster and faster in the same direction. It's time to redesign the Developer eXperience. It's time for a bundle-free dev environment. It's time to embrace a new frontend building philosophy, still with our lovely JavaScript.
Introducing Snowpack, Vite, Astro, and other Bare Modules tools concepts!

Workshops on related topic

AI on Demand: Serverless AI
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
AI on Demand: Serverless AI
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
In this workshop, we discuss the merits of serverless architecture and how it can be applied to the AI space. We'll explore options around building serverless RAG applications for a more lambda-esque approach to AI. Next, we'll get hands on and build a sample CRUD app that allows you to store information and query it using an LLM with Workers AI, Vectorize, D1, and Cloudflare Workers.
High-performance Next.js
React Summit 2022React Summit 2022
50 min
High-performance Next.js
Workshop
Michele Riva
Michele Riva
Next.js is a compelling framework that makes many tasks effortless by providing many out-of-the-box solutions. But as soon as our app needs to scale, it is essential to maintain high performance without compromising maintenance and server costs. In this workshop, we will see how to analyze Next.js performances, resources usage, how to scale it, and how to make the right decisions while writing the application architecture.
Model Context Protocol (MCP) Deep Dive: 2-Hour Interactive Workshop
AI Coding Summit 2025AI Coding Summit 2025
86 min
Model Context Protocol (MCP) Deep Dive: 2-Hour Interactive Workshop
Workshop
Stepan Suvorov
Stepan Suvorov
Join a focused 2-hour session covering MCP's purpose, architecture, hands-on server implementation, and future directions. Designed for developers and system architects aiming to integrate contextual data with ML models effectively. Agenda:- Introduction & Why MCP? Key challenges MCP solves and core benefits.- Architecture Deep Dive: components, interactions, scalability principles. - Building Your Own MCP Server: guided walkthrough with code snippets and best practices; live demo or code review.- Future of MCP Developments: potential enhancements, emerging trends, real-world scenarios.
Key Takeaways:- Clear understanding of MCP's rationale.- Insight into design patterns and scaling considerations.- Practical steps to implement a prototype server.- Awareness of upcoming trends and how to apply MCP in projects. 
Node's Concurrency With the Strength of a Bull With BullMQ
Node Congress 2026Node Congress 2026
95 min
Node's Concurrency With the Strength of a Bull With BullMQ
Workshop
Edy Silva
Douglas Marques
2 authors
Node's concurrent nature is powerful already, but often we need to push work out of the main server for several reasons. In this work, we will explore a few scenarios in which work is cleverly pushed to another Node process to resolve.
Once we use a queue to distribute workloads, we need to identify the nature of the work to be done. For either I/O- or CPU-intensive work, the first is already perfectly covered by a single Node.js process; we will need to tweak the worker setup to match the available resources and throughput.
From Async Chaos to Deterministic React: Hands-On State Machine Architecture for Real-Time Systems
React Summit 2026React Summit 2026
86 min
From Async Chaos to Deterministic React: Hands-On State Machine Architecture for Real-Time Systems
Workshop
Rajni Gediya
Rajni Gediya
Mentorship available
As React apps move into real-time systems — streaming data, AI workflows, hardware devices — async complexity grows quickly. Reducers and scattered async handlers often work at first, but once concurrency and lifecycle interruptions enter the picture, things start to break in subtle ways.
In this hands-on workshop, we’ll take a fragile async React setup and redesign it into a deterministic, state-machine-driven architecture. The goal isn’t to teach a specific library, but to show how explicit state modeling makes complex systems easier to reason about and more reliable in production.