Building micro-frontends
Published by O'Reilly Media, Inc.
Scaling projects and teams in the frontend ecosystem
We're heading toward a future where applications will be increasingly complex and managed by teams of multiple developers. Micro-frontends allow any project to avoid strong technology constraints. Micro-frontends—the technical representation of a business subdomain (as domain-driven design teaches us)—provide strong boundaries and usually interact as little as possible with other micro-frontends, following the single responsibility principle. They facilitate the communication between teams (colocated or distributed) thanks to an API’s contract between the different parts of an application. With this shift in mindset, you can approach any project focused on high reusability for agencies or team scalability for products.
Join expert Luca Mezzalira for a deep dive into micro-frontends. You'll learn how structuring a frontend application with micro-frontends allows you to define a bounded context for a specific area of your application, potentially use different approaches or technologies inside the same application, atomically deliver your artifacts instead of using a big bang deployment structure around a bounded context, and work with distributed or co-located teams in a more efficient way.
What you’ll learn and how you can apply it
By the end of this live online course, you’ll understand:
- How to structure a micro-frontend in your web application
- The technology benefits of using micro-frontends
- The challenges faced when working with micro-frontends
- The impact of micro-frontends within a team-based structure
And you’ll be able to:
Work by contracts between two elements, such as micro-frontends and microservices Define the bounded context of your applications Structure an architecture for embracing micro-frontends
This live event is for you because...
- You're a software architect who has to develop a web application, and you need to spread the work across multiple teams, including colocated and distributed teams.
- You're a technical lead on a frontend project, and you need to facilitate the development between teams.
- You're a developer with similar frontend projects, and you need to customize them for different customers.
- You're a dev manager working on a large project, and you need to scale and organize your teams in an effective way.
Prerequisites
- An understanding of modern frameworks for frontend applications (Angular, Vue.js, React + Redux, or similar frameworks)
- Experience building server-side and/or client-side rendering applications
- Experience on automating frontend applications
- Experience working with cross-functional or functional teams
- Knowledge of evolutionary architectures (useful but not required)
- Knowledge of microservices (useful but not required)
- Front-End Reactive Architectures (useful but not required)
Recommended preparation:
- Watch Introduction to Micro-frontends (video, 36m)
Recommended follow-up:
- Read "Micro Frontends" (article)
- Explore the single-spa JavaScript metaframework (GitHub repository)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Introduction to micro-frontends (30 minutes)
- Lecture: The current status of frontend applications; what are microfrontends?; core principles; benefits of working with micro-frontends; decisions framework, different type of micro-frontends architectures
- Knowledge checkpoint
- Q&A
- Break (10 minutes)
Implementing micro-frontends architectures (50 minutes)
- Demo: Micro-frontends client and server side rendering; core elements of a micro-frontends application, how to implement in the cloud using serverless services, example to walk through the code
- Knowledge checkpoint
- Q&A
- Break (10 minutes)
Micro-frontends discoverability (40 minutes)
- Lecture: How to deploy micro-frontends in production leveraging techniques such as canary releases or blue-green deployment, JSON schema for micro-frontends deployment
- Knowledge checkpoint
- Q&A
- Break (10 minutes)
Micro-frontends anti-patterns (30 minutes)
- Lecture: How to deploy micro-frontends in production leveraging techniques such as canary releases or blue-green deployment, JSON schema for micro-frontends deployment
- Knowledge checkpoint
- Q&A
Your Instructor
Luca Mezzalira
Luca has been associated with the industry since 2004 and has lent his expertise predominantly in the solution architecture field. He gained accolades for revolutionising the scalability of frontend architectures with micro-frontends, from increasing the efficiency of workflows to delivering quality in products. Lucas is known as an excellent communicator who believes in using an interactive approach for understanding and solving problems of varied scopes.
As Principal Serverless Specialist Solutions Architect at AWS, he helps customers to design and implement Serverless workloads efficiently. He also shares with the community best practices to develop cloud-native architectures solving technical and organizational challenges in his social accounts.