As of September 1st, Comcast VIPER has deployed Kubernetes to 8 distinct physical locations. Three of these locations are production sites, running applications that provide video services to paying subscribers.
When VIPER began development on its Cloud DVR application early last year, it quickly became apparent that the scalability and uptime requirements were going to incur a high operational cost. With upwards of 15 components in a micro services architecture, we placed a bet on Kubernetes to help us develop this application quickly, and to quickly deploy it and maintain deployments in upwards of 10 regionally-located datacenters.
VIPER’s solution integrates log aggregation, monitoring, and load balancing as first class features of our Kubernetes deployments. These features, and the convenience of deploying into Kube, have helped to drive adoption of Kubernetes platform with other teams and products.
But growth is challenging. I’ll tell the story of how we used Kubernetes to successfully deploy our Cloud DVR application. We’ll examine the decisions that were made to arrive at a working solution, and discuss the human and technical factors that informed these decisions. Finally, I’ll highlight the factors that led to our success, and the ways we nearly failed along the way.