Monolith vs Microservices
Recently, we’ve noticed an increased focus on the overall design and organizational frameworks required for complicated, modern web development. We’re seeing patterns emerge for breaking down frontend monoliths into smaller, simpler parts that can be built, tested, and deployed independently while still presenting as a single unified offering to clients. This method is known as micro frontends. It became feasible to share components between applications with the advent of webpack 5 and Module Federation. What’s the big deal about micro frontends? In a nutshell, the micro frontend architecture provides us with a new way to compose our apps. A single team will eventually collapse; numerous teams will result in huge communication and organizational overhead. If we could break this up into smaller chunks that can be developed and deployed independently, multiple teams would (ideally) not step on each other’s toes. A popular choice is the creation of autonomous full-stack teams. Each team is responsible for a single microservice and the micro frontend primarily serves that content.