Название: Building Micro-Frontends: Distributed Systems for the Frontend, 2nd Edition (Second Release) Автор: Luca Mezzalira Издательство: O’Reilly Media, Inc. Год: 2024-06-24 Страниц: 149 Язык: английский Формат: pdf, epub Размер: 10.1 MB
What's the answer to today's increasingly complex applications? Micro-frontends. Inspired by the microservices model, this approach lets you break interfaces into separate features managed by different teams of developers. In this updated second edition, software architects, tech leads, and software developers will learn how to design, build, and deploy independent micro-frontends that compose unique frontend systems.
Author Luca Mezzalira, principal serverless specialist solutions architect at AWS, shows you how micro-frontends enable agility within an organization, decentralize decision-making, and optimize for fast flow. This gives your organization technical flexibility and allows you to hire and retain a broad spectrum of talent. Micro-frontends also support distributed or colocated teams more efficiently. Pick up this book and learn how to get started with this technological breakthrough right away.
In the long run, companies with large monoliths usually slow down all the operations needed to release any new feature, losing the great momentum they had at the beginning of a project where everything was easier and smaller with few complications and risks. Also, with monolithic applications, we have to test and deploy the entire codebase every single time, which comes with a higher chance of breaking the APIs in production, introducing new bugs, and making more mistakes, especially when the codebase is not rock solid or extensively tested. Solving these and many other challenges its staff faces, a company might move from complex monolith codebases to multiple smaller codebases and scoped domains called microservices.
Nowadays microservices architecture is a well-known, established and popular pattern used by many organizations across the world. Microservices split a unique codebase into smaller parts, each of them with a subset of functionalities compared to a monolith. This business logic is embraced by developers because the problem solved by a microservice is simpler than looking at thousands of lines of code. Moreover a developer can maintain a clear picture of the code base and related functionality implemented, considering the cognitive load is by far less than working on a monolithic system. Another significant advantage is that we can scale part of the application and use the right approach for a microservice instead of a one-size-fits-all approach similar to a monolith.
Modeling micro-frontends to follow DDD principles is not only possible but also very valuable. Investing time at the beginning of a project to identify the different business domains and how to divide the application will be very useful when you add new functionalities or depart from the initial project vision in the future. DDD can provide a clear direction for managing backend projects, but we can also apply some of these techniques on the frontend. Granting teams full ownership of their business domain can be very powerful, especially when product teams are empowered to work with technology teams. The primary difference between a micro-frontend and a component lies in their modularization approach. A micro-frontend completely owns a business domain, whereas a component focuses on addressing a technical challenge, often characterized by code duplication or the creation of complex, configurable components used across multiple domains. The component approach exposes an API that is frequently coupled with its container. Therefore, any modification made to the component is likely to impact its containers as well, creating an unwanted coupling that prevents it from reaching the principles behind distributed systems. With micro-frontends, we streamline the API surface to the essential minimum required for comprehending the user’s context. Typically, micro-frontends require little beyond accessing a session token and other pertinent information such as a product ID. This approach effectively diminishes the coupling between elements of the frontend application and enhances team autonomy by reducing the need for coordination across teams, owing to the infrequent changes in the minimal API exposed.
You will: Understand the four pillars for creating a successful micro-frontend architecture Learn principles and best practices that will enable your teams to succeed with this architecture Examine the benefits and pitfalls of existing micro-frontend architectures Learn how micro-frontends work in conjunction with other distributed systems like microservices Discover different architectures for creating client-side and server-side micro-frontend architectures Learn automation best practices that will empower your organization to optimize for fast flow
Скачать Building Micro-Frontends, 2nd Edition (Second Release)
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.