Architecture for modular frontend applications
The architecture pattern of microservices is found in many modern system landscapes, offering flexibility for the backend services. The frontend is very often realized as a monolith. Florian Rappl and Lothar Schttner explore microservices and detail an example implementation of a highly modular frontend architecture that mirrors the dynamic of a modern microservices backend.
|Talk Title||Architecture for modular frontend applications|
|Speakers||Florian Rappl (smapiot), Lothar Schöttner (smapiot)|
|Conference||O’Reilly Software Architecture Conference|
|Conf Tag||Engineering the Future of Software|
|Date||November 5-7, 2019|
The architecture pattern of microservices is found in many modern system landscapes, offering flexibility for the backend services. The frontend is very often realized as a monolith, although ideally, the frontend and backend follow a similar pattern. As a consequence, the user’s experience with microservice backends will no longer be based on a static monolith but rather on a highly flexible frontend. Florian Rappl and Lothar Schöttner explore a framework for implementing a highly flexible solution to integrate decoupled modules into a rich frontend application. The essential building blocks of their framework use Piral as a reference implementation, and one of the building blocks is a dedicated provisioning service, allowing the frontend to fetch modules tailored to the current user content. This service can be used together with feature flags to enable a variety of advanced usage scenarios. They also include the loose coupling of contained layers to provide flexibility for realizing required functionality or advanced tooling for building and publishing feature modules. You’ll also learn how to define a distributed modular frontend architecture, considerations for scalability and development, and how to build and deploy a modular frontend application. The resulting frontend architecture is a perfect fit as a user interface for a microservice backend. On top of the benefits at runtime, the modular architecture comes with efficiency gains for development and operations like splitting up the realization efforts across independent teams or applying individual lifecycles for feature modules.