# Inside a SoundCloud Microservice

DevFeed: [Inside a SoundCloud Microservice](<https://devfeed.tech/articles/inside-a-soundcloud-microservice-2056.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//inside-a-soundcloud-microservice>)

Published: 2017-07-28T00:00:00Z

Content type: article

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Microservice](<https://devfeed.tech/topics/microservice.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Finagle](<https://devfeed.tech/topics/finagle.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [API](<https://devfeed.tech/topics/api.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Network](<https://devfeed.tech/topics/network.md>), [RSS Feed](<https://devfeed.tech/topics/rss-feed.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [finagle](<https://devfeed.tech/tags/finagle.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [json](<https://devfeed.tech/tags/json.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [microservices-architecture](<https://devfeed.tech/tags/microservices-architecture.md>), [network](<https://devfeed.tech/tags/network.md>), [rss](<https://devfeed.tech/tags/rss.md>), [scala](<https://devfeed.tech/tags/scala.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>)

## AI overview

The article describes SoundCloud's transition from a monolithic backend to independently built and deployed microservices. It explains how the Creators Team implements services in Scala with Finagle, shared libraries, APIs, JSON or Thrift communication, configuration injection, telemetry, and service-to-service request aggregation.

## Source excerpt

If you're a regular visitor to this blog, you might be aware that we have been transitioning to a microservices based architecture over the past four to five years, as we have shared insights into the process and the related challenges on multiple occasions. To recap, adopting a microservices architecture has allowed us to regain team autonomy by breaking up our monolithic backend into dozens of decoupled services, each encapsulating a well defined portion of our product domain. Every service is built and deployed individually, communicating with other services over the network via light-weight data interchange formats such as JSON or Thrift. What we haven't touched on so far is how a microservice at SoundCloud looks backstage.