Containers and storage: The challenge of persistent storage

Containers have been rising in prominence over the past year or so, but this last week has seen a flurry of products and features aimed at changing the way they relate to storage.

In some senses containers – such as Docker – are an alternative to server virtualisation. They offer a more lightweight virtualisation, running directly on the operating system. Containers lack the hypervisor layer, and also the often much-duplicated data present in virtual machine images as well as the links to persistent storage and backup required by the VM.

That was one of their selling points. And in some use cases it’s clearly a good thing, where for example the rapid scaling of web serving requests is met by the creation, use and dying out of many containers managed by an automated orchestration platform. For this there is no need for persistent storage, ie that lasts beyond the lifecycle of an ephemeral container’s lifecycle.

But containers have also gained popularity because their suitability to the devops mode of working and in recent weeks there has been a flurry of storage products that aim to provide persistent storage for apps that are built for greater longevity.

These have included StorageOS’s recent beta launch and Red Hat’s container-native persistent storage. Also, hyper-converged infrastructure maker Nutanix added container support with persistent storage and VM-focused hybrid flash storage seller Tintri is believed to be set to offer container storage.

These moves seem to come from customer demand. A recent survey by ClusterHQ found that while container use has increased hugely (96% year-on-year), the biggest barrier to adoption is lack of persistent storage, reported by 25% of respondents. Last year the same survey found security concerns the biggest barrier (61%, down to 11% in this year’s survey).

Independent consultant Chris Evans was at Dockercon last week and had this to say: “People realised that containers didn’t just have to last for seconds or minutes but could last for hours or days because that’s the way people tend to work and they need persistent storage for that.”

He added: “There are use cases where containers are spun up quickly, exist and die in a short space of time. But there is also a tendency towards use cases such as transactional databases where persistent storage is needed. People want something VMish but with a bit of persistent storage.”