I actually found the article from Sam Newman went into greater depth: http://samnewman.io/patterns/architectural/bff/ Interesting to see this creates new problems, such as blocking calls to dependant services downstream, and what services you declare as critical or not. Also duplicate code is unavoidable. So if you're attempting this pattern, keep those things in mind since you will have limited technology choices. S…
The ‘Backends for Frontends’ Pattern at SoundCloud
11–20 of 26 posts
Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#12This pattern is essentially what technologies like GraphQL or Falcor make super easy. My GraphQL server talks to a bunch of microservices and presents a simple clean API for my web application, largely freeing the front-end from years worth of bloated APIs.
Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#13I actually found the article from Sam Newman went into greater depth: http://samnewman.io/patterns/architectural/bff/ Interesting to see this creates new problems, such as blocking calls to dependant services downstream, and what services you declare as critical or not. Also duplicate code is unavoidable. So if you're attempting this pattern, keep those things in mind since you will have limited technology choices. S…
Isn't this the same problem Facebook is solving with GraphGL and Netflix with Falcor? Doesn't it also make sense to use node.js and express where the front end meets the back end for two reasons; one, javascript is asynchronous in nature, and, two, javascript is the language used by frontend developers?
Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#14Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#15I see SoundCloud brand appearing more and more frequently in my blog/news feeds. Are they in the "search for the developers" /quick grow phase?
Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#16Earlier quoted context omitted.
Isn't this the same problem Facebook is solving with GraphGL and Netflix with Falcor? Doesn't it also make sense to use node.js and express where the front end meets the back end for two reasons; one, javascript is asynchronous in nature, and, two, javascript is the language used by frontend developers?
By "frontend", you might have ios or android apps, for instance (the case in this study).
Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#17This pattern is essentially what technologies like GraphQL or Falcor make super easy. My GraphQL server talks to a bunch of microservices and presents a simple clean API for my web application, largely freeing the front-end from years worth of bloated APIs.
Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#18Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#19This pattern is essentially what technologies like GraphQL or Falcor make super easy. My GraphQL server talks to a bunch of microservices and presents a simple clean API for my web application, largely freeing the front-end from years worth of bloated APIs.
I don't think having a single entry point aggregating micro-services to provide a unified API for all your front-ends is what this pattern is about. Actually pretty much the opposite, but maybe i'm missing something...
Re: The ‘Backends for Frontends’ Pattern at SoundCloud
#20My experience is that most programmers don't have a complete set of skills and attitudes to optimize distributed systems. From the systems programmer who writes mad C++ but can't understand why David Fielding hasn't won a Fields Medal to the application programmer who has never heard of O(N^2) and doesn't care, or the machine learning genius who is oblivious to locks and race conditions in development and seems to fix them by patching the production system directly multiple times over the course of a nail biting week for customers, management and staff. (Somehow planning to take 2 or 3 days of one person's time to understand the problem is a "waste of time")
Anyway, the key to this is working as a team that is closer to the sum of the parts rather than the difference.