Micro-frontends, the future of Frontend architectures

Micro-frontends, the future of Frontend architectures

In the past 30 months, I had the opportunity to work on one of the most challenging architectures I’ve ever designed in my career.

The main requirements were based on the speed of delivery, scalability and code quality.

Frontend applications are becoming more challenging daily and achieving those requirements in a company with a massive growth like DAZN was far to be an easy task.

The first step for me was identifying how to achieve those requirements in a meaningful manner, therefore, I started thinking how I can reach those goals in an ideal world and then work retrospectively through the constraints we had inside our company.

The speed of delivery could have been achieved parallelising tasks in multiple teams the real challenge although is having teams independent enough to not be stopped by external dependencies in particular when the teams are distributed and not co-located.

Scalability on the Frontend ecosystem is not only represented by technical challenges but mainly by autonomous teams, too often I experienced the frustration of frontend developers from external dependencies and because they have to maintain and improve a codebase started for one purpose and evolved in a monster becoming unmanageable after some months or a few years of work, ideally we should be able to scale our teams organically and adapting them to the business needs without too much friction, more than being trapped inside codebases that do not really follow the “business rhythm”.

Code Quality is a non-functional requirement that is always aimed by any team and company out there but often, despite the goodwill of each team members, due to pressure from the business, we had to make some hard decisions cutting some corners so the tech debt increases and, without being addressed properly, having a knock-out effect on the entire organisation and the teams morale.

On top of those key goals, a personal one I thought was key for the project I was about to redesign was innovation, in the JavaScript community there are plenty of talented teams and individuals that are contributing to open source projects with great libraries, frameworks but more in general solutions, that could make our life easier or even accelerate the time to market of specific feature, ignoring this fantastic ecosystem would have been a technical suicide considering I was working on an architecture for the future that should have remained in the company for the foreseeable future.

For achieving all of these goals I had to think outside the box, leveraging the past experiences and the learnings from successes as well as failures happened in my career.

It’s then that I thought about micro-frontends, following the microservices principles, I was able to extract a manifesto based on what I need to achieve:

No alt text provided for this image

Usually, when we design new architecture we need to bear in mind that architecture and technical decisions are not affecting merely the code and our technical teams but also the entire organisation we work for, therefore is essential understanding the impact of those choices across our company.

If you wanna learn more, I summarise this incredible journey in this talk with my colleague Max Gallo during the last edition of Frontend Developer Love Conference, the feedback at the conference was really positive, but I decided to use this platform for understanding what other people think and create a genuine discussion around a topic that is going to change the future of our Frontend applications: micro-frontends.

Enjoy the talk and feel free to comment or ask any questions, I’d really like to gather the experience and common questions/doubts of the community around micro-frontends doing my best to answer them all.

If you wanna continue the micro-frontends journey, move on to the next post!

Last but not least, if you wanna learn more on micro-frontends I warmly recommend joining me the 26th April in the 3 hours online workshop organised in collaboration with O'Reilly Media

Carmine Tambascia

Partner Shopify - Software Architect - Web Software. Tecnologie( elenco non esaustivo) ReactJS - ReactNative - | Javascript | Typescript | NodeJS | Angular | ingegnere biomedico

5 年

Very informative!

回复

要查看或添加评论,请登录

Luca Mezzalira的更多文章

  • The data recovery challenge in the cloud era

    The data recovery challenge in the cloud era

    In today’s digital-first world, businesses are generating and storing data at an unprecedented scale. With the rise of…

    1 条评论
  • Instant recovery strategies for S3 and DynamoDB in the AI era

    Instant recovery strategies for S3 and DynamoDB in the AI era

    A few weeks ago, I had the opportunity to attend the SHIFT conference organized by Commvault, and it was quite an…

    1 条评论
  • How Micro-Frontends are reshaping Modern Web Architecture

    How Micro-Frontends are reshaping Modern Web Architecture

    Are you frustrated with slow deployment cycles, tightly coupled dependencies, and the cumbersome nature of managing…

    5 条评论
  • How to Document Software Architecture: Techniques and Best Practices

    How to Document Software Architecture: Techniques and Best Practices

    In software development, documentation is often overlooked in favor of coding. However, documenting software…

    32 条评论
  • Unlocking the Power of Your Second Brain

    Unlocking the Power of Your Second Brain

    Ever feel like you’re drowning in information and struggling to keep up? You’re not alone. The secret to thriving in…

    5 条评论
  • My Personal productivity hacks with Apple Devices

    My Personal productivity hacks with Apple Devices

    Smartphones, tablets, smartwatches — all are competing to grab our attention. The problem is that when it happens, it…

    3 条评论
  • The first book on Front-end Reactive Architectures

    The first book on Front-end Reactive Architectures

    When I proposed this book the first time a couple of years ago, Reactive Programming wasn’t “a thing” yet in the…

    5 条评论
  • The art of coding

    The art of coding

    The art of coding Today I spent few hours in my favourite London museum: The Design Museum. I went to the main…

    1 条评论
  • HTTP2: the good, the bad, the ugly

    HTTP2: the good, the bad, the ugly

    I spent last few weeks investigating on HTTP2, the successor of HTTP1.1 and I’d like to share my findings and thoughts…

    4 条评论
  • Benchmarking Falcor.js

    Benchmarking Falcor.js

    In the past few weeks I was figuring out how to solve a problem of a chatty communication between client and server…

社区洞察

其他会员也浏览了