Containers are bound to be disruptive in the datacenter; they are going to impact every process, person and technology. Storage is no different, in turn, Software-Defined Storage (SDS) is going to impact the way that storage is dynamically provisioned and managed, specifically to contain raised applications.
Before we look at storage for containers let’s take a step back and talk about what containers are. A good way to think about what containers are is to take a look at where we came from, which is a virtualized environment as you see this picture:
At the bottom you have a bare metal server on top of which there’s a host Operating System (OS) and a hypervisor that essentially works as a hardware emulator for a number of virtual machines sitting on top. What you see inside of each of these virtual images is an application, its libraries or dependencies as well as an entire guest OS.
With a container environment we get rid of the hypervisor as well as the individual guest OS. This translates into having fewer bits and therefore faster instantiation. So we’re going from hours from a bare metal environment to minutes in a virtualized environment to seconds in a container environment. Nevertheless, containers are meant to support the scale that we expect from a micro-service’s driven architecture.
The reason that we need persistent storage for containers is that containers by nature are ephemeral. That is if containers died or the process gets rebooted for some reason, the state of the container is lost. The dashed line in the figure below represents a container cluster with a master node. StoneFly’s Scale-Out NAS Storage is fully supporting the Platform as a Service (PaaS).
In this container cluster, it is not only about being able to store the state of the application, you could use local storage, however, if the container dies you lose the state, but it’s also about application instances themselves moving around between the various members of the cluster, and Persistent storage not being able to be offered to them natively through container technology. Therefore in StoneFly’s Scale-Out NAS Storage the volume is supported via iSCSI, NFS , fibre channel , S3 to name a few.
The Scale-Out NAS storage cluster presents itself as one cluster, and also the fact that this container has access to the cluster as a single name space. Elastic characteristic of Scale-out storage helps to manage the storage with changing requirements.
With this Scale-Out NAS Storage architecture it’s not just about providing storage to containers. But using Hyper-Converged Storage technology, so you’re actually looking at storage and applications being served up from the same host. We have taken the storage platform and containerized it and obviously this translates into lower costs and also a provision of a single control plane where applications and storage are being managed and orchestrated through a single console with the eventual goal of being able to offer storage itself as a micro-service in the architecture.