SlideShare uma empresa Scribd logo
1 de 22
MICRO
FRONTENDS
By @alexandroalves_
Alexandro Alves
Software Engineering | GlobalHitss
BACKGROUND
20 anos de experiência em análise e
desenvolvimento de sistemas em diversas
empresas.
Agenda
Pontos de discussão
Pensamento micro
O que são micro frontends?
Princípios da arquitetura
Abordagens na prática
"MICRO ARE THINGS WE CAN CHANGE.
TODAY, TOMORROW, IN THE NEAR TERM
FUTURE. THEY ARE THINGS WE BELIEVE
TO BE IN OUR CONTROL" - JORDAN
GONEN
Pensamento
micro
Monolito
Backend &
Frontend
Frontend &
Backend Frontend SPA
Backend
Frontend &
Micro
Services
Frontend SPA
Auth Service
API Gateway / BFF
Cart Service
PROBLEMAS COM MONOLITOS
ESCALABILIDADE
Escalar o time e a
aplicação tornam-
se tarefas mais
complexas ao longo
do tempo.
TECNOLOGIAS
Monolitos
reduzem a
capacidade de
utilizar a tecnologia
certa para cada
cenário.
COMPLEXIDADE
Com maior
complexidade de
código, mais riscos
e dificuldades nas
entregas contínuas.
COMUNICAÇÃO
Novas
funcionalidades
precisam de um
alto nível de
coordenação.
Rendimentos
decrescentes
Ceteris paribus
Um fator de produção reduzir-se-á conforme
o aumento da quantidade utilizada desse
fator.
Ao longo do
tempo
Tamanho da aplicação
Entregas e inovação
"MICRO FRONTENDS ARE THE TECHNICAL
REPRESENTATION OF A BUSINESS
SUBDOMAIN, THEY PROVIDE STRONG
BOUNDARIES WITH STRICT CONTRACTS" -
LUCA MEZZALIRA
Micro
frontends
Micro
Frontends
& Micro
Services
Auth Service
API Gateway / BFF
Auth Frontend Cart Frontend
Cart Service
Reverse Proxy / SSR / Base App
GANHOS AO IMPLEMENTAR
Autonomia
Times tem independências nas
tomadas de decisões e entregas.
Múltiplas
tecnologias
Possibilidade de utilizar a melhor
tecnologias para cada cenário.
Coesão
Times representam
funcionalidades do negócio de
ponta a ponta.
Integração
contínua
Com maior independência
processos de ci/cd tornam-se
simples.
Princípios
da arquitetura
Orientado a
microsserviços
Funcionalidades
autônomas
Agnóstico de tecnologias
Experiência do usuário
♥
PREPARANDO-SE PARA DECOMPOR
DESIGN SYSTEM
Ter um bom design
system e / ou
biblioteca de
componentes é
essencial para
melhorar a
experiência.
DOMÍNIOS
Entenda os
domínios e
subdomínios para
quebrar a aplicação
e garantir coesão
nos micro
frontends.
NECESSIDADES
Existem diversas
abordagens para a
arquitetura, escolha
a que melhor
atende as
necessidades da
aplicação.
MENOS É MAIS
Entender os
princípios da
arquitetura e
respeita-los desde o
início vai evitar
gargalos
posteriores.
Tempo de execução
separado
Micro aplicações ou
funcionalidades são
executadas em um contexto
isolado, geralmente
separados por rotas ou
Iframes.
Tempo de execução
compartilhado
Micro aplicações ou
funcionalidades
compartilham o mesmo
contexto de execução que
outras, necessitando
encapsulamento.
Iframes
Abordagem onde são
utilizados Iframes para prover
o encapsulamento e a
comunicação ocorre através
de eventBus usando método
postMessage.
App
3
App 2
App 4
App 1
Micro Apps
As aplicações estão em
tempo de execução
diferentes isolados por rotas,
geralmente utilizando um
proxy reverso para isso.
App 1
App 2
App
3
Web
Components
As aplicações dividem o
mesmo tempo de execução e
o encapsulamento ocorre
através de web components
(shadow DOM) e a
comunicação entre
aplicações através de
customEvents e afins.
FRAMEWORKS
Frameworks javascript são
utilizados para prover o
encapsulamento, como o
single-spa e afins.
TRANSCLUSÃO
Ferramentas de SSR ou in-
browser proveem a
combinação das aplicações
tempo de execução.
“A PATTERN IS NOT A
COOKBOOK. IT LETS YOU
START FROM A BASE OF
EXPERIENCE TO DEVELOP
YOUR SOLUTION”
ERIC EVANS
DÚVIDAS?
Obrigado!
TWITTER
@alexandroalves_
GITHUB
LINKEDIN
github.com/alexandro-alves
linkedin.com/in/alexandroramosalves

Mais conteúdo relacionado

Semelhante a Tecnologia badeada e MKicrofrontEnd e dotnet core

Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHPEduardo Cesar
 
Desafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesDesafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesleopoa
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOYan Justino
 
Do monolito ao microservico
Do monolito ao microservicoDo monolito ao microservico
Do monolito ao microservicoEduardo Cesar
 
Agenda Versão Final - CMG 14a. conferencia nacional
Agenda Versão Final - CMG 14a. conferencia nacionalAgenda Versão Final - CMG 14a. conferencia nacional
Agenda Versão Final - CMG 14a. conferencia nacionalJoao Galdino Mello de Souza
 
Arquitetando aplicações php
Arquitetando aplicações phpArquitetando aplicações php
Arquitetando aplicações phpEduardo Cesar
 
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCEAgenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCEJoao Galdino Mello de Souza
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Renato Groffe
 
Acelerando o desenvolvimento na nuvem com BlueMix e DevOps
Acelerando o desenvolvimento na nuvem com BlueMix e DevOpsAcelerando o desenvolvimento na nuvem com BlueMix e DevOps
Acelerando o desenvolvimento na nuvem com BlueMix e DevOpsFelipe Freire
 
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCEAgenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCEJoao Galdino Mello de Souza
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
NITECH - EVENT STORM
NITECH - EVENT STORM NITECH - EVENT STORM
NITECH - EVENT STORM NitechAcademy
 

Semelhante a Tecnologia badeada e MKicrofrontEnd e dotnet core (20)

Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHP
 
Microserviços
MicroserviçosMicroserviços
Microserviços
 
Desafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesDesafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservices
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
InfraGUIBuilder
InfraGUIBuilderInfraGUIBuilder
InfraGUIBuilder
 
Microservices
MicroservicesMicroservices
Microservices
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
 
Do monolito ao microservico
Do monolito ao microservicoDo monolito ao microservico
Do monolito ao microservico
 
Agenda Versão Final - CMG 14a. conferencia nacional
Agenda Versão Final - CMG 14a. conferencia nacionalAgenda Versão Final - CMG 14a. conferencia nacional
Agenda Versão Final - CMG 14a. conferencia nacional
 
Arquitetando aplicações php
Arquitetando aplicações phpArquitetando aplicações php
Arquitetando aplicações php
 
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCEAgenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
 
Acelerando o desenvolvimento na nuvem com BlueMix e DevOps
Acelerando o desenvolvimento na nuvem com BlueMix e DevOpsAcelerando o desenvolvimento na nuvem com BlueMix e DevOps
Acelerando o desenvolvimento na nuvem com BlueMix e DevOps
 
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCEAgenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
Agenda atualizada - 14TH CMG BRASIL PERFORMANCE AND CAPACITY PLANNING CONFERENCE
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Microservices 2
Microservices 2Microservices 2
Microservices 2
 
NITECH - EVENT STORM
NITECH - EVENT STORM NITECH - EVENT STORM
NITECH - EVENT STORM
 

Tecnologia badeada e MKicrofrontEnd e dotnet core