7 October 2019
In recent years, the introduction of microservices has allowed businesses to build and scale large software applications using independent teams. The approach allows an app to be broken down into separate services, which can then be independently developed and deployed. Each team is responsible for its own service and can code it in the most appropriate programming language for the task in hand. The different services then communicate with each other through a framework.
Microservice architecture is popular for backend services but can lead to the creation of frontend monoliths – large sprawling browser applications that are just as difficult to maintain as the old monolithic server-side programmes. Micro FrontEnds help to eliminate that. They’re a set of techniques and strategies that extend the microservice concept into frontend development – and they provide many advantages to web developers.
Benefits of Micro FrontEnds
To explain the benefits, let’s consider a microservice ecommerce site that has four backend/database services: product service, recommend service, basket service and payment service. They’re linked to the frontend browser application – a frontend monolith – via an aggregation layer. Each backend service has its own team, and there’s a frontend team as well – who often struggle as the frontend layer grows and gets more difficult to maintain.
With Micro FrontEnds, the application would be broken down into features with each feature being owned – database to backend to frontend – by its own team. In our ecommerce example, the features could be: helping the customer discover products, helping the customer find the right product, presenting the product (images, sizes, colours etc), and providing the checkout service.
There would now be four teams, with each team providing vertical end-to-end support for its feature in the application. That means, of course, that web developers will be in the new vertical teams, which will help to build up their knowledge and technical expertise. It will also give them more input into the vision for the final product and help with the cohesiveness of the team. That will help the web developers and the overall business.
What other benefits are there? Well, Micro FrontEnds architecture – like microservice architecture – enables independent deployment and gives teams more autonomy and flexibility when releasing products and features. That makes it easier to scale the app. The approach also allows the codebase to be smaller compared to monolithic frontends, which makes them simpler and easier for web developers to work with.
To summarise, Micro FrontEnds extend the microservice concept into frontend development and bring many advantages to web developers. They now become part of an end-to-end autonomous team that has ownership over a specific section of the application. That makes it easier to develop, deploy, scale and maintain the section – and indeed the overall application.
Here at JBI Training, we provide exceptional web and frontend training courses including: