Docker at Spotify

Rohan Singh
Rohan SinghSoftware Engineer at Spotify
Docker at Spotify
!
Rohan Singh
@rohansingh
Spotify
“Music for every moment”
!
40+ million active users
!
20+ million songs available
(we’re in 55+ countries, differs by market)
!
Live in the US for 2 years
2
What are we working with?
!
100+ distinct backend services
!
5000+ production servers in 4 sites worldwide
!
Almost 300 servers per ops engineer
3
Deployment at Spotify
4
Build Debian packages
!
Requisition new hardware
!
Use combination of Puppet
and internal tooling (deployify)
5
old way:
SSH to a bunch of machines,
apt-get install || upgrade
!
deployify:
Uses fabric, which just SSH’s,
runs apt-get install || upgrade
6
What’s wrong with that?
7
Requisitioning new hardware is slow
!
Hardware utilization is low
!
We’ve automated and improved,
but still too slow
8
Deployments often fail…
!
…though usually only partially
9
!
Machines get denormalized easily
10
Debian packaging is its own special hell
So many damn files!
!
debhelper
!
Distro & version specific
!
apt-get update
11
What do we want?
12
Deployments that are:
!
Repeatable
!
Straightforward
!
Fault-tolerant
13
Why Docker?
!
It gives us “repeatable”,
right out of the box
!
!
And it’s fairly straightforward, too!
14
Repeatability?
!
!
The code you test isn’t necessarily
the code that runs in prod
15
Repeatability — Docker
!
Build an image
!
Run tests against the image
!
Run the tested image in prod
16
Straightforward
!
Just one Dockerfile
!
Pretty simple syntax
!
Immutable images — easy to reason about
17
Fault-tolerance?
Even if your code is perfect,
deployments might fail
!
Puppet or Debian repos are down
!
Network issues
!
The machine dies
18
Fault-tolerance — Docker
Just one thing has to work —
pulling & running an image
!
If it fails, just try again
!
No machines left in weird states*
!
!
*(in theory)
19
What more do we need?
20
Deploying Docker containers across
our entire fleet of servers
!
Some way to deal with Docker or container failures
!
That’s pretty much it
21
Looking around for a Docker platform
Several really feature-full offerings
!
Pretty opinionated and all-encompassing
!
All we need is reliably deploying containers
to a fleet of Docker hosts
22
Helios
23
Makes sure your containers are deployed & running
exactly where you want them…
!
…and that’s pretty much it
!
!
github.com/spotify/helios
24
What’s in the box?
Helios master
frontend that you talk to
!
Helios agent
runs alongside each Docker instance
!
Zookeeper
!
Straightforward CLI
25
How does it work?
Create a job —
tell Helios which Docker image to deploy
!
Deploy the job —
tell Helios where to run the Docker containers
26
See it in action
27
What’s next?
28
Helios is just the beginning
!
Brought up plenty of Helios+Docker agents
in our private cloud for our devs
!
Integrated Helios with JUnit —
write JUnit tests run against Docker containers
29
Dockerized integration tests
30
This week —
first Helios+Docker-based service in production
!
!
In the future —
Containerizing more of our infrastructure
31
Give it a go
Open source:
github.com/spotify/helios
!
Try it out:
git clone https://github.com/spotify/helios.git 
&& cd helios && vagrant up
!
!
!
Come play with us (spotify.com/jobs)
32
1 of 32

Recommended

Getting started with Docker by
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
529 views41 slides
Docker by
DockerDocker
DockerA.K.M. Ahsrafuzzaman
1K views26 slides
Midi technique - présentation docker by
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation dockerOlivier Eeckhoutte
2.4K views43 slides
Containerization by
ContainerizationContainerization
ContainerizationGowtham Ventrapati
2.3K views16 slides
Podman Overview and internals.pdf by
Podman Overview and internals.pdfPodman Overview and internals.pdf
Podman Overview and internals.pdfSaim Safder
1.1K views42 slides
초심자를 위한 도커 소개 및 입문 by
초심자를 위한 도커 소개 및 입문초심자를 위한 도커 소개 및 입문
초심자를 위한 도커 소개 및 입문Daniel Seo
2.6K views62 slides

More Related Content

What's hot

Docker: From Zero to Hero by
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
1.9K views21 slides
Docker란 무엇인가? : Docker 기본 사용법 by
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법pyrasis
67.9K views38 slides
Intro to docker by
Intro to dockerIntro to docker
Intro to dockerAbderrahmane Mechri
956 views28 slides
Docker + WASM.pdf by
Docker + WASM.pdfDocker + WASM.pdf
Docker + WASM.pdfCatalin Jora
62 views18 slides
Introduce Docker by
Introduce DockerIntroduce Docker
Introduce DockerYongbok Kim
6.1K views101 slides
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다! by
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
274.4K views139 slides

What's hot(20)

Docker: From Zero to Hero by fazalraja
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
fazalraja1.9K views
Docker란 무엇인가? : Docker 기본 사용법 by pyrasis
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법
pyrasis67.9K views
Introduce Docker by Yongbok Kim
Introduce DockerIntroduce Docker
Introduce Docker
Yongbok Kim6.1K views
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다! by pyrasis
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
pyrasis274.4K views
Introduction to Docker storage, volume and image by ejlp12
Introduction to Docker storage, volume and imageIntroduction to Docker storage, volume and image
Introduction to Docker storage, volume and image
ejlp121.5K views
Tadx - Présentation Conteneurisation by TADx
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
TADx535 views
Deploiement du controleur virtuel de point d’acces cisco by Mame Cheikh Ibra Niang
Deploiement du controleur virtuel de point d’acces ciscoDeploiement du controleur virtuel de point d’acces cisco
Deploiement du controleur virtuel de point d’acces cisco
FreeSWITCH Cluster by K8s by Chien Cheng Wu
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
Chien Cheng Wu2.8K views
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D... by Edureka!
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
Edureka!2.9K views
Docker Security workshop slides by Docker, Inc.
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
Docker, Inc.5.3K views
Docker Basic to Advance by Paras Jain
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
Paras Jain470 views
Dockers and containers basics by Sourabh Saxena
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
Sourabh Saxena2.4K views
Formation JPA Avancé / Hibernate gratuite par Ippon 2014 by Ippon
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Ippon19.9K views
Docker containers by Pau López
Docker containersDocker containers
Docker containers
Pau López545 views
Alphorm.com Formation Kubernetes : Installation et Configuration by Alphorm
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm10.8K views

Viewers also liked

Immutable infrastructure with Docker and containers (GlueCon 2015) by
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Jérôme Petazzoni
20.2K views59 slides
Delivering Personalized Music Discovery by
Delivering Personalized Music DiscoveryDelivering Personalized Music Discovery
Delivering Personalized Music DiscoveryRohan Singh
3.4K views38 slides
Docker {at,with} SignalFx by
Docker {at,with} SignalFxDocker {at,with} SignalFx
Docker {at,with} SignalFxMaxime Petazzoni
3.3K views23 slides
Docker and Maestro for fun, development and profit by
Docker and Maestro for fun, development and profitDocker and Maestro for fun, development and profit
Docker and Maestro for fun, development and profitMaxime Petazzoni
8.7K views34 slides
Orchestration for the rest of us by
Orchestration for the rest of usOrchestration for the rest of us
Orchestration for the rest of usJérôme Petazzoni
1.9K views52 slides
Speechfinalslides by
SpeechfinalslidesSpeechfinalslides
Speechfinalslidesquincigstudent
424 views10 slides

Viewers also liked(20)

Immutable infrastructure with Docker and containers (GlueCon 2015) by Jérôme Petazzoni
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
Jérôme Petazzoni20.2K views
Delivering Personalized Music Discovery by Rohan Singh
Delivering Personalized Music DiscoveryDelivering Personalized Music Discovery
Delivering Personalized Music Discovery
Rohan Singh3.4K views
Docker and Maestro for fun, development and profit by Maxime Petazzoni
Docker and Maestro for fun, development and profitDocker and Maestro for fun, development and profit
Docker and Maestro for fun, development and profit
Maxime Petazzoni8.7K views
Smoszewo dalsza historia by pzgomaz
Smoszewo dalsza historiaSmoszewo dalsza historia
Smoszewo dalsza historia
pzgomaz965 views
Regulamin konkursu by pzgomaz
Regulamin konkursuRegulamin konkursu
Regulamin konkursu
pzgomaz614 views
SXSW Interactive 2014 by CowanDeBaets
SXSW Interactive 2014SXSW Interactive 2014
SXSW Interactive 2014
CowanDeBaets418 views
4.τα εικαστικα μασ by vkarab2
4.τα εικαστικα μασ4.τα εικαστικα μασ
4.τα εικαστικα μασ
vkarab2307 views
X Światowe Igrzyska Sportowe Głuchych by pzgomaz
X Światowe Igrzyska Sportowe GłuchychX Światowe Igrzyska Sportowe Głuchych
X Światowe Igrzyska Sportowe Głuchych
pzgomaz1K views
Honorowy Prezes PZG by pzgomaz
Honorowy Prezes PZGHonorowy Prezes PZG
Honorowy Prezes PZG
pzgomaz894 views
Świat Głuchoniemych Gazeta z 1927r. by pzgomaz
Świat Głuchoniemych Gazeta z 1927r.Świat Głuchoniemych Gazeta z 1927r.
Świat Głuchoniemych Gazeta z 1927r.
pzgomaz660 views
Kongres by pzgomaz
KongresKongres
Kongres
pzgomaz833 views
Powstanie Warszawskie oczami 12 letniego cywila by pzgomaz
Powstanie Warszawskie oczami 12 letniego cywilaPowstanie Warszawskie oczami 12 letniego cywila
Powstanie Warszawskie oczami 12 letniego cywila
pzgomaz3.2K views

Similar to Docker at Spotify

How to deploy PHP projects with docker by
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with dockerRuoshi Ling
50.3K views172 slides
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier) by
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)DynamicInfraDays
625 views128 slides
Containers without docker | DevNation Tech Talk by
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkRed Hat Developers
3.3K views34 slides
Perforce Helix Never Dies: DevOps at Bandai Namco Studios by
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce
1.4K views48 slides
Dockerize Our Development Machine by
Dockerize Our Development MachineDockerize Our Development Machine
Dockerize Our Development MachinePanji Gautama
349 views14 slides
Docker experience @inbotapp by
Docker experience @inbotappDocker experience @inbotapp
Docker experience @inbotappJilles van Gurp
601 views17 slides

Similar to Docker at Spotify(20)

How to deploy PHP projects with docker by Ruoshi Ling
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with docker
Ruoshi Ling50.3K views
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier) by DynamicInfraDays
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)
ContainerDays Boston 2015: "Continuous Delivery with Containers" (Nick Gauthier)
DynamicInfraDays625 views
Containers without docker | DevNation Tech Talk by Red Hat Developers
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
Red Hat Developers3.3K views
Perforce Helix Never Dies: DevOps at Bandai Namco Studios by Perforce
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce1.4K views
Dockerize Our Development Machine by Panji Gautama
Dockerize Our Development MachineDockerize Our Development Machine
Dockerize Our Development Machine
Panji Gautama349 views
Core OS by vyhliluk
Core OSCore OS
Core OS
vyhliluk383 views
DevOps and the C64: what's your excuse by Todd Whitehead
DevOps and the C64: what's your excuseDevOps and the C64: what's your excuse
DevOps and the C64: what's your excuse
Todd Whitehead485 views
Dev Environments: The Next Generation by Travis Thieman
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next Generation
Travis Thieman639 views
How bigtop leveraged docker for build automation and one click hadoop provis... by Evans Ye
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
Evans Ye1.2K views
Docker intro by Oleg Z
Docker introDocker intro
Docker intro
Oleg Z490 views
Docker module 1 by Liang Bo
Docker module 1Docker module 1
Docker module 1
Liang Bo603 views
Pharo IoT Installation Improvements and Continuous Integration by Allex Oliveira
Pharo IoT Installation Improvements and Continuous IntegrationPharo IoT Installation Improvements and Continuous Integration
Pharo IoT Installation Improvements and Continuous Integration
Allex Oliveira325 views
PHARO IoT: Installation Improvements and Continuous Integration by Pharo
PHARO IoT: Installation Improvements and Continuous IntegrationPHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous Integration
Pharo1.1K views
How bigtop leveraged docker for build automation and one click hadoop provis... by Evans Ye
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
Evans Ye3.4K views

Recently uploaded

Tridens DevOps by
Tridens DevOpsTridens DevOps
Tridens DevOpsTridens
9 views28 slides
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...Deltares
11 views23 slides
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...Deltares
9 views24 slides
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...Deltares
9 views34 slides
Advanced API Mocking Techniques by
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
19 views11 slides
LAVADORA ROLO.docx by
LAVADORA ROLO.docxLAVADORA ROLO.docx
LAVADORA ROLO.docxSamuelRamirez83524
7 views1 slide

Recently uploaded(20)

Tridens DevOps by Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares11 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023 by Icinga
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Icinga38 views
Neo4j y GenAI by Neo4j
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
Neo4j42 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares13 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j38 views
What Can Employee Monitoring Software Do?​ by wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea... by Safe Software
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Safe Software412 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views

Docker at Spotify