Top 5 Considerations for Running Stateful Apps on Kubernetes

Online Talk, April 2018
Karthik Ranganathan

Karthik Ranganathan
Co-Founder & CTO, YugaByte

Docker containers are great for running stateless applications, but what about stateful applications powered by databases? Kubernetes provides the StatefulSets controller for such applications. YugaByte DB is a transactional, planet-scale database built with a storage and replication architecture that leverages StatefulSets to the maximum. Users can finally gain all the benefits of a containerized infrastructure even for stateful applications.

In general, developers and operations engineers interested in leveraging Kubernetes for stateful apps have to consider the following:

  1. Ensuring high performance with persistent volumes and pod anti-affinity rules.
  2. Achieving data resilience with auto-failover and multi-zone pod scheduling.
  3. Integrating StatefulSet services with other internal and external application services.
  4. Running Day 2 operations such as monitoring, elastic scaling, capacity re-sizing, backups with ease.
  5. Automating operations through Operators that extend the StatefulSets controller.

Karthik reviews each of the above topics in detail and demonstrates how to run a stateful E-Commerce application running on YugaByte DB, both deployed in Kubernetes.


Keep Me Informed

Stay informed on upcoming online talks and events.