After changing the application development game, containers are rewriting the rules for storage. Now, developers can provision reliable, persistent and stateful storage right inside their containers, without sacrificing development speed.
That’s a far cry from where we’ve been, even just recently. Traditionally, developers have viewed storage as something of a necessary evil; they needed it for applications to work, but dreaded going through a storage administrator to provision it. A simple request might take hours, days or even weeks to process, effectively slowing development to a crawl.
No Time for Tradition
There’s no room for such traditional processes in today’s application development environment. Enterprises are investing in containers and DevOps because they desire greater speed and agility. They’re looking to bridge the chasm that once existed between the desire for acceleration and the need for stability and control.
Using traditional storage provisioning or virtual machine processes in these environments is the equivalent of putting Toyota Camry tires on a Ferrari; yes, they’ll eventually get you from point A to B, but you won’t get anywhere near the optimal benefit. Storage hardware cannot scale to meet enterprises’ big data needs. Application development and deployment needs more granular control than virtual machines can provide, factors which precipitated the move toward containers in the first place. Enterprises and their developers need a more streamlined and efficient solution that propels development forward while ensuring that application data remains consistently available and survivable beyond the life of a container.
The very attributes that make containers appealing—disposability and ephemerality—cannot apply to application data. That data must be readily available and stable in the event of a container or disk failure or corruption, and it must be accessible even after the container has been spun down.
The advent of software-defined storage (SDS) has made it possible for developers to package storage within their containers. Essentially, they can make storage a part of the container itself, so that it becomes part of the application development process. With this form of container-native storage, there’s no need to go through an administrator to provision storage. At the push of a button, developers can dial up the amount of persistent, stateful storage they need for their containerized applications. They receive more control and autonomy, and are no longer at the mercy of time-consuming storage provisioning requests.
In addition to this increased autonomy, developers can use orchestration platforms such as Kubernetes to automatically manage their container-native storage. This is particularly important since developers are not necessarily storage experts. Automated management enhances the benefits of container-native storage without having to directly manage that storage, allowing developers to focus on what they do best.
The Admins’ Evolution
Since SDS reduces the need for traditional heavy storage appliances and container-native storage puts storage management and provisioning squarely in developers’ hands, it’s fair to ask what may become of storage administrators. Certainly, administrators will find their own roles evolving, but they will be no less relevant to today’s organizations, particularly as DevOps teams become more prominent.
Storage administrators may find themselves becoming increasingly important to the operations and IT side of the equation. They may not be pushing buttons on servers and handling storage requests from developers. Instead, they will likely be asked to better understand the roles that data and storage play in application development and deployment. This may require them to learn new skills, and become more familiar with software design. If they can do this, they’ll be able to bring their expertise and history as storage admins to the table and provide invaluable advice to development teams that may not be as well-versed in the nuances of storage.
The ball is just getting rolling. Containers remain a fairly nascent technology that has been revitalized in the open source community, which is not known for resting on its laurels. As that community continues to invest in open source container storage focused projects such as Heketi and push the innovation envelope, we’ll see storage and development continue to coalesce into a seamless whole. No longer an impediment, storage will cement its place as an integral component of containerized application development.