How Redis Becomes Cloud‑Native: Deploying Stateful Services on Kubernetes
An interview with ByteDance engineer Xie Ning reveals how Redis can be transformed into a cloud‑native service on Kubernetes, covering the use of Deployments, StatefulSets, Operator patterns, dynamic storage provisioning, and the operational benefits over traditional physical‑machine deployments.
Interview with Xie Ning on Redis Cloud‑Native Practice
As the core of the cloud‑native ecosystem, Kubernetes automates deployment, management, and scaling of containerized applications, reducing manual operations. More enterprises now use Kubernetes as foundational infrastructure for their services.
Event announcement: On March 27, at the Volcano Engine Developer Community Meetup, engineer Xie Ning will share “Redis Cloud‑Native Practice”.
Background
Xie Ning: I studied Computer Science at Northeastern University, then built monitoring systems at Qunar, worked on Xiaomi’s Open‑Falcon team, and later joined ByteDance. I have contributed to the private cloud TCE, the NSQ message queue, and since early 2020, the Redis cloud‑native project.
I enjoy mountain climbing, which gives me a sense of purpose and flow.
Getting into Cloud‑Native
Xie Ning: Five years ago I joined ByteDance and participated in the rollout of Kubernetes, contributing to community components and becoming a member and maintainer of several satellite projects. In the Redis cloud‑native project I aim to solve recurring challenges and build a framework that reduces integration cost.
Deploying Stateful vs. Stateless Services on Kubernetes
Xie Ning: Stateless services are usually deployed with Deployment or DaemonSet (e.g., API services with Deployment, agents with DaemonSet). When a unique identifier is required, a StatefulSet can also be used. Stateful services that need fixed identifiers or storage are typically deployed with StatefulSet . Complex stateful services often adopt the Operator pattern, using CustomResourceDefinition + custom controller to implement cloud‑native behavior.
Redis Deployment on Kubernetes
Xie Ning: Redis consists of two components: a stateless Proxy (deployed via Deployment ) and a stateful Server (deployed via StatefulSet ). Scaling, upgrading, and replica management require more sophisticated control, so we built a Redis‑operator based on the Operator pattern, with a custom CRD and controller.
Data Persistence
Persistence is achieved through Kubernetes Volumes such as hostPath, local, or persistentVolumeClaim. We recommend using Dynamic Provisioning with StorageClass , PersistentVolume , and PersistentVolumeClaim , supporting both local disks and distributed storage.
Advantages Over Traditional Deployment
Traditional physical‑machine deployment requires manual sizing per hardware type. After cloud‑native transformation, resource abstraction and delivery are handled by Kubernetes, eliminating hardware‑specific concerns. Declarative APIs simplify state management, reducing operational complexity.
For more details, attend the meetup on March 27. Scan the QR code or click the link to register.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Volcano Engine Developer Services
The Volcano Engine Developer Community, Volcano Engine's TOD community, connects the platform with developers, offering cutting-edge tech content and diverse events, nurturing a vibrant developer culture, and co-building an open-source ecosystem.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
