spotify services - leetspeak 2014
DESCRIPTION
Slide deck from my presentation at Leetspeak 2014 on how Spotify builds backend services.TRANSCRIPT
![Page 1: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/1.jpg)
Spo$fy'services
![Page 2: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/2.jpg)
ngn@spo'fy.com-@protocol7
![Page 3: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/3.jpg)
Microservices1*in*anger
1"h$p://mar+nfowler.com/ar+cles/microservices.html
![Page 4: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/4.jpg)
Why?
![Page 5: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/5.jpg)
Monoliths
![Page 6: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/6.jpg)
Simplicity
Robustness
![Page 7: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/7.jpg)
Scalability
![Page 8: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/8.jpg)
UNIX%philosophy
"Rule&of&Modularity:&Developers&should&build&a&program&out&of&simple&parts&connected&by&well&defined&interfaces,&so&problems&are&local,&and&parts&of&the&program&can&be&replaced&in&future&versions&to&support&new&features.&This&rule&aims&to&save&@me&on&debugging&
complex&code&that&is&complex,&long,&and&unreadable"
—"Eric"S."Raymond,"The"Art"of"Unix"Programming
![Page 9: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/9.jpg)
Embrace(Conway's(law2
2"h$ps://labs.spo.fy.com/2014/03/27/spo.fy8engineering8culture8part81/
![Page 10: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/10.jpg)
What's'a'service?
![Page 11: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/11.jpg)
Let's&walk&a&request
![Page 12: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/12.jpg)
Perimeter'services
![Page 13: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/13.jpg)
![Page 14: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/14.jpg)
View%services
![Page 15: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/15.jpg)
Service'discovery
![Page 16: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/16.jpg)
$ dig _spotify-search._hm.lon3.spotify.net SRV +short5000 5000 8181 lon3-search-a1.lon3.spotify.net.5000 5000 8181 lon3-search-a2.lon3.spotify.net....
![Page 17: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/17.jpg)
Data$services
![Page 18: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/18.jpg)
Orchestra)on
![Page 19: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/19.jpg)
Scaling(out
![Page 20: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/20.jpg)
Geographical,distribu2on3
3"h$ps://www.youtube.com/watch?v=JEpsKnWZrJ8
![Page 21: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/21.jpg)
Mul$site
![Page 22: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/22.jpg)
Failure(modes
![Page 23: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/23.jpg)
Failure(modesCascading)failures
![Page 24: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/24.jpg)
Failure(modesBuild&for&failure
![Page 25: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/25.jpg)
Failure(modesDrop%requests
![Page 26: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/26.jpg)
Infrastructure+automa.on
![Page 27: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/27.jpg)
Monitoring
![Page 28: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/28.jpg)
Outro
![Page 29: Spotify services - Leetspeak 2014](https://reader034.vdocuments.us/reader034/viewer/2022042713/549a78aeac7959222e8b5bca/html5/thumbnails/29.jpg)
Ques%onsngn@spo'fy.com-@protocol7