Skip to main content

Micro Frontend

System Architecture​

AspectMonolithModular MonolithMicro Frontend (Vertical)Micro Frontend (Horizontal)Island Architecture
Visualization
DefinitionSingle-tiered software application where the UI and data access code are combined into a single program from a single platformMonolithic application that is divided into modules based on features or business domainsType of microservice architecture where each frontend component corresponds to a vertical slice of the applicationMicroservice approach where components are split based on horizontal layers like presentation, business logic, etc.Modern approach that involves building a web application as a set of small, independent, and loosely coupled islands
ComplexityLow to moderate, depending on the application sizeModerate, as it involves breaking down the monolith into logical modulesHigh, due to the distributed nature of servicesHigh, similar to vertical micro frontends but with an additional layer of complexity due to horizontal slicingModerate to high, depending on the granularity of the islands
ScalabilityChallenging for large applications due to tight coupling and complexityImproved over monolith due to modularity, but still requires careful management of module interactionsGood, as each service can be updated independentlyGood, with the added benefit of clear separation of concernsExcellent, as each island can be maintained separately
Technology StackUniform across the entire applicationUniform or varied, depending on module requirementsCan vary between services, allowing for the use of best-suited technologiesCan vary between layers, providing flexibilityHighly flexible, with each island potentially using different technologies
Use CaseSmall to medium-sized applications with a limited scopeMedium-sized applications that require clear separation of concerns without fully committing to Micro Frontend (MFE)Large-scale applications with clear domain boundaries and the need for independent scaling and deploymentLarge applications that require a clear separation of presentation and business logicApplications that can benefit from a mix of different technologies and independent deployment cycles

Repositories​