Dissecting micro frontends
To achieve our goal of creating a software architecture that enables change, we need to give teams full control of the entire stack. As depicted in Figure 3.1, a single team should own a micro application, its BFF service, and the datastore. This reduces the need for inter-team communication, which adds dependencies on another team's schedule:
Figure 3.1: Full-stack teamsThese self-sufficient, full-stack, autonomous teams are able to move at their own pace, minimize lead time, and respond to user feedback at will, precisely because they are not dependent on other teams. In Chapter 6, A Best Friend for the Frontend, we will see how teams implement BFF services, and in Chapter 5, Turning the Cloud into the Database, we will see how to decompose monolithic databases.In this section, we look at how to create a micro frontend. The objective of a micro frontend is to divide the user experience into a set of independent micro applications, while also providing...