Migrating Spotify's Runtime to Kubernetes
Spotify’s Infrastructure Transition
James Wen - jameswen@spotify.com�@rochesterinnyc��O’Reilly Velocity Cloud Computing Day 2018�October 1st, 2018
About Me
Agenda
About Us
Complete Team Autonomy
Operations at Spotify
Ops in Teams
Infrastructure & Operations Org
Centralized Ops
Golden Path
Current Runtime
New Runtime
New Runtime*
Kubernetes: How We’re Migrating
Experiment: One Service on Cluster
Experiment: One Service on Cluster
Experiment: Three Services on Shared Cluster
Experiment: Three Services on Cluster
Alpha Phase: Volunteer Services on Shared Clusters
Alpha: Volunteer Services on Shared Clusters
Alpha Phase: Two High-Traffic Services on Shared Clusters
fanout
metadata-proxy
Alpha: Two High-Traffic Services on Clusters
Beta Phase: Self-Service Migration
Beta Phase: Self-Service Migration
GA Phase: “Golden Path”
GA Phase: “Golden Path”
Custom Extensions
Admission Controllers
Custom Resources
Resource Labels & Metadata
Spinnaker for Deployment
Metrics Integration
Event Exporting for ITGC
Kubernetes API Server
Log Backend (Stackdriver)
k8s API events Pub/Sub Topic
Cloud Function
ITGC Pub/Sub Topic
ITGC System
API events
Pub/Sub messages
Pub/Sub messages
Pub/Sub messages
Logs (Export Sink)
Future Problems
Cluster Management
DI + ML Cohabitation
Migration Learnings/Takeaways
James Wen - jameswen@spotify.com�@rochesterinnyc
O’Reilly Velocity Cloud Computing Day 2018�October 1st, 2018�