SoundCloud Backstage Blog

backstage.soundcloud.com · Company blog · on HN since 2011

SoundCloud's engineering team writes about its architecture, Go, Backbone.js, and data storage choices.

What HN saysHN links it for SoundCloud's use of Go, its Backbone.js site, and its account of failing with MongoDB for statistics before choosing Cassandra.
24HN people shared it
9linked it in comments
17stories submitted
480story points
13 years agolast shared
2011people per year2026

Most-shared posts

  1. 1
    Go at SoundCloud
    7 people · 190 points · first shared 2012 · 109 comments on HN
  2. 2
  3. 3
    Evolution of SoundCloud’s Architecture
    3 people · 21 points · first shared 2012 · discussion on HN
  4. 4
    MySQL for Statistics
    2 people · 6 points · first shared 2011 · discussion on HN
  5. 5
    Web Scale Statistics – Failing with MongoDB
    2 people · 4 points · first shared 2011 · discussion on HN
  6. 6
    Building SoundCloud Mobile with Backbone.js
    1 people · 36 points · first shared 2011 · 5 comments on HN
  7. 7
    Introducing the Large Hadron Migrator
    1 people · 16 points · first shared 2012 · 1 comments on HN
  8. 8
  9. 9
    Mountable API Proxies
    1 people · 2 points · first shared 2011 · discussion on HN
  10. 10
    Hack Your Way to JSConf EU in Berlin
    1 people · 1 points · first shared 2011 · discussion on HN
  11. 11
    Go at SoundCloud
    1 people · 1 points · first shared 2012 · discussion on HN
  12. 12
    Doing the right thing
    1 people · 1 points · first shared 2011 · discussion on HN
  13. 13
    Win a trip to the Barcelona Ruby Conference
    1 people · 1 points · first shared 2013 · discussion on HN

What HN people wrote when they linked it

BitMastro · 2013-08-15
dl.google.com handles all the downloads for google chrome, factory images for android, eclipse.. not exactly tiny and especially not insignificant complex web app: Cloudfare https://www.cloudflare.com/railgun BBC http://www.quora.com/Go-programming-language/Is-Google-Go-ready-for-pr… Soundcloud http://backstage.soundcloud.com/2012/07/go-at-soundcloud/
lincolnbryant · 2012-12-26
Soundcloud wrote a blog post http://backstage.soundcloud.com/2011/04/failing-with-mongodb/ about the specifics of how they failed in implementing an analytics platform in MongoDB, then went with Cassandra (and why). I have been at a company where it was on developers to deploy mongo clusters, setting up logging can suck, but still there are no numbers or even application integration specifics here. As someone pointed out - manual denormilization can suck. There are options like MongoHQ and Heroku though so this shouldn't resolve to "don't try a new data store its hard and possibly buggy".
mikeknoop · 2012-12-26
I've implemented something similar in the same manner (over-riding `new`). The original idea came from here: http://backstage.soundcloud.com/2012/06/building-the-next-soundcloud/ One implementation detail I ran into is how to detect dupes. When you have Backbone Models, this is easy: every model has an `id`. But say you want to apply this same singleton behavior to a Backbone Collection, which don't have natively have `id`s. I saw two options: 1. Assign an `id` to the collection when instantiated (could just be a string, so that you can force a singleton only when you desire it). 2. De-dupe based on `instanceof` checks. The downside here is you always get a singleton even if you might want a one-off instance of a collection. Are there any other options? Can your Identiy Map handle collections?
jpk · 2012-09-14
SoundCloud also precompiles their Handlebars templates. In general, it seems like a good idea. http://backstage.soundcloud.com/2012/06/building-the-next-soundcloud/
DanielRibeiro · 2012-09-03
Alternatively, if using Active Record/Rails, you can use Large Hadron Migrator gem: http://backstage.soundcloud.com/2011/05/introducing-the-large-hadron-m…
mseepgood · 2013-04-04
> Apart from Google (who uses it for Youtube), Go hasn't really been used in large projects. I don't know how large each of these projects is, but a growing number of companies are using it for serious projects: Iron.io: How We Went from 30 Servers to 2 with Go http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2-go.html Behind the Scenes: Big Data at Torbit http://torbit.com/blog/2013/02/19/big-data-at-torbit/ pool.ntp.org DNS server in Go http://news.ntppool.org/2012/10/new-dns-server.html Juju at Canonical http://www.reddit.com/r/programming/comments/18atce/juju_canonical_109… Go at bitly http://word.bitly.com/post/29550171827/go-go-gadget CloudFlare blows hole in laws of Web physics with Go and Railgun http://arstechnica.com/information-technology/2013/02/cloudflare-blows… dl.google.com now served by Go https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/BNUNbK… Go At Conformal https://www.cyphertite.com/blog.php?/archives/7-Go-at-Conformal..html Go at Novartis https://plus.google.com/114945221884326152379/posts/d1SVaqkRyTL Go at the BBC http://www.quora.com/Go-programming-language/Is-Google-Go-ready-for-pr… Go at SoundCloud http://backstage.soundcloud.com/2012/07/go-at-soundcloud/ Go at CloudFlare http://blog.cloudflare.com/go-at-cloudflare Go at Heroku http://blog.golang.org/2011/04/go-at-heroku.html Building StatHat with…
ungerik · 2012-09-16
Here is the content: Go at Heroku http://blog.golang.org/2011/04/go-at-heroku.html Why you PHP guys should learn Golang http://www.mikespook.com/2012/08/why-you-php-guys-should-learn-golang/ Go at CloudFlare http://blog.cloudflare.com/go-at-cloudflare Go at Moovweb https://groups.google.com/forum/#!topic/golang-nuts/MeiTNnGhLg8/discus… Go at SoundCloud http://backstage.soundcloud.com/2012/07/go-at-soundcloud/ Go at the BBC http://www.quora.com/Go-programming-lGetConsoleTitleanguage/Is-Google-… Go at Novartis https://plus.google.com/114945221884326152379/posts/d1SVaqkRyTL Google I/O 2012: Go in production http://www.youtube.com/watch?v=kKQLhGZVN4A @derekcollison: "Prediction: Go will become the dominant language for systems work in IaaS, Orchestration, and PaaS in 24 months." https://twitter.com/derekcollison/status/245522124666716160 @tobi: "I have now completed two projects in Go. I predict that it's going to be the dominant language for server work." https://twitter.com/tobi/status/245873677483274240 Why I went from Python to Go (and not node.js) http://jordanorelli.tumblr.com/post/31533769172/why-i-went-from-python… Packages/Libs http://godashboard.appspot.com/ http://go.pkgdoc.org/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close