SlideShare une entreprise Scribd logo
1  sur  34
Como BFF (Backend for
Frontend) pode ser seu
melhor amigo para lidar
com diferentes frontends
Cristiano
Arquiteto Software
@crisaltmann
2
Deivid
Desenvolvedor Web
@deividhf
3
Micro serviços
Vamos falar um pouco sobre essa
buzzword...
1.
Micro serviços
5
6
Deploy independente
Baixo acoplamento
Escalabilidade
Horizontal
Escolha tecnologias
Tempo de negócio
Times independentes
Evolução
tecnológica
Resiliente
SERVIÇOS
Unidades interoperáveis que podem
facilmente ser reutilizados e
compartilhados entre aplicações e
empresas
7
Definindo serviços
com DDD
▪ Orientado ao domínio
▪ Contextos delimitados
8
Conta
Corrente
Pessoa
9
Dificuldades
Algumas dificuldades na adoção desta
arquitetura...
2.
Design
▪ Dificuldade de manter a
coesão do domínio do
serviço
▪ Necessidades UI
11
Rede
▪ Comunicação sujeita a
falhas
▪ Chatty
12
Dados
▪ Contratos dos serviços
não levam em
consideração o Front
End
13
Multi UI
▪ Infinidade de Front ends
consumindo os serviços
14
E o BFF….
3.
BFF
Um componente responsável por
conectar as necessidades específicas de
Front end com os serviços.
16
17
Características
Agregação
Agregar dados de
diferentes servicos.
Adaptação
Adaptar o contrato do
serviço à necessidade do
front end.
Sem regras de negócios
As regras de negócio
devem estar nos serviços.
18
Quantos
BFFs?
▪ Adequar à distribuição
dos times
▪ BFFs por experiência
19
Vantagens
Algumas vantagens do uso do BFF
4.
Autonomia
do front end
▪ Mock dos dados no BFF
▪ Não depender do back
end para testar
integração
21
Domínios
▪ Coesos
▪ Não precisam se adaptar
às necessidades de front
ends
22
Chamadas
▪ Latência
▪ Rede
23
Teste A/B
24
Controle
versão
▪ Migração versões de
serviços
25
Diferentes
protocolos
▪ Permite que a
comunicação com a UI
seja desacoplada do
backend
26
Desvantagens
Alguns problemas que a adoção do
pattern nos traz
5.
Mais um
componente...
28
Ponto único de
falha
29
Conclusão
Aprendizados sobre o uso do pattern
6.
Mantivemos
sistemas
coesos
▪ Graças ao BFF
31
Tecnologias
▪ Devem ser simples
▪ Sem verbosidade
32
Habilidades
▪ Complexidades do back
end levados ao front
33
Obrigado!
34

Contenu connexe

Tendances

3_Protokol Komunikasi IOT.pdf
3_Protokol Komunikasi IOT.pdf3_Protokol Komunikasi IOT.pdf
3_Protokol Komunikasi IOT.pdf
dioanugrah1
 
Speech recognition final
Speech recognition finalSpeech recognition final
Speech recognition final
Arpit Kumar
 

Tendances (20)

Speech Recognition
Speech RecognitionSpeech Recognition
Speech Recognition
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Processos de desenvolvimento de software técnicas de 4ª geração
Processos de desenvolvimento de software   técnicas de 4ª geraçãoProcessos de desenvolvimento de software   técnicas de 4ª geração
Processos de desenvolvimento de software técnicas de 4ª geração
 
Speech Recognition Using Python | Edureka
Speech Recognition Using Python | EdurekaSpeech Recognition Using Python | Edureka
Speech Recognition Using Python | Edureka
 
3_Protokol Komunikasi IOT.pdf
3_Protokol Komunikasi IOT.pdf3_Protokol Komunikasi IOT.pdf
3_Protokol Komunikasi IOT.pdf
 
Text to speech with Google Cloud
Text to speech with Google CloudText to speech with Google Cloud
Text to speech with Google Cloud
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Speech Recognition by Iqbal
Speech Recognition by IqbalSpeech Recognition by Iqbal
Speech Recognition by Iqbal
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Natural language processing (NLP) introduction
Natural language processing (NLP) introductionNatural language processing (NLP) introduction
Natural language processing (NLP) introduction
 
Video Compression Part 1 Video Principles
Video Compression Part 1 Video Principles Video Compression Part 1 Video Principles
Video Compression Part 1 Video Principles
 
Natural language processing PPT presentation
Natural language processing PPT presentationNatural language processing PPT presentation
Natural language processing PPT presentation
 
Speech recognition final
Speech recognition finalSpeech recognition final
Speech recognition final
 
Introduction to Natural Language Processing
Introduction to Natural Language ProcessingIntroduction to Natural Language Processing
Introduction to Natural Language Processing
 
Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processing
 
Internet Of Things
Internet Of ThingsInternet Of Things
Internet Of Things
 
Internet of Things Overview
Internet of Things OverviewInternet of Things Overview
Internet of Things Overview
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 

Similaire à Como bff (backend for frontend) pode ser seu melhor amigo para lidar com diferentes frontends

Similaire à Como bff (backend for frontend) pode ser seu melhor amigo para lidar com diferentes frontends (20)

Microservices
MicroservicesMicroservices
Microservices
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015
 
Microservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendMicroservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev Weekend
 
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
 
Novas oportunidades de negócios com 5G e nuvem
Novas oportunidades de negócios com 5G e nuvemNovas oportunidades de negócios com 5G e nuvem
Novas oportunidades de negócios com 5G e nuvem
 
Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...
Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...
Utilizando a nuvem para proteger o mercado financeiro com segurança, agilidad...
 
Vida longa para SOA com microservices
Vida longa para SOA com microservicesVida longa para SOA com microservices
Vida longa para SOA com microservices
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicos
 
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
 
DDD e Restful SOA
DDD e Restful SOADDD e Restful SOA
DDD e Restful SOA
 
Do mapa mental para Serviços de Dados até APIs
Do mapa mental para Serviços de Dados até APIsDo mapa mental para Serviços de Dados até APIs
Do mapa mental para Serviços de Dados até APIs
 
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
 
JUGVale 14 - 14/09/2019
JUGVale 14 - 14/09/2019JUGVale 14 - 14/09/2019
JUGVale 14 - 14/09/2019
 
Micro frontend de um jeito que você nunca viu
Micro frontend de um jeito que você nunca viuMicro frontend de um jeito que você nunca viu
Micro frontend de um jeito que você nunca viu
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!
 
Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estilo
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
 
Front end architecture
Front end architectureFront end architecture
Front end architecture
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 

Plus de Cristiano Altmann (6)

[Meetup ms] Kafka Streams
[Meetup ms] Kafka Streams[Meetup ms] Kafka Streams
[Meetup ms] Kafka Streams
 
Kafka Streams
Kafka StreamsKafka Streams
Kafka Streams
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Kubernetes + netflix oss
Kubernetes + netflix ossKubernetes + netflix oss
Kubernetes + netflix oss
 
Guday netflix oss
Guday netflix ossGuday netflix oss
Guday netflix oss
 
Netflix oss
Netflix ossNetflix oss
Netflix oss
 

Dernier

Dernier (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

Como bff (backend for frontend) pode ser seu melhor amigo para lidar com diferentes frontends

Notes de l'éditeur

  1. Unidades interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.
  2. Unidades interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.