In 2017, our team of six engineers wanted to try out a clean architectural pattern and decided to use VIPER. In the text below, I’ll cover how the team worked on this.
Backstage Blog RSS
You're browsing posts of the category Architecture
November 6th, 2018 Engineering iOS Architecture How We Develop New Features Using Offsites and Clean Architecture By Guilherme Endres
July 10th, 2018 Architecture Data Keeping Counts In Sync By Lorand Kasler
Track play counts are essential for providing a good creator experience on the SoundCloud platform. They not only help creators keep track of their most popular songs, but they also give creators a better understanding of their fanbase and global impact. This post is a continuation of an earlier post that discussed what we do at SoundCloud to ensure creators get their play stats (along with their other stats), both reliably and in real time.
December 7th, 2017 Architecture Microservices How SoundCloud Uses HAProxy with Kubernetes for User-Facing Traffic By Matthias Rampke
A little less than two years ago, SoundCloud began the journey of replacing our homegrown deployment platform, [Bazooka], with [Kubernetes]. Kubernetes automates deployment, scaling, and management of containerized applications.
October 16th, 2017 iOS Architecture Leveraging frameworks to speed up our development on iOS - Part 1 By Pedro Piñera
Growth in code bases come with exciting scalability challenges. As the size of our iOS codebase and team at SoundCloud grew, we faced challenges: long compile times and conflicts. Our productivity started to suffer as a result. We took inspiration from the work done in the backend (Building Products at SoundCloud) and applied it to mobile development. The main goal was to get back to a state where development is fun, fast, and would scale as the number of contributors grew. We modularized our iOS project by splitting it up into modules with well-defined responsibilities and public interfaces that interconnect them.
June 20th, 2017 Architecture Data A Better Model of Data Ownership By Joe Kearney
Once upon a time, we had a single monolith of software, one mothership running everything. At SoundCloud, the proliferation of microservices came from moving functionality out of the mothership. There are plenty of benefits to splitting up features in this way. We want the same benefits for our data as well, by defining ownership of datasets and ensuring that the right teams own the right datasets.