NetApp is announcing Project Trident, the industry’s first open source dynamic storage provisioner for Kubernetes.
Kubernetes has established itself as one of the most popular container orchestrators in use today. It is also the foundation for many popular Platform-as-a-Service offerings, including Red Hat’s OpenShift, Apprenda’s platform, and is one of the supported platforms for Rancher. Originally an open-source project based on Google’s Borg, Kubernetes is now governed by the Cloud Native Computing Foundation (CNCF) of which NetApp is a charter gold member.
Why do you need a container orchestrator? Microservices, deployed as containers, are a key component of a cloud native application, but to truly tie entire applications together and give them the elasticity you’re looking for, you need an orchestrator to provide services like:
- Efficient resource usage
- Service discovery
- Health checking / high availability
- Scale up/down
- Load balancing
- Authentication / authorization
- Secrets management
The CNCF recently completed an update to their container management market trends survey, which expresses both how fast the market is putting containers into production and also how competitive the orchestration space has become. In the following chart, you can see how the competitive landscape has been shaping up over the last year or so:
Despite the perception that containers are ephemeral by nature, containerized applications continue to have persistence requirements. Without data, applications aren’t very useful, and data which disappears is not useful to the business. While individual microservices in a cloud native application may not have persistence requirements, the application does and is why storage is one of the top concerns for organizations who are making the paradigm shift from virtual machines to containers.
NetApp’s commitment to the container ecosystem began with the introduction of the NetApp Docker Volume Plug-in (nDVP), which allows Docker containers to easily connect to and consume storage from NetApp’s storage portfolio (ONTAP, SolidFire, and E-Series). So, it should be no surprise that we now give the same treatment to Kubernetes, the most popular container orchestrator.
Project Trident: An Open Source Storage Provisioner and Orchestrator
Kubernetes has had the ability to provide persistent storage to applications for some time, but the volumes needed to be manually pre-provisioned and introduced before they could be consumed; making it difficult to implement at production scale. In Kubernetes 1.3, the ability to provision storage dynamically at the time of the request was introduced, but this functionality was limited to clusters deployed in hyper-scaler environments, like Google Compute Engine. Eventually, this changed in Kubernetes 1.4 with the introduction of Storage Classes, which enabled NetApp to introduce new core capabilities that allow us to dramatically simplify the provisioning process.
Enter Trident, released in December as an open source project that can be found on our GitHub site. We implemented Trident as an external provisioner controller that runs as a pod itself, monitoring Kubernetes volumes and completely automating the provisioning process. It supports both ONTAP and SolidFire through unique abstractions that tie specific capabilities to Kubernetes storage classes, configured through a simple REST API.
We believe that the people who will be the most interested in this capability are our community peers who have an appetite for deploying a broader mix of enterprise applications in containers; specifically: cloud architects, DevOps teams, infrastructure operators, and application developers, owners, and administrators.
Some common use cases that can take advantage of persistent storage support for Kubernetes are:
- DevOps teams who want to accelerate the CI/CD pipeline
- Traditional Enterprise applications deployed into the hybrid-cloud
- Cloud native applications and microservices
If you would like to learn more or, better yet, contribute, come join us on thePub, NetApp’s hands-on community. We would especially encourage you to join our Slack team, particularly if you have any questions about Trident, containers, or anything NetApp related.
In the meantime, here are some additional resources:
- A blog by Andrew Sullivan explaining in some more detail about what Trident is for
- A video series by Ardalan Kangarlou, doing a technical deep dive on Trident