Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Techniques for making and scaling micro Front-ends Apps
Search
Igor Halfeld
September 11, 2019
Programming
0
140
Techniques for making and scaling micro Front-ends Apps
Igor Halfeld
September 11, 2019
Tweet
Share
More Decks by Igor Halfeld
See All by Igor Halfeld
Modular monoliths with fastify
igorhalfeld
0
110
How to migrate legacy frontend?
igorhalfeld
1
82
Patterns for perfect components in Vue.js
igorhalfeld
0
98
Clean Architecture no Front-end (update 2021-05-11)
igorhalfeld
0
35
Step by step I followed a career in software
igorhalfeld
0
640
Using AI to create memes
igorhalfeld
0
480
Deninho, the TS children
igorhalfeld
1
190
Micro Front-ends, what's anyone says...
igorhalfeld
0
320
CSS in JavaScripto, the anti-pattern that is good
igorhalfeld
1
82
Other Decks in Programming
See All in Programming
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
540
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
140
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
今、知っておきたい! 生成AIエージェントの世界
elith
3
350
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
370
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
110
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
640
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
920
Ruby Pattern Matching
bkuhlmann
0
930
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Producing Creativity
orderedlist
PRO
337
39k
Gamification - CAS2011
davidbonilla
76
4.6k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Web development in the modern age
philhawksworth
202
10k
Being A Developer After 40
akosma
57
580k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
The Invisible Side of Design
smashingmag
294
49k
Transcript
"Técnicas pra fazer e escalar Micro Front-ends" Se você acha
que só tem coisa boa, Você achou errado
Alguém tem ideia de porquê o título tá entre aspas?
Não existe ninguém que saiba ainda o que esta fazendo
*eu incluso
É um assunto muito novo. É como ter 15 anos
com 20 anos de experiência *nada foi estressado o suficiente pra saber se realmente funciona
Então o que eu vim fazer aqui?
Pra vermos como é esse mundo e como começar a
fazer *mesmo que nenhum cenário tenha sido super testado
Igor Halfeld Software Engineer & Consultancy igorluiz.me - @IgorHalfeld
Escalar Front-end… *escalar e front-end parecem não combinar
Estamos em um nível de centenas de componentes além de
regras de state *e ainda precisamos saber separar bem eles
Melhorar deploys Paralelizar o desenvolvimento com mais times Aumentar tolerância
a falhas Evoluir o código legado
Vamos olhar pra a aplicação como um todo *ver a
evolução
None
None
None
Vamos trazer essa realidade do back-end pro front-end *afinal Event
Sourcing e CQRS viraram o Redux
Por que todo mundo fala de microservices pro Back-end?
É o caminho pra escalar! Mas precisamos ter em mente
umas coisas… *não se encaixa em toda app
Desacoplados Pequenos Tolerante a falhas Micro service wordpress (faz tudo)
No front-end são praticamente as mesmas normais
Desacoplados Pequenos Tolerante a falhas Micro service wordpress (faz tudo)
e no bundle size (JS puro ❤)
Legal fera, mas como faz?
Nesse tempo que tenho aqui vou mostrar 3 formas de
fazer
1. Usando NGIX 2. Usando o kubernetes 3. Usando <iframe/>
(*demo time)
Front-end e DevOps precisam andar bem no amor ❤
Server-Side template composition 1. Usando NGIX
None
Nginx Conf
Per page composition 1. Usando NGIX
None
Page/Fragment composition 2. Usando Kubernetes
None
Single service Simple fanout Name based virtual hosting 1 IP
pra vários Services 1 IP pra um Services 1 IP pra vários Hostnames
None
None
Fragment composition 3. Usando <iframe />
Por que iframe é um problema? *comunicação
None
None
DEMO
Conclusão &
Obrigado! igorluiz.me/talks - @IgorHalfeld