micro frontends - prodemge..."an architectural style where independently deliverable frontend...

23
Micro Frontends Creating complex and integrated distributed systems

Upload: others

Post on 18-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Micro FrontendsCreating complex and integrated distributed

systems

Page 2: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Once upon a time...

In recent years, microservices have exploded in popularity, with many organisations using this architectural style to avoid the limitations of large, monolithic backends. While much has been written about this style of building server-side software, many companies continue to struggle with monolithic frontend codebases

Page 3: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Monolith...

Fron

tend

Back

end

Product Team

Page 4: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Front-end & Back-end...

Fron

tend

Back

end

Frontend Team

Backend Team

API

Page 5: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Microservice

Fron

tend

Back

end

Frontend Team

Mic

rose

rvic

eAPI

Mic

rose

rvic

e

Mic

rose

rvic

e

Mic

rose

rvic

e

Page 6: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Micro frontend

Page 7: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Microfrontend

"An architectural style where independently deliverable frontend applications are composed into a greater whole"

- Martin Fowler, 2016

Page 8: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Microfrontend

Fron

tend

Back

end

Frontend Team

APITe

am G

reen

Team

Blu

e

Team

Red

Team

Ora

nge

Page 9: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Microfrontend

Page 10: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Microfrontend

Page 11: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Integration approaches

Page 12: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

App shell

Web Components

Page 13: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

App shell

iFrames

Page 14: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

App shell

Hybrid

Page 15: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Real Example App Shell - team orangetea

m BLU

E

team

RED

Page 16: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

“ No silver bullet.

- Fred Brooks, 1986

Page 17: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Microfrontend - Benefits vs Downsides

Incremental upgrades

Simple, decoupled codebases

Independents deployment

Autonomous teams

In a nutshell

Payload Size

Environment differences

Operational and Governance Complexity

Page 18: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Questions

Can you fit your team around a large table?

You might not need micro frontends yet

Micro frontends might help you

Yes

No

Do you have monolithic dependencies?

Integration might be complicated

Micro frontends may be easily integrated

Yes

No

Got devops experience?

Micro frontends might be valuable

Consider giving them a try first

Yes

No

Page 19: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Projects Initiatives

Page 20: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Project Mosaic

Page 21: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

PuzzleJs

Page 22: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Get our hands dirty!

Page 23: Micro Frontends - Prodemge..."An architectural style where independently deliverable frontend applications are composed into a greater whole"-Martin Fowler, 2016 Microfrontend Frontend

Referenceshttps://www.slideshare.net/YugoSakamoto1/state-of-micro-frontend-114560988

https://pt.slideshare.net/spyrosioakeimidis/micro-frontends-86962142

https://www.mosaic9.org/

https://github.com/puzzle-js/puzzle-js/blob/master/docs/guide.md#architecture

https://www.dwmkerr.com/the-death-of-microservice-madness-in-2018/

https://martinfowler.com/articles/micro-frontends.html

https://www.thoughtworks.com/pt/radar/techniques?blipid=1035

https://micro-frontends.org/

https://medium.com/javascript-in-plain-english/microfrontends-bringing-javascript-frameworks-together-react-angular-vue-etc-5d401cb0072b