際際滷

際際滷Share a Scribd company logo
Spo$fy'services
ngn@spo'fy.com-@protocol7
Microservices1*in*anger 
1"h$p://mar+nfowler.com/ar+cles/microservices.html
Why?
Monoliths
Simplicity 
Robustness
Scalability
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
Embrace(Conway's(law2 
2"h$ps://labs.spo.fy.com/2014/03/27/spo.fy8engineering8culture8part81/
What's'a'service?
Let's&walk&a&request
Perimeter'services
Spotify services - Leetspeak 2014
View%services
Service'discovery
$ dig _spotify-search._hm.lon3.spotify.net SRV +short 
5000 5000 8181 lon3-search-a1.lon3.spotify.net. 
5000 5000 8181 lon3-search-a2.lon3.spotify.net. 
...
Data$services
Orchestra)on
Scaling(out
Geographical,distribu2on3 
3"h$ps://www.youtube.com/watch?v=JEpsKnWZrJ8
Mul$site
Failure(modes
Failure(modes 
Cascading)failures
Failure(modes 
Build&for&failure
Failure(modes 
Drop%requests
Infrastructure+automa.on
Monitoring
Outro
Ques%ons 
ngn@spo'fy.com-@protocol7
Ad

Recommended

Oredev 2009 JAX-RS
Oredev 2009 JAX-RS
Niklas Gustavsson
REST made simple with Java
REST made simple with Java
Niklas Gustavsson
Spotify services (SDC 2013)
Spotify services (SDC 2013)
Niklas Gustavsson
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Dan Mohl
Modern Software Architecture Styles and Patterns
Modern Software Architecture Styles and Patterns
Ganesh Samarthyam
The Modern Software Architect
The Modern Software Architect
Niels Bech Nielsen
Spotify architecture - Pressing play
Spotify architecture - Pressing play
Niklas Gustavsson
Spotify: Data center & Backend buildout
Spotify: Data center & Backend buildout
David Poblador i Garcia
Software Architecture Patterns
Software Architecture Patterns
Assaf Gannon
Big Data At Spotify
Big Data At Spotify
Adam Kawa
A Spotify Presentation - Case studies
A Spotify Presentation - Case studies
Emily Wilkinson
Algorithmic Music Recommendations at Spotify
Algorithmic Music Recommendations at Spotify
Chris Johnson
Music Recommendations at Scale with Spark
Music Recommendations at Scale with Spark
Chris Johnson
Scala Data Pipelines for Music Recommendations
Scala Data Pipelines for Music Recommendations
Chris Johnson
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and Spotify
Chris Johnson
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover Weekly
Chris Johnson
Our Brave Modular Future
Our Brave Modular Future
Orchestrate
computer networking from the point of view of the network administrator..pdf
computer networking from the point of view of the network administrator..pdf
shjaff
Let's talk about... Microservices
Let's talk about... Microservices
Alessandro Giorgetti
IoT Expo: 7 Steps to Business Success on the Internet of Things
IoT Expo: 7 Steps to Business Success on the Internet of Things
LogMeIn
FEVR - Micro Frontend
FEVR - Micro Frontend
Miki Lombardi
KITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC Testing
Alexandre Gouaillard
Machine vision and device integration with the Ruby programming language (2008)
Machine vision and device integration with the Ruby programming language (2008)
Jan Wedekind
Holistic Aggregate Resource Environment
Holistic Aggregate Resource Environment
Eric Van Hensbergen
Mohamed_Omar_Cv
Mohamed_Omar_Cv
Mohamed Elhamshary
The Mobile Question @ Big Design 2010
The Mobile Question @ Big Design 2010
Jeremy Johnson
CV
CV
Marko Salonp
Microservices Architecture
Microservices Architecture
Alessandro Giorgetti
Microservice Pattern Launguage
Microservice Pattern Launguage
Inho Kang
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeAcademy

More Related Content

Viewers also liked (8)

Software Architecture Patterns
Software Architecture Patterns
Assaf Gannon
Big Data At Spotify
Big Data At Spotify
Adam Kawa
A Spotify Presentation - Case studies
A Spotify Presentation - Case studies
Emily Wilkinson
Algorithmic Music Recommendations at Spotify
Algorithmic Music Recommendations at Spotify
Chris Johnson
Music Recommendations at Scale with Spark
Music Recommendations at Scale with Spark
Chris Johnson
Scala Data Pipelines for Music Recommendations
Scala Data Pipelines for Music Recommendations
Chris Johnson
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and Spotify
Chris Johnson
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover Weekly
Chris Johnson
Software Architecture Patterns
Software Architecture Patterns
Assaf Gannon
Big Data At Spotify
Big Data At Spotify
Adam Kawa
A Spotify Presentation - Case studies
A Spotify Presentation - Case studies
Emily Wilkinson
Algorithmic Music Recommendations at Spotify
Algorithmic Music Recommendations at Spotify
Chris Johnson
Music Recommendations at Scale with Spark
Music Recommendations at Scale with Spark
Chris Johnson
Scala Data Pipelines for Music Recommendations
Scala Data Pipelines for Music Recommendations
Chris Johnson
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and Spotify
Chris Johnson
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover Weekly
Chris Johnson

Similar to Spotify services - Leetspeak 2014 (20)

Our Brave Modular Future
Our Brave Modular Future
Orchestrate
computer networking from the point of view of the network administrator..pdf
computer networking from the point of view of the network administrator..pdf
shjaff
Let's talk about... Microservices
Let's talk about... Microservices
Alessandro Giorgetti
IoT Expo: 7 Steps to Business Success on the Internet of Things
IoT Expo: 7 Steps to Business Success on the Internet of Things
LogMeIn
FEVR - Micro Frontend
FEVR - Micro Frontend
Miki Lombardi
KITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC Testing
Alexandre Gouaillard
Machine vision and device integration with the Ruby programming language (2008)
Machine vision and device integration with the Ruby programming language (2008)
Jan Wedekind
Holistic Aggregate Resource Environment
Holistic Aggregate Resource Environment
Eric Van Hensbergen
Mohamed_Omar_Cv
Mohamed_Omar_Cv
Mohamed Elhamshary
The Mobile Question @ Big Design 2010
The Mobile Question @ Big Design 2010
Jeremy Johnson
CV
CV
Marko Salonp
Microservices Architecture
Microservices Architecture
Alessandro Giorgetti
Microservice Pattern Launguage
Microservice Pattern Launguage
Inho Kang
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeAcademy
Integration & Microservices
Integration & Microservices
Amr Salah
Career Domain 2022-23.pptx
Career Domain 2022-23.pptx
Janani S
Building scalable applications with angular js
Building scalable applications with angular js
Andrew Alpert
Mohamed Said
Mohamed Said
Mohamed_Said2006
AkankshaSharma
AkankshaSharma
Akanksha Sharma
Ericsson Technology Review - issue 2, 2017
Ericsson Technology Review - issue 2, 2017
Ericsson
Our Brave Modular Future
Our Brave Modular Future
Orchestrate
computer networking from the point of view of the network administrator..pdf
computer networking from the point of view of the network administrator..pdf
shjaff
Let's talk about... Microservices
Let's talk about... Microservices
Alessandro Giorgetti
IoT Expo: 7 Steps to Business Success on the Internet of Things
IoT Expo: 7 Steps to Business Success on the Internet of Things
LogMeIn
FEVR - Micro Frontend
FEVR - Micro Frontend
Miki Lombardi
KITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC Testing
Alexandre Gouaillard
Machine vision and device integration with the Ruby programming language (2008)
Machine vision and device integration with the Ruby programming language (2008)
Jan Wedekind
Holistic Aggregate Resource Environment
Holistic Aggregate Resource Environment
Eric Van Hensbergen
The Mobile Question @ Big Design 2010
The Mobile Question @ Big Design 2010
Jeremy Johnson
Microservice Pattern Launguage
Microservice Pattern Launguage
Inho Kang
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeAcademy
Integration & Microservices
Integration & Microservices
Amr Salah
Career Domain 2022-23.pptx
Career Domain 2022-23.pptx
Janani S
Building scalable applications with angular js
Building scalable applications with angular js
Andrew Alpert
Ericsson Technology Review - issue 2, 2017
Ericsson Technology Review - issue 2, 2017
Ericsson
Ad

More from Niklas Gustavsson (7)

Real-time web
Real-time web
Niklas Gustavsson
RESTful web services
RESTful web services
Niklas Gustavsson
Not only SQL
Not only SQL
Niklas Gustavsson
HTML5
HTML5
Niklas Gustavsson
The future is bright
The future is bright
Niklas Gustavsson
CouchDB
CouchDB
Niklas Gustavsson
Apachecon Eu 2008 Mina
Apachecon Eu 2008 Mina
Niklas Gustavsson
Ad

Recently uploaded (20)

NEW Strengthened Senior High School Gen Math.pptx
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
Modern multi-proposer consensus implementations
Modern multi-proposer consensus implementations
Fran巽ois Garillot
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
Cadastral Maps
Cadastral Maps
Google
System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
ketan09101
Industrial internet of things IOT Week-3.pptx
Industrial internet of things IOT Week-3.pptx
KNaveenKumarECE
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
nnnnnnnnnnnn7777777777777777777777777777777.pptx
nnnnnnnnnnnn7777777777777777777777777777777.pptx
gayathri venkataramani
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
Introduction to sensing and Week-1.pptx
Introduction to sensing and Week-1.pptx
KNaveenKumarECE
Fundamentals of Digital Design_Class_12th April.pptx
Fundamentals of Digital Design_Class_12th April.pptx
drdebarshi1993
Proposal for folders structure division in projects.pdf
Proposal for folders structure division in projects.pdf
Mohamed Ahmed
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
ElysiumPro Company Profile 2025-2026.pdf
ElysiumPro Company Profile 2025-2026.pdf
info751436
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
Solar thermal Flat plate and concentrating collectors .pptx
Solar thermal Flat plate and concentrating collectors .pptx
jdaniabraham1
NEW Strengthened Senior High School Gen Math.pptx
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
Modern multi-proposer consensus implementations
Modern multi-proposer consensus implementations
Fran巽ois Garillot
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
Cadastral Maps
Cadastral Maps
Google
System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
ketan09101
Industrial internet of things IOT Week-3.pptx
Industrial internet of things IOT Week-3.pptx
KNaveenKumarECE
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
nnnnnnnnnnnn7777777777777777777777777777777.pptx
nnnnnnnnnnnn7777777777777777777777777777777.pptx
gayathri venkataramani
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
Introduction to sensing and Week-1.pptx
Introduction to sensing and Week-1.pptx
KNaveenKumarECE
Fundamentals of Digital Design_Class_12th April.pptx
Fundamentals of Digital Design_Class_12th April.pptx
drdebarshi1993
Proposal for folders structure division in projects.pdf
Proposal for folders structure division in projects.pdf
Mohamed Ahmed
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
ElysiumPro Company Profile 2025-2026.pdf
ElysiumPro Company Profile 2025-2026.pdf
info751436
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
Solar thermal Flat plate and concentrating collectors .pptx
Solar thermal Flat plate and concentrating collectors .pptx
jdaniabraham1