Build Systems that Drive Business
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

How Netlify migrated to Kubernetes, migrated off, and migrated to it again, without anyone noticing

David Calavera (Netlify)
3:40pm–4:20pm Wednesday, June 13, 2018
Kubernetes
Location: LL20 A/B Level: Intermediate
Secondary topics: Systems Architecture & Infrastructure
Average rating: ***..
(3.00, 3 ratings)

Prerequisite knowledge

  • Familiarity with Kubernetes

What you'll learn

  • Explore a complicated migration to Kubernetes

Description

Netlify is the best platform to build, deploy, and scale modern web projects. The company’s deployment pipeline processes thousands of deploy jobs every day, where people automate building any kinds of modern web projects, from basic websites to single-page applications using modern tools like webpack, WebAssembly, Rust, and Go.

Netlify recently moved this deployment platform from a traditional architecture with a central broker queue and pools of virtual machines to a cloud-native architecture where Kubernetes plays a central role, but the story isn’t so simple. The migration was supposed to be able to switch between both architectures without downtime, but the team ran into unexpected problems, including a bug in Docker Engine. David Calavera shares the lessons Netlify learned during the migration that made the company roll the migration back and explains how they rolled it again—all without affecting production availability. David also discusses the economics of adopting a cloud-native approach and the economic benefits of the new architecture.

Photo of David Calavera

David Calavera

Netlify

David Calavera is the CTO of Netlify where he and his team are building the best platform for deploying and automating modern web projects. Before that, he was a core member of the Docker Engine project, where he helped developers build the container engine that started the container revolution. David also built enterprise tools for GitHub and has contributed to numerous open source projects, such us Go, JRuby and many others.