Kubernetes for stateful MPP systems
Who is this presentation for?
- Software engineers, architects, and product managers
Containers decouple applications from the underlying infrastructure. With the advent of low-cost public infrastructure providers such as Amazon, Google, etc., many applications are now being modified to run inside containers to enable simpler and faster deployment on any platform. Containers with the aid of deployment tools such as Kubernetes also enable applications to scale quickly on clouds. Decoupling distributed databases from the underlying infrastructure would provide many benefits, including running analytics on any hardware at scale. Kubernetes could also make recoverability on cloud deployments automatic, making applications far more resilient.
However, Kubernetes started out only supporting applications that could be decomposed into microservices, which are independent and stateless. Spikes in demand hit database users hard, and node failures can bog down whole clusters without proper recovery. GoodData, for example, saw that node failures on the cloud could affect its Vertica MPP database, which caused a reduction in customer satisfaction. The Vertica R&D team set out to find a way to make failure handling seamless and node recovery automatic.
Kubernetes was the obvious choice, but Kubernetes is traditionally used for microservices, not something like a stateful MPP database that might need hundreds of containers. In order to merge the power of an MPP analytics database with the flexibility of Kubernetes, a lot of hurdles had to be overcome. Paige Roberts and Deepak Majeti detail the challenges with networking, storage, and operational complexity encountered while extending a stateful distributed database system to work with containers and Kubernetes. They also explore one implementation used at GoodData that overcomes these challenges and serves as a practical example of how this can work.
You’ll hear some mistakes that were made and lessons that were learned along the way to save you from having to make the same mistakes when incorporating Kubernetes into your software architecture.
- Familiarity with software development
What you'll learn
- Learn why you would want to and how you would go about putting a large stateful application into containers and Kubernetes
- Discover what specific strategies will benefit you and what strategies will cause you serious problems further down the road
Paige Roberts is an open source relations manager at Vertica, where she promotes understanding of Vertica, MPP data processing, open source, and how the analytics revolution is changing the world. In two decades in the data management industry, she’s worked as an engineer, a trainer, a marketer, a product manager, and a consultant.
Deepak Majeti is a systems software engineer at Vertica. He’s also an active contributor to Hadoop’s two most popular file formats: ORC and Parquet. His interests lie in getting the best from high-performance computing (HPC) and big data by building scalable, high-performance, and energy-efficient data analytics tools for modern computer architectures. Deepak holds a PhD in the HPC domain from Rice University.
Comments on this page are now closed.
For conference registration information and customer service
For more information on community discounts and trade opportunities with O’Reilly conferences
For information on exhibiting or sponsoring a conference
For media/analyst press inquires