Chapter 1. Micro-Frontend Principles
I remember working on many software projects at the beginning of my career, where small- or medium-size teams were developing a monolithic application. All the functionalities of a platform were available in a single artifact, and the product was produced during the development of the software and deployed to a web server.
When we have a monolith, we write a lot of code that should harmoniously work together. However, in my experience, we tend to preoptimize or even overengineer our application logic, more often than not. Abstracting reusable parts of our code can create a more complex codebase, and sometimes the effort of maintaining a complex logic doesn’t pay off in the long run. Unfortunately, something that looked straightforward at the start could look very unwieldy a few months later.
In the past decades, public cloud providers like Amazon Web Services (AWS) or Google Cloud started to gain traction. Nowadays, they are popular for delegating what is increasingly becoming a commodity, freeing up organizations to focus on what really matters in a business: the services offered to the final users.
While cloud systems offer easier scalability compared to on-premises infrastructure, monolithic architectures require us to scale either horizontally—adding more containers or virtual machines—or vertically, increasing the configuration of the machine where our application is running. Furthermore, working on a monolith codebase with both distributed ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access