SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
Presented By: Chitra Singh &
Gaurav Srivastava
Introduction to BFF
architecture
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Join the session 5 minutes prior to
the session start time. We start on
time and conclude on time!
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Silent Mode
Keep your mobile devices in silent
mode, feel free to move out of
session in case you need to attend
an urgent call.
Avoid Disturbance
Avoid unwanted chit chat during
the session.
Our Agenda
01
Microservices Introduction
02 Why should I develop in microservices
03 Introduction to backend for front-end pattern
04 API vs BFF
05 When use BFF and its benifits
Why I should develop in microservices
● Scalability
● Multi language
● Reliability
● Easy to release
● Decoupled Services
● Performance
● Agile/Lean Team
● Better Maintenance
● Production ready
● Cross Platform
● Cloud Implementation
Microservices Introduction
Also known as microservices
architecture- is an architectural style
That structures an application as a
Collection of service that are highly
Maintainable, testable , resiliently,
Independently, deployable and
Organized around business
capability
Breaking up an application into a
series of smaller , more specialized
part , each of which communicate
with one another across common
interfaces such as API and REST
interface like HTTP.
Microservices
Back-end-for-front-end is an
architectural paradigm, a variant of
the API gateway pattern, with each
client application having its
corresponding back-end application.
This pattern is good when you have
multiple client interfaces with diverse
needs, leveraging the same
underlying resources. A real-world
example of the BFF pattern is an
application having both a Web and a
mobile client.
-Support for multiple isolated
interfaces.
-Client specific trueaks are much
faster.
-Hide sensitive information
seamlessly.
-Picking right stack / protocols for
client.
Why BFF?
BFF-Architecture
Introduction to the Back-End for Front-End Pattern
● Let’s imagine the case when you need to create a mobile app for an existing
system. The system was one monolithic solution that exposed an API serving only
the web client.
● The idea from the client is not only limited to new mobile apps, but he also considers
voice assistants and 3rd party services which will use our API.
● So the issue is that one API needs to support all these types of clients, and we need to
take care of their requirements and maintenance.
● The back-end for front-end (BFF) architectural pattern proposes a server-side component for each
front-end application, thus enhancing and improving the user experience.
● A BFF layer comprises multiple back-ends that are designed to meet the demands of specific
front-end applications, such as desktop, browser, and native-mobile applications.
● One of the most appealing aspects of BFF is that it provides smooth user interaction independent of
the platform on which the front-end application executes.
Introduction to the Back-End for Front-End Pattern
Monolithic
DB
CLient
General purpose API vs BFF
● You need to think of the user-facing application as being two
components — a client-side application living outside your
perimeter and a server-side component (BFF) inside your
perimeter.
● BFF is a variant of the API Gateway pattern, but it also provides an
additional layer between microservices and each client type
separately.
● Instead of a single point of entry, it introduces multiple gateways.
● Because of that, you can have a tailored API that targets the needs
of each client (mobile, web, desktop, voice assistant, etc.), and
remove a lot of the bloat caused by keeping it all in one place. The
previous image describes how it works.
Backend for Frontend (BFF) design pattern over API gateway
When use BFF?
● Like many other patterns, using the BFF in your application depends on the context and the architecture you
plan to follow.
● For an application that only provides one front-end, I suspect Backend For Frontend will only make sense if and
when you have a significant amount of aggregation required on the server-side. Still, even then, the concept of
API gateway can be used. BFF style can be considered when you plan to extend the number of frontend types.
● If your application needs to develop an optimized backend for a specific frontend interface or your clients need
to consume data that require aggregation on the backend, BFF is for sure a suitable option. Of course, you might
reconsider if the cost of deploying additional BFFs’ services is high, but even then the separation of concerns that
a BFF can bring make it a fairly compelling proposition in most cases.
● BFF is impacting the development community in many positive ways and here are just a few
reasons behind its appeal:
● Multiple frontend application interfaces can call their respective BFF backends in parallel, and
dedicated backend services can respond faster.
● Following BFF architecture reduces the time to make modifications and enhancements in backend
systems with dedicated teams working on the upgrades.
● The BFF layer in the overall system architecture can benefit from hiding sensitive or unnecessary
data before transferring it to the frontend application interface, which helps simplify the system.
● BFF backend systems can use any protocol like FTP, SOAP, REST or GraphQL to request data from
microservices, but still use a single protocol when interacting with the frontend application
interface.
The Benefits of BFF
Try Out with
showcase
Thank You !
Get in touch with us:
Lorem Studio, Lord Building
D4456, LA, USA

Contenu connexe

Tendances

Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge
Apigee | Google Cloud
 

Tendances (20)

AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2) AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2)
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimization
 
Transparency and Control with AWS CloudTrail and AWS Config
Transparency and Control with AWS CloudTrail and AWS ConfigTransparency and Control with AWS CloudTrail and AWS Config
Transparency and Control with AWS CloudTrail and AWS Config
 
Amazon API Gateway and AWS Lambda: Better Together
Amazon API Gateway and AWS Lambda: Better TogetherAmazon API Gateway and AWS Lambda: Better Together
Amazon API Gateway and AWS Lambda: Better Together
 
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
AWS를 활용한 글로벌 오피스 업무 환경 구축하기 - 류한진, 이랜드시스템스 :: AWS Summit Seoul 2019
 
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
 
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
 
API Management and Kubernetes
API Management and KubernetesAPI Management and Kubernetes
API Management and Kubernetes
 
Build your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS AmplifyBuild your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS Amplify
 
AWS Black Belt Tech シリーズ 2015 AWS Device Farm
AWS Black Belt Tech シリーズ 2015 AWS Device FarmAWS Black Belt Tech シリーズ 2015 AWS Device Farm
AWS Black Belt Tech シリーズ 2015 AWS Device Farm
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge
 
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
 
AWS Certified Solutions Architect Professional Course S1-S5
AWS Certified Solutions Architect Professional Course S1-S5AWS Certified Solutions Architect Professional Course S1-S5
AWS Certified Solutions Architect Professional Course S1-S5
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice Architecture
 
Using Ansible and PowerShell Together
Using Ansible and PowerShell TogetherUsing Ansible and PowerShell Together
Using Ansible and PowerShell Together
 
Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
Hands-On with Amazon ElastiCache for Redis - Workshop (DAT309-R1) - AWS re:In...
 
AWS Lambda Features and Uses
AWS Lambda Features and UsesAWS Lambda Features and Uses
AWS Lambda Features and Uses
 
Google Cloud Vision API
Google Cloud Vision APIGoogle Cloud Vision API
Google Cloud Vision API
 
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
 

Similaire à Microservices - BFF architecture and implementation

Asp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTDAsp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTD
Tasnim Jahan
 
BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)
BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)
BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)
Juan Pablo
 

Similaire à Microservices - BFF architecture and implementation (20)

Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM Bluemix
 
Oracle RightNow Customer Portal Migration
Oracle RightNow Customer Portal MigrationOracle RightNow Customer Portal Migration
Oracle RightNow Customer Portal Migration
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
3298 microservices and how they relate to esb api and messaging - inter con...
3298   microservices and how they relate to esb api and messaging - inter con...3298   microservices and how they relate to esb api and messaging - inter con...
3298 microservices and how they relate to esb api and messaging - inter con...
 
Flutter and Firebase – A Helpful Blend for Your Business App
Flutter and Firebase – A Helpful Blend for Your Business AppFlutter and Firebase – A Helpful Blend for Your Business App
Flutter and Firebase – A Helpful Blend for Your Business App
 
Microservices&ap imanagement
Microservices&ap imanagementMicroservices&ap imanagement
Microservices&ap imanagement
 
Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
MVC & CodeIgniter
MVC & CodeIgniterMVC & CodeIgniter
MVC & CodeIgniter
 
A Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxA Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docx
 
A Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docxA Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docx
 
Api design part 1
Api design part 1Api design part 1
Api design part 1
 
Asp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTDAsp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTD
 
Node.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontendsNode.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontends
 
BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)
BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)
BizTalk Server, BizTalk Services and Windows Workflow Foundation (WF)
 
SaaS Introduction-May2014
SaaS Introduction-May2014SaaS Introduction-May2014
SaaS Introduction-May2014
 
ngStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend ArchitecturengStockholm #8 at NetEnt - Micro Frontend Architecture
ngStockholm #8 at NetEnt - Micro Frontend Architecture
 
Achieving The Telegraph's Digital Publishing Objectives - Phase 1
Achieving The Telegraph's Digital Publishing Objectives - Phase 1Achieving The Telegraph's Digital Publishing Objectives - Phase 1
Achieving The Telegraph's Digital Publishing Objectives - Phase 1
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 

Plus de Knoldus Inc.

Plus de Knoldus Inc. (20)

Supply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxSupply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptx
 
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingMastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
 
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionAkka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
 
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxEntity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
 
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptxIntroduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
 
GraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdfGraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdf
 
NuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptxNuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptx
 
Data Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable TestingData Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable Testing
 
K8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose KubernetesK8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose Kubernetes
 
Introduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptxIntroduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptx
 
Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptx
 
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptx
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptx
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake Presentation
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics Presentation
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II Presentation
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAConfiguring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRA
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

Microservices - BFF architecture and implementation

  • 1. Presented By: Chitra Singh & Gaurav Srivastava Introduction to BFF architecture
  • 2. Lack of etiquette and manners is a huge turn off. KnolX Etiquettes Punctuality Join the session 5 minutes prior to the session start time. We start on time and conclude on time! Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter. Silent Mode Keep your mobile devices in silent mode, feel free to move out of session in case you need to attend an urgent call. Avoid Disturbance Avoid unwanted chit chat during the session.
  • 3. Our Agenda 01 Microservices Introduction 02 Why should I develop in microservices 03 Introduction to backend for front-end pattern 04 API vs BFF 05 When use BFF and its benifits
  • 4. Why I should develop in microservices ● Scalability ● Multi language ● Reliability ● Easy to release ● Decoupled Services ● Performance ● Agile/Lean Team ● Better Maintenance ● Production ready ● Cross Platform ● Cloud Implementation
  • 5. Microservices Introduction Also known as microservices architecture- is an architectural style That structures an application as a Collection of service that are highly Maintainable, testable , resiliently, Independently, deployable and Organized around business capability Breaking up an application into a series of smaller , more specialized part , each of which communicate with one another across common interfaces such as API and REST interface like HTTP. Microservices Back-end-for-front-end is an architectural paradigm, a variant of the API gateway pattern, with each client application having its corresponding back-end application. This pattern is good when you have multiple client interfaces with diverse needs, leveraging the same underlying resources. A real-world example of the BFF pattern is an application having both a Web and a mobile client. -Support for multiple isolated interfaces. -Client specific trueaks are much faster. -Hide sensitive information seamlessly. -Picking right stack / protocols for client. Why BFF? BFF-Architecture
  • 6. Introduction to the Back-End for Front-End Pattern ● Let’s imagine the case when you need to create a mobile app for an existing system. The system was one monolithic solution that exposed an API serving only the web client. ● The idea from the client is not only limited to new mobile apps, but he also considers voice assistants and 3rd party services which will use our API. ● So the issue is that one API needs to support all these types of clients, and we need to take care of their requirements and maintenance.
  • 7. ● The back-end for front-end (BFF) architectural pattern proposes a server-side component for each front-end application, thus enhancing and improving the user experience. ● A BFF layer comprises multiple back-ends that are designed to meet the demands of specific front-end applications, such as desktop, browser, and native-mobile applications. ● One of the most appealing aspects of BFF is that it provides smooth user interaction independent of the platform on which the front-end application executes. Introduction to the Back-End for Front-End Pattern Monolithic DB CLient
  • 9. ● You need to think of the user-facing application as being two components — a client-side application living outside your perimeter and a server-side component (BFF) inside your perimeter. ● BFF is a variant of the API Gateway pattern, but it also provides an additional layer between microservices and each client type separately. ● Instead of a single point of entry, it introduces multiple gateways. ● Because of that, you can have a tailored API that targets the needs of each client (mobile, web, desktop, voice assistant, etc.), and remove a lot of the bloat caused by keeping it all in one place. The previous image describes how it works. Backend for Frontend (BFF) design pattern over API gateway
  • 10. When use BFF? ● Like many other patterns, using the BFF in your application depends on the context and the architecture you plan to follow. ● For an application that only provides one front-end, I suspect Backend For Frontend will only make sense if and when you have a significant amount of aggregation required on the server-side. Still, even then, the concept of API gateway can be used. BFF style can be considered when you plan to extend the number of frontend types. ● If your application needs to develop an optimized backend for a specific frontend interface or your clients need to consume data that require aggregation on the backend, BFF is for sure a suitable option. Of course, you might reconsider if the cost of deploying additional BFFs’ services is high, but even then the separation of concerns that a BFF can bring make it a fairly compelling proposition in most cases.
  • 11. ● BFF is impacting the development community in many positive ways and here are just a few reasons behind its appeal: ● Multiple frontend application interfaces can call their respective BFF backends in parallel, and dedicated backend services can respond faster. ● Following BFF architecture reduces the time to make modifications and enhancements in backend systems with dedicated teams working on the upgrades. ● The BFF layer in the overall system architecture can benefit from hiding sensitive or unnecessary data before transferring it to the frontend application interface, which helps simplify the system. ● BFF backend systems can use any protocol like FTP, SOAP, REST or GraphQL to request data from microservices, but still use a single protocol when interacting with the frontend application interface. The Benefits of BFF
  • 13. Thank You ! Get in touch with us: Lorem Studio, Lord Building D4456, LA, USA