Microservices is our BFF: Why SoundCloud stopped using its own Public API for its Mobile Clients
In the beginning, SoundCloud mobile and web clients both used our public API, which allowed us to “be our own customers” when driving our public API development. As our mobile and web clients evolved, public API development became a bottleneck for feature development, because mobile and web clients have different needs. To unblock ourselves, we introduced BFF (Backend-for-the-Frontend!), a framework to build custom, usecase-oriented APIs which allowed our mobile engineers to develop and maintain their own API (in Scala!). BFF’s goal is to make writing robust, scalable APIs easy. This talk describes the wins and learnings in moving to this architecture and how it enabled us to transition to feature teams at SoundCloud.