hannes tyden clouds on rails

25
Clouds on Rails Ceará on Rails 2009 04 08

Upload: hidenowt

Post on 28-May-2015

1.057 views

Category:

Technology


1 download

DESCRIPTION

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...

TRANSCRIPT

Page 1: Hannes Tyden Clouds On Rails

Clouds on RailsCeará on Rails

2009 04 08

Page 2: Hannes Tyden Clouds On Rails

oi! eu sou

hannesda

SoundCloud

Page 3: Hannes Tyden Clouds On Rails

Topics

• About Me

• SoundCloud

• Team

• Infrastructure

• In the Cloud

• Workflow

• Web Service API

• Being a Developer in Berlin

Page 4: Hannes Tyden Clouds On Rails

About me

• 1998:Developer, SyncMediaComStockholm, Sweden

• 2002:Computer Science, Royal Institute of TechnologyStockholm, Sweden

• 2006:Exchange Program, Technische Universität BerlinBerlin, Germany

• 2007:Developer, SoundCloudBerlin, Germany

Page 5: Hannes Tyden Clouds On Rails

SoundCloud

• Flickr for audio

• Send

• Receive

• Distribute

Page 6: Hannes Tyden Clouds On Rails

Team

• 2 Back-end

• 2 Front-end

• 2 Bosses

• x Interns

Page 7: Hannes Tyden Clouds On Rails

Back end

• Rails 2.0.2

• nginx

• Sun Solaris 10 (Virtual)

• 1 Web

• 3 App

• 1 DB

• Amazon S3 and EC2 (RightAws)

• RabbitMQ (AMQP)

Page 8: Hannes Tyden Clouds On Rails

Front end

• haml → html

• sass → css

• jQuery

• Flash

• Uploader

• SoundManager

Page 9: Hannes Tyden Clouds On Rails

In the Cloud

• Storage – Amazon S3

• Processing – Amazon EC2

• Caching – Panther Express CDN

Page 10: Hannes Tyden Clouds On Rails

Upload

EC2

S3

Amazon

Page 11: Hannes Tyden Clouds On Rails

Download

S3

media.soundcloud.com (CDN)

soundcloud.com

Amazon

Page 12: Hannes Tyden Clouds On Rails

Download

S3

media.soundcloud.com (CDN)

HEAD

soundcloud.com

Amazon

GET GET

302

200 200

Access Granted

Page 13: Hannes Tyden Clouds On Rails

Download

S3

media.soundcloud.com (CDN)

HEAD

soundcloud.com

Amazon

GET

404

404

Access Denied

X

Page 14: Hannes Tyden Clouds On Rails

Workflow

• GitHub

• Master

• Stable

• Topic branches

• Lighthouse

• BDD

• Continuous Integration (Cruise Control)

Page 15: Hannes Tyden Clouds On Rails

BDD

soundcloud $ rake spec

Finished in 644.040877 seconds2235 examples, 0 failures

Page 16: Hannes Tyden Clouds On Rails

BDD

• 644 seconds > 10 minutes

• This means

• No Autotest

• Build breaks sometimes

Page 17: Hannes Tyden Clouds On Rails

Deploy procedure

• Build with JSLint

• Staging – staging-soundcloud.com

• Live – soundcloud.com

• Sandbox (API) – sandbox-soundcloud.com

Page 18: Hannes Tyden Clouds On Rails

Lessons Learned

• CDN

• Co-locate in same rack

• Caching

• Performance Profiling (New Relic RPM)

Page 19: Hannes Tyden Clouds On Rails

API

• Read and Write

• RESTish

• OAuth

Page 20: Hannes Tyden Clouds On Rails

API Libraries

• Python

• Cocoa

• Flash (Read only)

• Ruby?

Page 21: Hannes Tyden Clouds On Rails

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)

Page 22: Hannes Tyden Clouds On Rails

Being a Developer in Berlin

• Startups

• Music

• Media

• Culture

• Art

Page 23: Hannes Tyden Clouds On Rails

We’re hiring!

Page 24: Hannes Tyden Clouds On Rails

We’re hiring!

[email protected]

Page 25: Hannes Tyden Clouds On Rails

Questions?

http://soundcloud.com/hanneshttp://twitter.com/phtmailto:[email protected]:+49 157 7471 6101

Muito obrigado!