Great summary. It would be interesting to hear what people use nowadays for API gateway. We’ve been using Kong for years, but wondering what else is there.
Big shoutout to BFF developers! 🔥😃 I've been doing it for many, many years. Every time I tell someone I work on the frontend they assume I'm good at CSS, Design, and styling. Then I have to explain them BFF. 😃
I take this as a personal shoutout, in addition to the other shoutout! Thanks, Saurabh!
However, LB can also be downstream to the API Gateway. For example, when you have multiple instances of the backend service, you can have a load balancer distributing requests between them.
Great explanation, Saurabh! I had not heard of BFFs before. Although, I understand the differences between the three entities, I am still wondering how and where should a BFF be placed in the backend.
Typically, I've seen BFFs sitting between the API Gateway and the instance-level Load balancers. In some cases, I've seen BFFs replace the gateway completely where the client makes the call to the appropriate BFF. This is good for internal systems where you don't want a full-blown API Gateway.
Thanks for the great article, I have a question that I’m a little bit confused on, if we take for example two microservices, order and shipping, these two are also duplicated into two other microservices, so in this architecture, would have a load balancer for all four microservices, and then an api gateway for each separate microservice ?
Great summary. It would be interesting to hear what people use nowadays for API gateway. We’ve been using Kong for years, but wondering what else is there.
Thanks Alex!
Big shoutout to BFF developers! 🔥😃 I've been doing it for many, many years. Every time I tell someone I work on the frontend they assume I'm good at CSS, Design, and styling. Then I have to explain them BFF. 😃
I take this as a personal shoutout, in addition to the other shoutout! Thanks, Saurabh!
Great explanations, as always. 👏
Wow...great to hear that Akos.
I usually don't find many folks who have worked a lot on BFFs. And a lot of times, they don't know they worked on a BFF 🙂
It feels like BFF is a fairly new pattern name for something we have been doing for a while now.
Haha good point about some folks not being aware of working within BFF 😄
Thanks for the great summary. DNS -> Load Balancer -> API gateway -> Backend service. is this the flow then ?
This can be one flow.
However, LB can also be downstream to the API Gateway. For example, when you have multiple instances of the backend service, you can have a load balancer distributing requests between them.
Great explanation, Saurabh! I had not heard of BFFs before. Although, I understand the differences between the three entities, I am still wondering how and where should a BFF be placed in the backend.
Thank you Shubham!
Typically, I've seen BFFs sitting between the API Gateway and the instance-level Load balancers. In some cases, I've seen BFFs replace the gateway completely where the client makes the call to the appropriate BFF. This is good for internal systems where you don't want a full-blown API Gateway.
Makes sense. Thanks for explaining this.
Three pieces of modern architecture that are often confused and intermingled.
Simply explained, Saurabh.
P.S. Thanks for mentioning my article!
Thank you Raul!
Keep the great articles coming 👊
thanks a lot Saurabh for this aweosme article.
Can you please make an article on "load balancers at different layers of OSI model".
Your content is very easy to understand.
Thanks for the great feedback Ashwani.
And sure...will add this topic idea to my list👍
Excellent article, as always, Saurabh. Thanks a lot for the mention.
Thanks for the great article, I have a question that I’m a little bit confused on, if we take for example two microservices, order and shipping, these two are also duplicated into two other microservices, so in this architecture, would have a load balancer for all four microservices, and then an api gateway for each separate microservice ?