Clouds on Rails
    Ceará on Rails
     2009 04 08
oi! eu sou

hannes
da


SoundCloud
Topics
•   About Me

•   SoundCloud
    •   Team
    •   Infrastructure
    •   In the Cloud
    •   Workflow
    •   Web S...
About me
•   1998:
    Developer, SyncMediaCom
    Stockholm, Sweden

•   2002:
    Computer Science, Royal Institute of T...
SoundCloud
•   Flickr for audio

•   Send

•   Receive

•   Distribute
Team
•   2 Back-end

•   2 Front-end

•   2 Bosses

•   x Interns
Back end
•   Rails 2.0.2

•   nginx

•   Sun Solaris 10 (Virtual)
    •   1 Web
    •   3 App
    •   1 DB

•   Amazon S3 ...
Front end
•   haml → html

•   sass → css

•   jQuery

•   Flash

    •   Uploader

    •   SoundManager
In the Cloud
•   Storage – Amazon S3

•   Processing – Amazon EC2

•   Caching – Panther Express CDN
Upload   Amazon


                  S3




                  EC2
Download
                             Amazon


                                      S3

media.soundcloud.com (CDN)




  ...
Download
                              Amazon
 GET                    GET

                                       S3
 200 ...
Download
                              Amazon
 GET

                        X              S3
 404

media.soundcloud.com (...
Workflow
•   GitHub

    •   Master

    •   Stable

    •   Topic branches

•   Lighthouse

•   BDD

•   Continuous Integr...
BDD
soundcloud $ rake spec

Finished in 644.040877 seconds
2235 examples, 0 failures
BDD
•   644 seconds > 10 minutes

•   This means

    •   No Autotest

    •   Build breaks sometimes
Deploy procedure
•   Build with JSLint

•   Staging – staging-soundcloud.com

•   Live – soundcloud.com

•   Sandbox (API)...
Lessons Learned
•   CDN

•   Co-locate in same rack

•   Caching

•   Performance Profiling (New Relic RPM)
API
•   Read and Write

•   RESTish

•   OAuth
API Libraries
•   Python

•   Cocoa

•   Flash (Read only)

•   Ruby?
API Clients
•   RadioClouds (Flash)
    http://radioclouds.com

•   Facebook application (PHP)

•   The Cloud Player (Pyth...
Being a Developer in Berlin
•   Startups

•   Music

•   Media

•   Culture

•   Art
We’re hiring!
We’re hiring!


jobs@soundcloud.com
Muito obrigado!

                          Questions?




http://soundcloud.com/hannes
http://twitter.com/pht
mailto:hanne...
Upcoming SlideShare
Loading in...5
×

Hannes Tyden Clouds On Rails

1,065

Published on

Apresentação do Hannes Sueco, na primeira edição do Ceará On Rails 2009, Hannes reside em Berlin e é desenvolvedor da Soundcloud uma Startup de programação em nuvens onde compartilha musicas, além de aplicar ideias do twitter e orkut...

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,065
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Hannes Tyden Clouds On Rails

  1. 1. Clouds on Rails Ceará on Rails 2009 04 08
  2. 2. oi! eu sou hannes da SoundCloud
  3. 3. Topics • About Me • SoundCloud • Team • Infrastructure • In the Cloud • Workflow • Web Service API • Being a Developer in Berlin
  4. 4. About me • 1998: Developer, SyncMediaCom Stockholm, Sweden • 2002: Computer Science, Royal Institute of Technology Stockholm, Sweden • 2006: Exchange Program, Technische Universität Berlin Berlin, Germany • 2007: Developer, SoundCloud Berlin, Germany
  5. 5. SoundCloud • Flickr for audio • Send • Receive • Distribute
  6. 6. Team • 2 Back-end • 2 Front-end • 2 Bosses • x Interns
  7. 7. Back end • Rails 2.0.2 • nginx • Sun Solaris 10 (Virtual) • 1 Web • 3 App • 1 DB • Amazon S3 and EC2 (RightAws) • RabbitMQ (AMQP)
  8. 8. Front end • haml → html • sass → css • jQuery • Flash • Uploader • SoundManager
  9. 9. In the Cloud • Storage – Amazon S3 • Processing – Amazon EC2 • Caching – Panther Express CDN
  10. 10. Upload Amazon S3 EC2
  11. 11. Download Amazon S3 media.soundcloud.com (CDN) soundcloud.com
  12. 12. Download Amazon GET GET S3 200 200 media.soundcloud.com (CDN) HEAD 302 Access Granted soundcloud.com
  13. 13. Download Amazon GET X S3 404 media.soundcloud.com (CDN) HEAD 404 Access Denied soundcloud.com
  14. 14. Workflow • GitHub • Master • Stable • Topic branches • Lighthouse • BDD • Continuous Integration (Cruise Control)
  15. 15. BDD soundcloud $ rake spec Finished in 644.040877 seconds 2235 examples, 0 failures
  16. 16. BDD • 644 seconds > 10 minutes • This means • No Autotest • Build breaks sometimes
  17. 17. Deploy procedure • Build with JSLint • Staging – staging-soundcloud.com • Live – soundcloud.com • Sandbox (API) – sandbox-soundcloud.com
  18. 18. Lessons Learned • CDN • Co-locate in same rack • Caching • Performance Profiling (New Relic RPM)
  19. 19. API • Read and Write • RESTish • OAuth
  20. 20. API Libraries • Python • Cocoa • Flash (Read only) • Ruby?
  21. 21. API Clients • RadioClouds (Flash) http://radioclouds.com • Facebook application (PHP) • The Cloud Player (Python) http://thecloudplayer.com • Listen to Blogs (Python) http://listentoblogs.com • Audiophile FiRe (iPhone)
  22. 22. Being a Developer in Berlin • Startups • Music • Media • Culture • Art
  23. 23. We’re hiring!
  24. 24. We’re hiring! jobs@soundcloud.com
  25. 25. Muito obrigado! Questions? http://soundcloud.com/hannes http://twitter.com/pht mailto:hannes@soundcloud.com phone:+49 157 7471 6101
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×