B as in back-end of course! Even though I’m not an expert in containers, I really like them. My attraction to this technology started when it was first introduced on Sun Solaris and I had the opportunity to work with it. Now, of course, it is more appealing and portable than back in 2005… indeed containers are quickly becoming one of the most compelling revolutions ever to hit IT in the last decade. For many, in fact, it can arguably be just a leaner form of virtualization… but there is much more than that, especially when it comes to corner cases like for storage.
Agility to the backend
It’s interesting to note that one of the most appealing aspects of containers is the simplification of software distribution. Because of its stateless and disposable nature, a container image can be easily updated and containers in production can be killed and reinstantiated from a newer image in seconds.
It’s worthy to note that containers are of great interest to the vast majority of storage vendors.
It’s worthy to note that this simple mechanism is of great interest to the vast majority of storage vendors. In fact, many of them are working to deploy their software through containers. It’s not hard, especially because Linux is now quite common among all software-defined and traditional storage vendors and most of them have already moved all of their code out of the kernel space a while ago.
The results are clearly visible. They have an easier way to distribute software; but other advantages come from the ability to speed up software release cycles (some vendors are considering to release one new version per month, or even more frequently!) and even from the ability to maintain more versions of the same piece of software on the same machine (you don’t run them at the same time, but it’s of great use when it comes to doing a roll-back after discovering a bug for example).
Not everything… not now
Actually, we’re still at the beginning and vendors are taking their time to “containerize” their software… we are talking about storage after all.
There are at least a couple of problems. The first is about how software is written and organized. For some components it’s straightforward, they are stateless and it’s quite easy to put them in a container (a management console could be a good example). But sometimes they are stateful and they’re essential for data consistency. In the latter case it’s quite hard to put this software in a container because of the maturity of the container mechanism itself and its inability to have direct hardware access. It’s not impossible though and I’m sure that in time we will see more and more pieces of the stack being deployed in containers.
The second reason comes from end user psychology. You know the saying “if it works, don’t mess with it!”. Storage is a very conservative field, possibly the most conservative of the entire datacenter. Telling a Storage Admin that his/her storage system will be updated on a bi-weekly basis is quite difficult… isn’t it? But again, I’m sure that sooner or later it will happen to storage too.
Closing the circle
Storage is a fundamental component of the infrastructure stack and the role of infrastructure is to serve data and applications. At the end of the day, if the way of developing, delivering and consuming applications has changed, infrastructure must follow and storage should not be an exception.
If the way of developing, delivering and consuming applications has changed, infrastructure must follow and storage should not be an exception.
I know, it will take time (also because some software stacks were not written to be unpacked and delivered as a set of micro services… ) but I’m also certain that the benefits of this approach are manifold and that we’ll be seeing more and more containers in the backend of our storage systems.
Next week I’ll be attending Storage Field Day 10 and meeting up with some very interesting companies (Cloudian, Datera, Exablox, Hedvig, Kaminario, Nimble Storage, Primary data, Pure Storage and Tintri). I know that some of them have been working hard on the containerization of their software for some time now… and I’m really curious to get all the latest news and updates on the status of this exciting new trend.