Micro Frontend Architecture —6 principles to not be ignored

Felipe Borges
2 min readOct 15, 2020
Monolith to micro frontend

To break down a monolith frontend application or even to create one from scratch is not an easy task. There are many things to thought about, but there are six principles that you must keep in mind during the whole project to make this architecture to work correctly.

The first, and probably the reason why you want to move for a micro front end architecture is the Autonomous Features which is the capacity that the application has to change with no interference from the other applications. Let’s say that you want to change the text of a label on your menu application; this means that only the menu application will suffer the change; no other application will require a deploy. This capacity is essential as it leads us to the second principle: Team Ownership.

As the application is virtually independent of all other application, the Team Ownership feeling is a vital principle to have. The team is responsible for planning releases, features and, together with the Product Owner, the product road map. The ownership must be so strong that the team must own even the application technology, as the architecture overall is agnostic.

Tech Agnostic refers to the capacity that the architecture supports to run much technology on itself. So one team can decide to use Angular, while the other will go for a React choice, and this is fine as the architecture supports it. The only concern that we need to keep in mind is the final user experience that must be preserved does not matter the technology choice.

User Experience is a point of attention; in my opinion, the most important, you will need to have a consistent experience, the user shall not feel like changing between applications while using your application. Each application will bring a specific value for the user, but all of them must work as one. Strange behaviours or async data should not happen in any situation and principles of a good design followed by all teams. This task is easier when you are following a simple interface design

Each application has its value; it means that it is a Value-Driven architecture if an application has no value to add it should not exist, or another application should absorb it.

The same is valid for the back end microservices, and they should have value on it owns or should merge with some other. Mainly because those microservices are a guide to split responsibilities on the front end as we have a Microservices Driven architecture.

Those six principles may look simple, but if you keep them in your mind, you will avoid many poor choices.

  • Autonomous Features
  • Team Ownership
  • Tech Agnostic
  • User Experience
  • Value-Driven
  • Microservices Driven

--

--

Felipe Borges

Front end developer, scrum master and always seeking innovation centred on the client.