The logical separation of compute and storage has become increasingly formalized in Kubernetes via subsystems like the Container Storage Interface (CSI). CSI is a flexible storage interface that allows any storage provider to offer service through a well-defined interface. The CSI deprecates the former in-tree storage provider method and opens up Kubernetes to a wide variety of storage deployment approaches.
The CSI provider interface defines a dynamic storage model for Kubernetes. In many ways, the CSI interface encourages vendors to define new interfaces to existing storage solutions to dynamically allocate persistent storage volumes on-demand under control of Kubernetes. CSI has expanded the capabilities even to legacy enterprise storage solutions. The CSI abstraction provides a necessary and beneficial separation of compute and storage that supports the physical separation approach described above. CSI also allows newer networked storage approaches, which focus on the networked aspect of “networked storage”, to deliver robust solutions to Kubernetes that are better suited to storage provisioning for web-scale data applications.
Today, the biggest lever at the disposal of the data center architect to improve overall availability is to separatecompute and storage into layers connected via ubiquitous high-speed Ethernet. Not only is availability tackled with this approach, but benefits accrue with improved economics and potentially improved operability.
The benefits derived from separating compute and storage are several:
Reduce downtime by eliminating rebuild/recovery in case of server “failures” — simply reconnect storage to new node
Eliminate SKU proliferation by deploying a smaller number of optimized thin-client compute node optimized configurations
Reduce per-slot media overhead costs by optimizing the storage layer in density, form factor, and population
And finally, adopt new technology faster in the compute and storage layers by decoupling lifecycles
While CSI is a relatively recent addition to Kubernetes, it is already leading to a number of solutions for networked storage for web-scale applications making this an interesting space to watch in the coming year.