Case StudyStream Team: Designing The System - Micro-frontends
DAZN faced challenges typical to rapidly growing tech companies. They started with a monolithic architecture that, while effective initially, quickly became cumbersome as the company scaled. This monolithic system made it challenging to adapt quickly to market changes and customer feedback due to its inflexibility and the high level of interdependencies within the system. Furthermore, the complexity increased with the expansion of the team and the addition of distributed teams across different locations.
The Solution
The solution was the adoption of a micro frontends architecture. This approach aligns with the principles of microservices but applied to the frontend. It involves breaking down the frontend monolith into smaller, more manageable pieces (micro frontends), each representing different business subdomains. This architecture enables teams to work independently on different parts of the application, reducing the interdependencies that slowed down development in the monolithic approach. Key features of this solution included:
- Domain-Driven Design: This approach ensured that each micro frontend accurately represented a specific business subdomain.
- Technology Agnosticism: Different micro frontends could be developed using different technologies, providing flexibility and fostering innovation.
- Isolated Development: Teams could work on their micro frontends independently, reducing the need for cross-team coordination and accelerating development.
- Scalable Teams and Infrastructure: The architecture allowed for easier scaling of teams and infrastructure, as each micro frontend could be scaled independently.
Outcomes achieved
The adoption of micro frontends at DAZN led to several significant improvements:
- Increased Development Speed: Teams were able to move faster as they were no longer bogged down by the complexities of a monolithic architecture.
- Scalability: Both in terms of infrastructure and team size, the new architecture proved more scalable, accommodating the rapid growth of the company.
- Innovation: Teams had the freedom to experiment with different technologies and approaches within their domains, leading to more innovative solutions.
- Improved Onboarding: New teams could be onboarded quickly, as the domain-focused nature of the system made it easier to understand and contribute to.
- Better Response to Market and Customer Needs: The ability to work independently and quickly allowed DAZN to be more responsive to market changes and customer feedback.