One presentation that I was looking forward to at Tech Field Day 14 was from NetApp. Best known as a long-lived storage company, in recent times NetApp has been making a big push for DevOps. Considering NetApp’s history, it was shockingly refreshing to sit through an excellent presentation while only hearing the term ONTAP a couple of times. I outlined some of the existing DevOps-ish material and projects in my NetApp primer post, but I wanted to focus on their Trident project. Andrew Sullivan (@andrew_ntap) was able to set the tone with a great overview of some DevOps initiatives and Kapil Arora (@kaparora) gave us a great walkthrough of how NetApp’s Trident project works.
A large component of DevOps is giving developers more control over resources that they need without negatively impacting operations. In NetApp’s case, these resources would likely revolve around storage. In years past, if a developer needed a certain number of IOPS or a set amount of capacity, they would need to approach the storage team and work things out, but it may not end there. In smaller organizations, this may not be a big a deal, but as anyone who works in IT knows, sometimes the simplest of tasks can take a long time to complete. This isn’t necessarily due to the task being complicated, but more so because of the different departments/silos which are involved. In the case of storage, you would need to have the developer, storage admin, network admin, and virtualization admin all involved for what could be a fairly simple request. What could and should be a quick turnaround, such as provisioning a LUN, can take days if not weeks to complete.
ATTACKING THE PROBLEM WITH NETAPP’S TRIDENT
NetApp recognized this problem, and although they can’t do a heck of a lot from the networking or virtualization point of view, they can, and now do provide some support for the storage aspect. Their goal was to create a platform that developers could use to provision these resources. Instead of reinventing the wheel and creating a new orchestration engine, they settled on leveraging Kubernetes. From that point, a lot of the concepts from Trident revolve around either a PersistentVolume (PV) or a PersistentVolumeClaim (PVC).
The PersistentVolume is created using an easy to read config file. Properties such as names, capacity, servers, etc., are all defined. The great thing with this approach is that you can have multiple combinations of resources. For example, you might have three configurations which point to the same array, but different disk groups, so you can define performance. Alternatively, you might have a few configurations point to the same array, but different capacities are defined. Maybe your database admins can use up to 100 GB, but you want your web admins to be restricted to 5 GB. When it comes time to consume the resource, the developer would make a PersistentVolumeClaim, which would be fulfilled based on what the storage admin defines.
The first question that came to everyone’s mind though was: if we are giving developers control over what resources they get, aren’t they just always going to choose the highest tier? Sure, they can, but you can also apply quotas to limit how much the can consume, and you can also limit what tiers (flash, hybrid, spinning disk, etc.) they have access to in the first place. In that regard, it really isn’t all that different to delegating control to sysadmins in something like vSphere (e.g. they are restricted to specific actions or datastores).
WHERE CAN I GET TRIDENT?
Did I mention that the Trident project is open source? You can find the project on GitHub. With the big push towards DevOps, NetApp has fully embraced the culture and has made this project’s code available to anyone who would like it. Will we see other storage vendors add support? I wouldn’t bank on it, but at the same time, I could see the community helping grow the project. The open source aspect might be a little surprising to some, but as we found out during our briefing, NetApp & Solidfire are the single largest corporate contributor to the Open Stack Cinder project at 14%.
NetApp is an old company, and I don’t mean that in a derogatory manner. Old companies stick around because they are doing something right. Those that don’t change with the times eventually just fade. NetApp, on the other hand, seems to have jumped full-on into embracing the DevOps culture. You can catch the recordings from NetApp and all the other presenting companies over at the Tech Field Day website.
Disclaimer: I was invited to participate in Tech Field Day as a delegate. All of my expenses, including food, transportation, and lodging were covered by Gestalt IT. I did not receive any compensation to write this post, nor was I requested to write this post. Anything written above was on my own accord.