the BFF vs API gateway distinction is one that trips up a lot of teams. I've seen BFF logic creep into the gateway layer over time and it becomes a maintenance nightmare. keeping them separate forces better ownership: gateway is infra/platform, BFF is owned by the frontend team and can evolve at their pace. one thing worth adding to the tradeoffs: BFF can quietly become a distributed monolith if multiple clients start sharing the same BFF. happens more than people expect.
Totally agree with this — especially the part about BFF logic creeping into the API Gateway over time. I’ve seen the same pattern where the gateway slowly turns into a “god layer,” which defeats its original purpose as a clean infra boundary.
Keeping a strict separation really helps with ownership — gateway stays platform-focused, while BFF remains aligned with frontend needs and can evolve independently.
Also, great point on BFF turning into a distributed monolith. This is something many teams underestimate. Once multiple clients start sharing the same BFF, it gradually accumulates mixed concerns and tight coupling.
In my experience, the safest approach is to keep BFFs client-specific and push shared logic down to services instead of letting BFF grow uncontrollably.
Really insightful observation 👏
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
the BFF vs API gateway distinction is one that trips up a lot of teams. I've seen BFF logic creep into the gateway layer over time and it becomes a maintenance nightmare. keeping them separate forces better ownership: gateway is infra/platform, BFF is owned by the frontend team and can evolve at their pace. one thing worth adding to the tradeoffs: BFF can quietly become a distributed monolith if multiple clients start sharing the same BFF. happens more than people expect.
Totally agree with this — especially the part about BFF logic creeping into the API Gateway over time. I’ve seen the same pattern where the gateway slowly turns into a “god layer,” which defeats its original purpose as a clean infra boundary.
Keeping a strict separation really helps with ownership — gateway stays platform-focused, while BFF remains aligned with frontend needs and can evolve independently.
Also, great point on BFF turning into a distributed monolith. This is something many teams underestimate. Once multiple clients start sharing the same BFF, it gradually accumulates mixed concerns and tight coupling.
In my experience, the safest approach is to keep BFFs client-specific and push shared logic down to services instead of letting BFF grow uncontrollably.
Really insightful observation 👏