Red Hat sponsored this post.
Only a few years ago, enterprise storage presented challenges that limited an application developer’s abilities to adapt in a timely fashion. Developers would have to go to storage administrators and request the storage they needed for their projects. That request could take hours or days to complete. Developers were at the mercy of the admins.
No one has that kind of time anymore, especially today, when applications are literally keeping entire organizations and societies running. Technology has always been vital to our world, but the need for new technological solutions to real-world problems has taken on added urgency over the past few months.
That urgency lands squarely on the shoulders of developers. That’s why containers and microservices have become default options for modern application development. Those technologies have become integral to developers’ ability to get things done quickly, and as a result have elevated the stature of developers and helped to advance their cause.
As such, developers have gone from being consumers or requesters of storage, to becoming prescribers of storage — with the ability to provision it themselves without an intermediary. Like sprints, DevOps, and a fourth cup of coffee, they now have the ability to make storage just another part of the development process.
Storage Must Be as Agile as the Applications It Supports
As a result, storage must behave more like the applications it supports. It must be immediately accessible and easily manageable. Ideally, it should also be open — which allows for greater choice among different tools, and ongoing contributions from both the open source community and users. Finally, storage should be software-defined and able to be run on any existing infrastructure regardless of where data is housed — whether that be a private data center, on the edge, in the public cloud, across multiple clouds, and in hybrid environments.
The infrastructure underpinning application development is the key to this new reality. It must be extraordinarily scalable, and able to support petabytes of data and various different data types — such as block, file, or object storage. It must be platform-agnostic, supporting data wherever it lives — from physical to virtual machines to the cloud. And it must provide developers with the ability to easily port data from one location to another, or — in environments when moving data is difficult, or not an option due to data gravity — to locate and access it quickly.
Storage Must Be Fast, Simple and Service-Oriented
That may seem like a tall order, but the reality is that this infrastructure exists today. It was created by the open source community as a necessary backbone to support the storage needs of the modern developer — who craves speed, agility, and simplicity.
For developers, provisioning data and storage needs to be just as fast, simple, and self-service oriented. They should not be concerned about whether they need a SAN or a NAS. Instead, they simply need to understand the size and class of the storage they need, and whether or not they need to make it accessible from many containers or just one.
As such, it makes sense for storage to begin and end with the developer, who knows her applications better than anyone. There’s no reason she should be locked into a pre-set amount or type of storage, just because that’s what her storage administrator has available. She should be able to handpick the exact storage capacity and class that she needs.
This approach does not just benefit developers, however. Consider how granting developers the option of self-provisioning their own storage can positively impact storage administrators. Giving developers the power to prescribe their own storage, while still maintaining some level of governance, gives administrators more time to focus on value-added business initiatives.
Storage Must Become an Enabler, Not an Inhibitor
Storage and data are — and always will be — an important part of the application development process. But therein lies the issue. Up until now, the act of provisioning storage hasn’t been a part of the development process; it hasn’t generally been baked into the application development lifecycle. It usually only comes up when it’s absolutely needed, and then it’s “hurry up and wait.” As such, it’s earned a reputation among developers as being, if not a necessary evil, then at least a necessary nuisance.
Fortunately, developers can now put storage into their own hands — essentially making storage a utility like electricity or gas, that they can use without having to become experts. Storage has moved from being an inhibitor, to being an enabler of accelerated application development.
Feature image via Pixabay.
At this time, The New Stack does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: firstname.lastname@example.org.