My understanding is that API gateway pattern is like a proxy to all microservices. So client calls the API gateway which takes care of further routing. BFF is a specific case of API gateway pattern where we have a routing mechanism for each type of client. Am I right?
1 Answer
Yes, it is a specific case of API Gateway. For me this comment was helpful for understanding. It says you may think about the following cases when we are talking about API Gateway - Client relationships:
- A single API gateway providing a single API for all clients.
- A single API gateway provides an API for each kind of client.
- A per-client API gateway providing each client with an API. This is the BFF pattern.
2 Comments
Mihai
Here I see an important thing to notice, namely hat Sam Newman recommends BFF to be owned by the team that owns the client that BFF serves. For API Gateway, I think there is no best practice in terms of ownership.
Aleksei LItsov
@Mihai you're correct. And he also states that bff is more per user experience/client type, not just per each client.