How Portworx Solves the Problem of Running Stateful Workloads in Containers
When containers were introduced, they were not ready to run stateful workloads such as databases and content management systems. Docker eventually added abilities like volumes that attempted to solve the problem by exposing the filesystem of the host to the container.
The challenges of running stateful workloads multiply when you start using a container orchestrator such as Kubernetes. While it is extremely easy to scale stateless containers in Kubernetes, managing the uptime of a database is complex. Kubernetes attempted to ease this through StatefulSets — a purpose-built controller that brings the ease of a ReplicaSet to a stateful workload. StatefulSets contain Pods that follow a well-defined, predictable naming convention for the service discovery. It is easy to run a master/slave setup as a Kubernetes StatefulSet. This opened up doors to port legacy database workloads to containers. Existing topologies such as master/slave, active/passive could be easily mapped to a Kubernetes StatefulSet.
Read the entire article at The New Stack
Janakiram MSV is an analyst, advisor, and architect. Follow him on Twitter, Facebook and LinkedIn.