Storage has proven to be a bit of a challenge when setting up cloud native architectures. Perhaps the difficulty could be traced to one vital tenet: that all computing nodes (a container, say, or even serverless API) should be stateless. This means very simply that the node should not be keeping any data, either for long-term storage, or even for routing purposes. The reasoning is that a node can be moved anywhere at a moment’s notice, or be replicated.
So all storage must be somewhere else. But how does the compute node know where all its data is at? Plus, given that these workloads are distributed, the response times of these storage systems must be super low. These are the problems tackled by Cloud Service Providers (CSPs). Cloud service providers can ease developers’ tasks with automated cloud storage services, hiding some of the complexity where developers’ actions are not needed.
The major cloud providers — Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP) — all provide storage options that cut the need for separate storage administration, at least the kind that involves both hardware and software. If you want more independence, look for a scale-out storage package such as one from Portworx, Minio, or NetApp.
At The New Stack, we will keep an eye on the CSPs, as well as work going on around scale-out storage, or storage systems that can be expanded without reorganization or help from a storage admin, really. The Red Hat-managed open source Ceph falls into this bucket, for instance.