When Vitess started at YouTube back in 2010, it was designed to work in Google’s Borg. As a result of that interesting bit of history (and the Google origin story), Vitess wound up being one of the earliest adopters of (a) Go and (b) Kubernetes.
At last week’s GoSV meetup (organized by the indefatigable Aarti and Conrad; join their meetup to get the latest updates on other Go events in Silicon Valley), Vitess co-creator Sugu Sougoumarane shared background stories about Vitess’ origin story, why Go was selected, and how the teams working on Vitess and Go overlapped during their time at Google.
Some highlights from the talk:
Vitess was cloud native from the start (because of how it was designed to run in Borg). Vitess was ready for Kubernetes before 1.0
Stateful workloads not generally recommended in Kubernetes (as this Twitter discussion brings up), but Sugu made a point about Vitess's stateless vtgate component making changes quickly available; Vitess is used statefully in production traffic in Kubernetes environments by several companies
He also demonstrated VReplication, an upcoming Vitess feature that will benefit anyone who needs materialized views and rollups.
Here’s a deck for you to find out more.
For a VReplication demo with audio and a transcript, check out Sugu’s talk at QCon San Francisco 2018 (scroll through to the ‘demo’ section).