what has soundcloud learnt about microservices?
Post on 14-Jun-2015
1.802 Views
Preview:
DESCRIPTION
TRANSCRIPT
What has SoundCloud
microservices?
learnt about
Phil CalçadoSoundCloud
>11 hours ofaudio uploaded every minute
~300million peopleevery month
What we
2012-13did in
SoundCloud.com
Sounds ˝& Sets
Social Graph
Premium ˝Features Search
Activity Stream
API
Sounds ˝& Sets
Social Graph
Premium ˝Features Search
Activity Stream
API
api.soundcloud.com
iOS Android Desktop Widget 3rd Party
api-mobile
iOS Android Desktop Widget
api web api-partn
3rd Party
More details
http://bit.ly/dealing-with-the-monolith
minimise
fixed costyour
per app
#1
every new app answers
What language?
What I/O lib?What build system?
How do we deploy?What do we monitor?
typical agile project
iteration 0 iteration 1 iteration 2 iteration 3 iteration 4
technical tasksuser stories
typical microservices project
iteration 0 iteration 1 iteration 2 iteration 3 iteration 4
You will have lots of microservices
Consider having a “standard”, well-
supported and documented stack
outsource
as possibleas much
#2
micro service x-ray
infrastructure
app
Avoid building as much ˝infrastructure as possible
some good options
Only infrastructure we need to build is the glue between the lib and our
quirks
Avoid having quirks
acknowledge
complexitythe new
#3
user
likes
track
user
likes
track
unit test
single process
run inside an IDE
typical app
user
likes
track
integration test
multiple processes
stubs and fakes
microservice
+ +
must be easy to provision
make
visibleeverything
#4
make interactions visible
standardised dashboards
legacywrap your
stranglerswith
#5
api-mobile
iOS Android Desktop Widget
api web api-partn
3rd Party
not exactly true
iOS Android Desktop Widget 3rd Party
api.soundcloud.com
mothership still alive
api web api-partn
Client
api.soundcloud.com
Client
strangler
api.soundcloud.com
Client
strangler
api.soundcloud.com
Client
strangler
api.soundcloud.com
changedwhat changed
2013?since
babysitting
Rails
Stop
☑
Enable &
app devsempower☑
“Experience
api?based” ☒
comes
next?
What
devicesmore
based
RPC?
IDL
test
environments
ephemeral
top related