Application containers are becoming more critical to accelerating development and delivery of cloud-native applications and to modernizing existing applications. Individual containers might be ephemeral and stateless, but what about the data they use or generate during their lifespan? Often these applications have persistent data requirements that you must consider when you deploy a container framework.
Persistent storage with containers has a wide variety of use cases. From monolithic applications to 12-factor microservices, most DevOps workflows can benefit from development and deployment in containers. Workloads that require stateful data with containers include databases, artificial intelligence (AI) and machine learning (ML), continuous integration/continuous delivery (CI/CD), big data, and many more.
Challenges in Achieving Application Data Persistence As we address the need to independently maintain data across each containerized unit of an application, it can be challenging to support application-persistent data with containers.
• How do infrastructure teams configure the container system with storage volumes?
• How do infrastructure teams control which volumes are used by which applications?
• How are the storage volumes reclaimed when an application no longer needs them?
• How difficult is it to match a persistent volume request with an available volume that has the right capacity and performance characteristics?
• How many steps must a developer follow to make a persistent volume request?
• How long must developers wait for volume requests to be fulfilled?
Container orchestrators have taken some rudimentary steps to help automate provisioning of storage to support persistence. However, it is still a manual and timeconsuming process for both developer and infrastructure teams. This process makes it challenging to support persistent data.
The introduction of Kubernetes storage classes has enabled NetApp to introduce new core capabilities that dramatically simplify the persistent volume provisioning process. Storage classes also reduce the complexity of supporting persistent storage for containers.
Enter Trident, an open-source project that NetApp maintains for application container persistent storage. Trident has been implemented as an external provisioner controller that runs as a pod itself, monitoring volumes and completely automating the provisioning process. Trident builds upon NetApp’s 26 years of data management and storage experience and is fully supported by NetApp.
• DevOps teams who want to accelerate the CI/CD pipeline.
• Modernize existing enterprise applications that are deployed on-premises (lift & shift), or migrate them to the cloud.
• Cloud-native applications and microservices
In addition to basic persistent volume integration, Trident also enables inherent advanced data management capabilities built into NetApp storage platforms, all designed to provide storage deployment flexibility for your containerized applications. You get:
Enabling the Containers Ecosystem The growing ecosystem for application containers can improve usability and augment deployments. The NetApp commitment to the open ecosystem is demonstrated through our continued participation in the Cloud Native Computing Foundation and the Container Storage Interface initiative.
By using Trident with your NetApp storage, you can natively support many popular application container platforms and orchestrators, such as:
NetApp believes that containers are the future of multicloud workloads. Containers abstract the application from the underlying operating system, which enables portability and flexibility in software development and increases efficiency for development and infrastructure teams. Trident can help bring your enterprise closer to fully embracing a cloud-native future. No matter what your use case or your workload is, Trident can enable a faster, more agile software lifecycle. Trident is available from NetApp’s GitHub site. You can get details about deployment and configuration from the documentation and from our developer and open-source community, thePub.
NetApp is the data authority for hybrid cloud. We provide a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with our partners, we empower global organizations to unleash the full potential of their data to expand customer touchpoints, foster greater innovation and optimize their operations. For more information, visit www.netapp.com. #DataDriven.
©2020 NetApp, Inc. All Rights Reserved. NETAPP, the NETAPP logo, and the marks listed at http://www.netapp.com/TM are trademarks of NetApp, Inc. Other company and product names may be trademarks of their respective owners. NA-268-0918