The second storage project — and CNCF’s 16th hosted project — is a database orchestration system for horizontal scaling of MySQL. YouTube originally developed Vitess in 2010 as a better way to scale massive amounts of traffic.
Vitess solves this problem with built-in sharding, a type of database partitioning that separates large databases into smaller parts, or shards. This feature allows companies to grow databases without adding sharding logic to the application.
“When we came up with the solution we felt other companies could use it so we decided to open source Vitess,” said Sugu Sougoumarane, CTO at PlanetScale Data and co-developer of Vitess.
The project runs best in a containerized environment. With Kubernetes and Google Kubernetes Engine (GKE) as the container cluster manager, Vitess provides a scalable MySQL storage layer. Kubernetes handles scheduling onto nodes in a compute cluster and manages workloads on those nodes.
Also with Kubernetes, Vitess is cloud agnostic, providing cloud portability and helping companies avoid vendor lock-in. The project supports automatic failover/recovery, replication, and rolling upgrades.
“Vitess is interesting because it really fills this gap where people are trying to transition to cloud-native technologies and approaches to operations. They may have been using a SQL database solution previously, but they need to move to a more dynamic environment such as Kubernetes, or they need to scale up, and they may require portability across multiple clouds,” said Brian Grant, a CNCF Technical Oversight Committee (TOC) member.
The TOC voted to accept Vitess as an incubation-level project. This means it must document that at least three end-users are successfully using it in production. It also must have a number of committers and demonstrate a substantial ongoing flow of contributions.
None of these things should prove too difficult. Companies including BetterCloud, Flipkart, Quiz of Kings, Slack, Square Cash, Stitch Labs, and YouTube are already using Vitess across various stages of production and deployment. And companies including Booking.com, GitHub, HubSpot, Slack, and Square are also active contributors to the project.
CNCF’s other hosted projects are Kubernetes, Prometheus, OpenTracing, Fluentd, Linkerd, gRPC, CoreDNS, containerd, rkt, CNI, Envoy, Jaeger, Notary, TUF, and Rook.