Microservices Architecture used by SoundCloud
Introduction to the SoundCloud
SoundCloud is a Swedish-founded global music and audio platform that allows its users to upload, promote and stream audio with various subscription services.
- As an open platform that directly connects artists and their fans, this became well known for its unique content and exclusive features acquiring over 175million monthly users.
- Sound cloud’s site uses adaptive web design with dynamic web serving and their API allows 3rd party programs to upload audio files or download files with uploader permission.
- This supports a wide variety of files such as AIFF, WAV, MP2, MP3 and it transcodes them to mp3 at 128kbit/s for streaming.
- It was initially built using monolithic architecture and was one of the first applications to move from monolithic to microservices architecture.
Moving from Monolithic to Microservices Architecture
- Soundcloud was initially created as a single monolithic Ruby on Rails application Running on the MRI, Ruby’s official interpreter, and backed by Memcached & MySQL.
- With the rapid increase of users, they faced issues of scaling as a large social network with a media distribution powerhouse.
- As a solution, they decided to move towards microservices architecture with the help of “Bounded Context” by Eric Evans and Martin Fowler.
- By decoupling the services from their monolithic Ruby on Rails application called mothership, they successfully moved from monolith to microservices architecture.
Microservices Architecture of SoundCloud
Microservices architecture is a variant of service-oriented architecture (SOA) structural style that arranges an application as a collection of loosely coupled services.
In a microservices architecture, services are fine-grained and protocols are lightweight.
With the use of microservices architecture SoundCloud’s mothership is broken into smaller autonomous independent services with the ability to communicate among themselves through well-defined API.
Benefits Soundcloud Gain Using Microservices
Ability to provide a high-quality streaming service.
Simplified the deployment of the app.
No single point of failure.
Enabled event sourcing to deal with shared data.
Freedom in the use of technology.
Started based on the Monolithic architecture sound cloud has successfully moved from Monolithic to Microservices proving that is a great idea.
Sneak peek at SoundCloud’s headquarters in Berlin! A creative, innovative, and fun place to work and collaborate.
Wanna join them? Find opportunities here: http://soundcloud.com/jobs