Transcript
Page 1: APIs: The Problems with Eating your Own Dog Food

The problems with

dog food

eating your own

Phil CalçadoSoundCloud

Thursday, October 17, 13

Page 2: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 3: APIs: The Problems with Eating your Own Dog Food

>11 hours ofaudio uploaded every minute

Thursday, October 17, 13

Page 4: APIs: The Problems with Eating your Own Dog Food

~200million usersevery month

Thursday, October 17, 13

Page 5: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 6: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 7: APIs: The Problems with Eating your Own Dog Food

http://bit ly/tech-behind-new-twittercomThursday, October 17, 13

Page 8: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 9: APIs: The Problems with Eating your Own Dog Food

Just before

releasethe beta

Thursday, October 17, 13

Page 10: APIs: The Problems with Eating your Own Dog Food

http://bit ly/improving-performance-twittercomThursday, October 17, 13

Page 11: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 12: APIs: The Problems with Eating your Own Dog Food

Ship it?

Thursday, October 17, 13

Page 13: APIs: The Problems with Eating your Own Dog Food

Ship it!(just overprovision the api)

Thursday, October 17, 13

Page 14: APIs: The Problems with Eating your Own Dog Food

~3 back-end requests

Thursday, October 17, 13

Page 15: APIs: The Problems with Eating your Own Dog Food

~159 back-end requests

Thursday, October 17, 13

Page 16: APIs: The Problems with Eating your Own Dog Food

haproxywere the

First to break

Thursday, October 17, 13

Page 17: APIs: The Problems with Eating your Own Dog Food

memcachedThen

Thursday, October 17, 13

Page 18: APIs: The Problems with Eating your Own Dog Food

Rails/MySQLThen

Thursday, October 17, 13

Page 19: APIs: The Problems with Eating your Own Dog Food

need faster api

Railswon’t go away

Thursday, October 17, 13

Page 20: APIs: The Problems with Eating your Own Dog Food

SoundCloud.com

Thursday, October 17, 13

Page 21: APIs: The Problems with Eating your Own Dog Food

Sounds & Sets

Social Graph

Premium Features Search

Activity Stream

API

Thursday, October 17, 13

Page 22: APIs: The Problems with Eating your Own Dog Food

Sounds & Sets

Social Graph

Premium Features Search

Activity Stream

API

Thursday, October 17, 13

Page 23: APIs: The Problems with Eating your Own Dog Food

0%

25%

50%

75%

100%

Original Services Extracted

Database Other HTTP

Thursday, October 17, 13

Page 24: APIs: The Problems with Eating your Own Dog Food

0%

25%

50%

75%

100%

Original Services Extracted

Database Other HTTP

Thursday, October 17, 13

Page 25: APIs: The Problems with Eating your Own Dog Food

0%

25%

50%

75%

100%

Original Services Extracted

Database Other HTTP

about the same, tbh

Thursday, October 17, 13

Page 26: APIs: The Problems with Eating your Own Dog Food

need faster Rails

Railswon’t go away

Thursday, October 17, 13

Page 27: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 28: APIs: The Problems with Eating your Own Dog Food

lots of I/Oconcurrency friendly

Thursday, October 17, 13

Page 29: APIs: The Problems with Eating your Own Dog Food

parallelismdoesn’t like

Rails

Thursday, October 17, 13

Page 30: APIs: The Problems with Eating your Own Dog Food

timeThursday, October 17, 13

Page 31: APIs: The Problems with Eating your Own Dog Food

concurrency?

Can wemake it like

Thursday, October 17, 13

Page 32: APIs: The Problems with Eating your Own Dog Food

timeThursday, October 17, 13

Page 33: APIs: The Problems with Eating your Own Dog Food

timeThursday, October 17, 13

Page 34: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 35: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 36: APIs: The Problems with Eating your Own Dog Food

is there?

Whatelse

Thursday, October 17, 13

Page 37: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 38: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 39: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 40: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 41: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 42: APIs: The Problems with Eating your Own Dog Food

timeThursday, October 17, 13

Page 43: APIs: The Problems with Eating your Own Dog Food

timeThursday, October 17, 13

Page 44: APIs: The Problems with Eating your Own Dog Food

Thursday, October 17, 13

Page 45: APIs: The Problems with Eating your Own Dog Food

about

the network?

What

Thursday, October 17, 13

Page 46: APIs: The Problems with Eating your Own Dog Food

GET /tracks/trending/music

Thursday, October 17, 13

Page 47: APIs: The Problems with Eating your Own Dog Food

GET /tracks/genres

GET /tracks/trending/music

Thursday, October 17, 13

Page 48: APIs: The Problems with Eating your Own Dog Food

GET /tracks/trending/music

GET /tracks/genres

GET /tracks/genres/jazz

Thursday, October 17, 13

Page 49: APIs: The Problems with Eating your Own Dog Food

GET /tracks/trending/music

GET /tracks/genres

GET /tracks/genres/jazz

GET /tracks/123Thursday, October 17, 13

Page 50: APIs: The Problems with Eating your Own Dog Food

a custom API?about

What

Thursday, October 17, 13

Page 51: APIs: The Problems with Eating your Own Dog Food

GET /tracks/suggested

Thursday, October 17, 13

Page 52: APIs: The Problems with Eating your Own Dog Food

GET /tracks/suggestedGET /tracks/123

Thursday, October 17, 13

Page 53: APIs: The Problems with Eating your Own Dog Food

api.soundcloud.com

iOS Android Desktop Widget 3rd PartyThursday, October 17, 13

Page 54: APIs: The Problems with Eating your Own Dog Food

api-mobile

iOS Android Desktop Widget

api web api-partn

3rd Party

Thursday, October 17, 13

Page 55: APIs: The Problems with Eating your Own Dog Food

comes

next?

What

Thursday, October 17, 13

Page 56: APIs: The Problems with Eating your Own Dog Food

babysitting

Rails

Stop

Thursday, October 17, 13

Page 57: APIs: The Problems with Eating your Own Dog Food

Enable &

app devsempower

Thursday, October 17, 13

Page 58: APIs: The Problems with Eating your Own Dog Food

“Experience

api?based”

Thursday, October 17, 13

Page 59: APIs: The Problems with Eating your Own Dog Food

phil calçado

http://philcalcado.com@pcalcado

www.soundcloud.com

Thursday, October 17, 13


Recommended