SlideShare a Scribd company logo
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

More Related Content

PDF
Le dessin technique corrige
PPTX
DIFFERENTS_PROCEDES_DE_SOUDAGE.pptx
PPTX
Fonderie.pptx
PPTX
présentation Mini projet.pptx
PPTX
Immutable infrastructure with Docker and EC2
PPTX
John Engates Keynote at Dockercon 14
PDF
Building a smarter application Stack by Tomas Doran from Yelp
PPTX
DockerCon Keynote Ben Golub
Le dessin technique corrige
DIFFERENTS_PROCEDES_DE_SOUDAGE.pptx
Fonderie.pptx
présentation Mini projet.pptx
Immutable infrastructure with Docker and EC2
John Engates Keynote at Dockercon 14
Building a smarter application Stack by Tomas Doran from Yelp
DockerCon Keynote Ben Golub

Viewers also liked (20)

PPTX
Docker introduction
PDF
Are VM Passé?
PDF
Playlists at Spotify - Using Cassandra to store version controlled objects
PDF
OpenStack - Docker - Rackspace HQ
PDF
Empowering Engineering Talent - an update from Spotify
PDF
How Apache Drives Music Recommendations At Spotify
PDF
How spotify makes product
PDF
Activation: From thinking to tweaking it, how we do it at Spotify
PDF
Big Data At Spotify
PDF
Scaling Operations At Spotify
PDF
Quality Built In @ Spotify
PDF
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...
PDF
Machine Learning and Big Data for Music Discovery at Spotify
PDF
Algorithmic Music Recommendations at Spotify
PDF
Interactive Recommender Systems with Netflix and Spotify
PPTX
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
PDF
Wot2013云计算架构师峰会 -陈轶飞2
PDF
Dockerizing your applications - Docker workshop @Twitter
PDF
Docker worshop @Twitter - How to use your own private registry
PDF
Introduction to Docker - Docker workshop @Twitter
Docker introduction
Are VM Passé?
Playlists at Spotify - Using Cassandra to store version controlled objects
OpenStack - Docker - Rackspace HQ
Empowering Engineering Talent - an update from Spotify
How Apache Drives Music Recommendations At Spotify
How spotify makes product
Activation: From thinking to tweaking it, how we do it at Spotify
Big Data At Spotify
Scaling Operations At Spotify
Quality Built In @ Spotify
How Spotify Builds Products (Organization. Architecture, Autonomy, Accountabi...
Machine Learning and Big Data for Music Discovery at Spotify
Algorithmic Music Recommendations at Spotify
Interactive Recommender Systems with Netflix and Spotify
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Wot2013云计算架构师峰会 -陈轶飞2
Dockerizing your applications - Docker workshop @Twitter
Docker worshop @Twitter - How to use your own private registry
Introduction to Docker - Docker workshop @Twitter
Ad

Similar to Docker at Spotify - Dockercon14 (20)

PDF
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
PDF
Container Days
PDF
Dockerize or die
PDF
Docker in Production at the Aurora Team
PDF
Shipping NodeJS with Docker and CoreOS
PPTX
Docker Meetup Paris: enterprise Docker
PPTX
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
PDF
Hermetic environment for your functional tests
PDF
Dockercon EU 2014
PDF
Docker at Djangocon 2013 | Talk by Ken Cochrane
PDF
Django and Docker
PDF
Spotify: Data center & Backend buildout
PDF
Container (Docker) Orchestration Tools
PDF
Orchestrating Linux Containers
PDF
Mastering Docker and Kubernetes The Guide for Modern Devops.pdf
PDF
Dockerizing Rails
ODP
The journey to container adoption in enterprise
PPTX
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
PDF
Docker Swarm and Traefik 2.0
PDF
The Docker ecosystem and the future of application deployment
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
Container Days
Dockerize or die
Docker in Production at the Aurora Team
Shipping NodeJS with Docker and CoreOS
Docker Meetup Paris: enterprise Docker
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Hermetic environment for your functional tests
Dockercon EU 2014
Docker at Djangocon 2013 | Talk by Ken Cochrane
Django and Docker
Spotify: Data center & Backend buildout
Container (Docker) Orchestration Tools
Orchestrating Linux Containers
Mastering Docker and Kubernetes The Guide for Modern Devops.pdf
Dockerizing Rails
The journey to container adoption in enterprise
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Docker Swarm and Traefik 2.0
The Docker ecosystem and the future of application deployment
Ad

More from dotCloud (18)

PDF
Docker in pratice -chenyifei
PDF
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
PDF
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
PDF
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
PPTX
Dockerizing stashboard - Docker meetup at Twilio
PPTX
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
PDF
Docker links | Docker workshop #2 at Twitter
PPTX
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
PPTX
Intro Docker october 2013
PDF
[Open stack] heat + docker
PPTX
Dockerizing WordPress
PDF
Building images from dockerfiles
PPTX
Docker at DevTable
PDF
Docker presentation | Paris Docker Meetup
PDF
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
PPTX
Installing and running Postfix within a docker container from the command line
PDF
LXC, Docker, and the future of software delivery | LinuxCon 2013
PDF
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker in pratice -chenyifei
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Dockerizing stashboard - Docker meetup at Twilio
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Docker links | Docker workshop #2 at Twitter
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Intro Docker october 2013
[Open stack] heat + docker
Dockerizing WordPress
Building images from dockerfiles
Docker at DevTable
Docker presentation | Paris Docker Meetup
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Installing and running Postfix within a docker container from the command line
LXC, Docker, and the future of software delivery | LinuxCon 2013
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
cuic standard and advanced reporting.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
Electronic commerce courselecture one. Pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Mobile App Security Testing_ A Comprehensive Guide.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Review of recent advances in non-invasive hemoglobin estimation
cuic standard and advanced reporting.pdf
Empathic Computing: Creating Shared Understanding
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
MYSQL Presentation for SQL database connectivity
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Docker at Spotify - Dockercon14