Chapter 2. Managing Data Storage on Kubernetes
There is no such thing as a stateless architecture. All applications store state somewhere.
Alex Chircop, CEO, StorageOS
In the previous chapter, we painted a picture of a possible near future with powerful, stateful, data-intensive applications running on Kubernetes. To get there, weâre going to need data infrastructure for persistence, streaming, and analytics. To build out this infrastructure, weâll need to leverage the primitives that Kubernetes provides to help manage the three commodities of cloud computing: compute, network, and storage. In the next several chapters, weâll begin to look at these primitives, starting with storage, in order to see how they can be combined to create the data infrastructure we need.
To echo the point raised by Alex Chircop, all applications must store their state somewhere, which is why weâll focus in this chapter on the basic abstractions Kubernetes provides for interacting with storage. Weâll also look at the emerging innovations being offered by storage vendors and open source projects creating storage infrastructure for Kubernetes that itself embodies cloud native principles.
Letâs start our exploration with a look at managing persistence in containerized applications in general and use that as a jumping-off point for our investigation into data storage on Kubernetes.
Docker, Containers, and State
The problem of managing state in distributed, cloud native applications is not ...
Get Managing Cloud Native Data on Kubernetes now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.