What has SoundCloud learnt about microservices? Phil Calado - - PowerPoint PPT Presentation

what has soundcloud learnt about microservices
SMART_READER_LITE
LIVE PREVIEW

What has SoundCloud learnt about microservices? Phil Calado - - PowerPoint PPT Presentation

What has SoundCloud learnt about microservices? Phil Calado SoundCloud >11 hours of audio uploaded every minute ~300 million people every month What we did in 2012-13 SoundCloud.com Sounds Social Activity & Sets Graph


slide-1
SLIDE 1

What has SoundCloud microservices? learnt about

Phil Calçado SoundCloud

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4

>11 hours of audio uploaded every minute

slide-5
SLIDE 5

~300 million people every month

slide-6
SLIDE 6
slide-7
SLIDE 7

What we 2012-13

did in

slide-8
SLIDE 8

SoundCloud.com

slide-9
SLIDE 9

Sounds ˝ & Sets Social Graph Premium ˝ Features Search Activity Stream API

slide-10
SLIDE 10

Sounds ˝ & Sets Social Graph Premium ˝ Features Search Activity Stream API

slide-11
SLIDE 11

api.soundcloud.com

iOS Android Desktop Widget 3rd Party

slide-12
SLIDE 12

api-mobile

iOS Android Desktop Widget

api web api-partn

3rd Party

slide-13
SLIDE 13

More details http://bit.ly/dealing-with-the-monolith

slide-14
SLIDE 14

minimise fixed cost

your

per app

#1

slide-15
SLIDE 15

every new app answers

What language? What I/O lib? What build system? How do we deploy? What do we monitor?

slide-16
SLIDE 16

typical agile project

iteration 0 iteration 1 iteration 2 iteration 3 iteration 4 technical tasks user stories

slide-17
SLIDE 17

typical microservices project

iteration 0 iteration 1 iteration 2 iteration 3 iteration 4

slide-18
SLIDE 18

You will have lots of microservices

slide-19
SLIDE 19

Consider having a “standard”, well- supported and documented stack

slide-20
SLIDE 20
  • utsource

as possible

as much

#2

slide-21
SLIDE 21

micro service x-ray

infrastructure app

slide-22
SLIDE 22

Avoid building as much ˝ infrastructure as possible

slide-23
SLIDE 23

some good options

slide-24
SLIDE 24

Only infrastructure we need to build is the glue between the lib and our quirks

slide-25
SLIDE 25

Avoid having quirks

slide-26
SLIDE 26

acknowledge complexity

the new

#3

slide-27
SLIDE 27

user

likes

track

slide-28
SLIDE 28

user

likes

track

unit test single process run inside an IDE

typical app

slide-29
SLIDE 29

user

likes

track

integration test multiple processes stubs and fakes

microservice

slide-30
SLIDE 30

+ +

must be easy to provision

slide-31
SLIDE 31

make visible

everything

#4

slide-32
SLIDE 32
slide-33
SLIDE 33

make interactions visible

slide-34
SLIDE 34

standardised dashboards

slide-35
SLIDE 35

legacy

wrap your

stranglers

with

#5

slide-36
SLIDE 36

api-mobile

iOS Android Desktop Widget

api web api-partn

3rd Party

not exactly true

slide-37
SLIDE 37

iOS Android Desktop Widget 3rd Party api.soundcloud.com

mothership still alive

api web api-partn

slide-38
SLIDE 38
slide-39
SLIDE 39

Client api.soundcloud.com

slide-40
SLIDE 40

Client

strangler

api.soundcloud.com

slide-41
SLIDE 41

Client

strangler

api.soundcloud.com

slide-42
SLIDE 42

Client

strangler

api.soundcloud.com

slide-43
SLIDE 43

changed

what changed

2013?

since

slide-44
SLIDE 44
slide-45
SLIDE 45

babysitting

Rails Stop

slide-46
SLIDE 46

Enable &

app devs

empower☑

slide-47
SLIDE 47

“Experience

api?

based” ☒

slide-48
SLIDE 48

comes

next? What

slide-49
SLIDE 49

devices

more

slide-50
SLIDE 50

based

RPC? IDL

slide-51
SLIDE 51

test

environments ephemeral

slide-52
SLIDE 52
slide-53
SLIDE 53

phil calçado http://philcalcado.com˝ @pcalcado˝

www.soundcloud.com˝