Micro-Frontends in AWS - Luca Mezzalira - NDC London 2023

Learn how to adopt micro-frontends in AWS, enabling independent development, scaling, and deployment of multiple technologies and frameworks, and discover the importance of automation, composition, and observability in your application architecture.

Key takeaways
  • Micro-frontends can be used to enable teams to use different technologies and frameworks, but it’s important to plan and understand how they will work together.
  • In AWS, micro-frontends can be composed using SageMaker, Step Functions, and API Gateway, and can be deployed using CloudFront and S3.
  • Micro-frontends can be used to create a decoupling between front-end and back-end, allowing for independent development and scaling.
  • Automation is key to implementing micro-frontends, as it enables continuous integration and delivery, and reduces the need for manual intervention.
  • Server-side rendering can be used to improve performance and SEO, and can be achieved using React and Next.js.
  • Micro-frontends can be composed using Modular Federation, which allows for the creation of independent modules that can be combined to create a larger application.
  • Composition is a critical aspect of micro-frontends, as it enables the creation of multiple independent modules that can be combined to create a larger application.
  • Bounded contexts are important in micro-frontends, as they enable independent teams to work on different parts of an application without affecting each other.
  • Micro-frontends can be used to create a distributed system, where multiple independent modules are combined to create a larger application.
  • State machines can be used to manage the state of micro-frontends, and can be implemented using AWS Step Functions.
  • Observability is important in micro-frontends, as it enables teams to monitor and debug their applications in real-time.
  • Communication between micro-frontends is important, as it enables them to work together seamlessly.
  • Micro-frontends can be used to create a highly scalable and maintainable system, but require careful planning and implementation.
  • Independent teams are important in micro-frontends, as they enable independent development and scaling, but require careful management and coordination.
  • Micro-frontends can be used to create a decoupling between front-end and back-end, allowing for independent development and scaling.
  • Strangle pattern can be used to migrate from monolithic architecture to micro frontends.
  • Canary releases can be used to deploy micro-frontends in production.
  • Micro-frontends can be used to improve user experience, by enabling the creation of multiple independent modules that can be combined to create a larger application.