Introducing Shipper

Customizable multi-cluster rollouts for Kubernetes

Ben Tyler
Ben Tyler
Dec 10, 2018 · 4 min read
Image for post
Image for post

Background

As we adopted Kubernetes at Booking.com in late 2017, we had two major features of our traditional platform that we needed to implement: fast canary rollouts, and easy multi-region redundancy.

Rollouts

Kubernetes is a wonderful platform, but it stops short of providing built-in support for the kinds of deployment strategies that fast-moving companies use to mitigate risk in continuous delivery. These strategies, like canary or blue/green, combine fleet management, traffic shifting, and checkpointing to ensure that user impact from a bad rollout is as limited as possible.

Multi-cluster

While there are good reasons to avoid multi-cluster if you can, it is currently the only way to do robust multi-region or multi-cloud Kubernetes deployment.

Solution: A Kubernetes API for advanced rollouts

Shipper is a collection of Kubernetes controllers and custom resources which represent an API for advanced rollouts to one or more clusters. It is deployed as a single binary anywhere with network access to the Kubernetes clusters it manages.

Current status

Shipper has been in active use inside of Booking.com for about five months, via both manual `kubectl` interaction and CD pipelines. It currently manages hundreds of applications across tens of clusters in multiple regions, doing hundreds of rollouts (and, just as importantly, rollbacks :)) a day. It has some limitations on the kinds of charts and Kubernetes objects it can deploy, but we have plans to improve on that as we work with the Kubernetes community to get a wider perspective.

Check it out!

If this sounds exciting to you, check out our docs. They will walk you through setting up Shipper to be able to manage a single microk8s/minikube install, or a full multi-cluster/multi-region production infrastructure. For some flavor on how it looks to use Shipper, check out the demo we gave at SIG Apps.

Image for post
Image for post

Booking.com Infrastructure

Core Infrastructure in Booking.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store