microservices @ soundcloud

74

Upload: bora-tunca

Post on 15-Apr-2017

1.056 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Microservices @ SoundCloud
Page 2: Microservices @ SoundCloud
Page 3: Microservices @ SoundCloud
Page 4: Microservices @ SoundCloud

Microservices @ SoundCloud

Page 5: Microservices @ SoundCloud

Client Applications

Edge Layer

Microservices

Page 6: Microservices @ SoundCloud

Client Applications

Page 7: Microservices @ SoundCloud

Client Applications

Edge Layer

Microservices

Page 8: Microservices @ SoundCloud

Microservices

Page 9: Microservices @ SoundCloud
Page 10: Microservices @ SoundCloud

stream

Page 11: Microservices @ SoundCloud

stream

trackmetadata authsy

Page 12: Microservices @ SoundCloud

stream

trackmetadata authsy

media-urls

Page 13: Microservices @ SoundCloud

stream

trackmetadata authsy

media-urls

imagery

Page 14: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 15: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 16: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 17: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 18: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 19: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 20: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 21: Microservices @ SoundCloud

How many ?

Page 22: Microservices @ SoundCloud
Page 23: Microservices @ SoundCloud
Page 24: Microservices @ SoundCloud
Page 25: Microservices @ SoundCloud

http://martinfowler.com/bliki/HumaneRegistry.html

Page 26: Microservices @ SoundCloud

Services Directory

Page 27: Microservices @ SoundCloud
Page 28: Microservices @ SoundCloud
Page 29: Microservices @ SoundCloud
Page 30: Microservices @ SoundCloud
Page 31: Microservices @ SoundCloud

Edge Layer

Page 32: Microservices @ SoundCloud

Client Applications

Edge Layer

Microservices

Page 33: Microservices @ SoundCloud

Client Applications

api.soundcloud.com

Microservices

Page 34: Microservices @ SoundCloud

api.soundcloud.com

Microservices

Page 35: Microservices @ SoundCloud

Public Api

Microservices

Api-embeddedApi-mobileApi-v2

Page 36: Microservices @ SoundCloud
Page 37: Microservices @ SoundCloud

Microservices

BFF

Edge Layer

Client Application

Page 38: Microservices @ SoundCloud

Microservices

BFF

Edge Layer

1

Client Application

Page 39: Microservices @ SoundCloud

Microservices

BFF

Edge Layer

1

Client Application

Page 40: Microservices @ SoundCloud

Microservices

Client Applications

Edge Layer

Page 41: Microservices @ SoundCloud

Critical Path

Page 42: Microservices @ SoundCloud

Critical Path

• Graceful degradation

Page 43: Microservices @ SoundCloud

Microservices

BFF

Edge Layer

1

2

Client Application

Page 44: Microservices @ SoundCloud

Microservices

BFF

Edge Layer

1

2

Client Application

Page 45: Microservices @ SoundCloud

• geoIp

• authenticator

• gatekeeper

Critical Path

Page 46: Microservices @ SoundCloud

• geoIp

• authenticator

• gatekeeper

• trackmetadata • authsy • media-urls • stats • imagery • stream • explore • search • ...

Critical Path Non-critical Path

Page 47: Microservices @ SoundCloud
Page 48: Microservices @ SoundCloud
Page 49: Microservices @ SoundCloud

Microservices

BFF

Edge Layer

1

2

Client Application

Page 50: Microservices @ SoundCloud

stream

trackmetadata authsy

stats

media-urls

imagery

Page 51: Microservices @ SoundCloud

Microservices

Edge Layer BFF

Client Application

Page 52: Microservices @ SoundCloud

Microservices

Edge Layer BFF

Client Application

Page 53: Microservices @ SoundCloud

Microservices

Edge Layer BFF

Client Application

Page 54: Microservices @ SoundCloud

Microservices

Edge Layer BFF

Client Application

Page 55: Microservices @ SoundCloud

Microservices

Edge Layer

Value Added Layer

Foundation Layer

BFF

Client Application

Page 56: Microservices @ SoundCloud

Foundation Layer• tracks

• users

• playlists

• stats

• images

Page 57: Microservices @ SoundCloud

Value Added Layer

• track-coordinator

• timeline

• creator-stats

Page 58: Microservices @ SoundCloud

BFFs

Value Added Layer

Foundation Layer

Page 59: Microservices @ SoundCloud
Page 60: Microservices @ SoundCloud
Page 61: Microservices @ SoundCloud

• Conway’s Law

Page 62: Microservices @ SoundCloud

• Conway’s Law

• Docker

Page 63: Microservices @ SoundCloud
Page 64: Microservices @ SoundCloud
Page 65: Microservices @ SoundCloud

Listeners

Page 66: Microservices @ SoundCloud

Listeners Creators

Page 67: Microservices @ SoundCloud

Listeners Creators

Core Engineering

Page 68: Microservices @ SoundCloud

Microservices

Edge Layer

Value Added Layer

Foundation Layer

Listeners Creators

Core Engineering

Page 69: Microservices @ SoundCloud

Microservices

Edge Layer

Value Added Layer

Foundation Layer

Listeners Creators

Core Engineering

Page 70: Microservices @ SoundCloud
Page 71: Microservices @ SoundCloud
Page 72: Microservices @ SoundCloud

Yes, we use Docker.

Page 73: Microservices @ SoundCloud

• Conway’s Law

• Docker

Page 74: Microservices @ SoundCloud

Thank you all.