NetApp Cloud Volumes 作为容器的持久存储解决方案





0/5 (0投票)
在本文中,我们将探讨一种持久微服务数据存储的解决方案:NetApp Cloud Volumes
DevOps 团队在迁移到基于容器的微服务基础设施时,通常会面临的一个挑战是确定将数据持久存储在哪里。尽管许多微服务本质上是暂时的,并且不需要持久数据存储,但事实仍然是,有些微服务确实需要。而容器并没有提供一种简单的方法来持久存储数据。
因此,了解在遇到此障碍时有哪些可用选项是值得的。在本文中,我们将探讨一种持久微服务数据存储的解决方案:NetApp Cloud Volumes。Cloud Volumes 可以简化将托管在云中的微服务(或者,同样重要的是,整体应用程序)连接到有状态存储的过程。
微服务数据存储的问题
如果您曾经使用过容器和微服务,那么您已经知道为什么这种环境的持久数据存储具有挑战性。
与早期类型的基础设施(即裸机服务器和虚拟机)不同,容器内的软件环境不会直接连接到持久存储介质。尽管您可以从容器内读取和写入文件系统的数据,但该文件系统仅在容器运行时存在。它不会自动同步到虚拟机硬盘或其他类型的存储介质(位于容器外部)。一旦容器关闭,您的数据将永远消失,除非您先采取措施将其与持久存储介质集成。
如果您花了很多时间使用容器,您就会知道它们有各种各样的持久存储解决方案,例如 Docker 称之为 数据卷。您还可以将容器连接到托管在容器外部某处并且用于持久存储数据的网络文件系统。还有各种各样其他方法。
对于容器的持久数据存储,许多此类解决方案的问题在于它们需要大量的工作和编排才能部署和管理。当您有多个微服务在多个容器内运行时,工作量会呈指数级增长。在许多情况下,手动管理所有这些复杂性是不切实际的。虽然有一些自动化工具可以帮助您,但它们往往与特定的部署平台(例如特定公共云的容器服务)相关联。
Cloud Volumes for Data Storage 的灵活性
以上所有原因都说明了为什么对于某些类型的工作负载,NetApp 的 Cloud Volumes 提供了更好的存储解决方案。
Cloud Volumes 允许您构建一个持久存储位置,然后从各种位置将其连接到您的容器。由于 Cloud Volumes 适用于多个云平台和编排工具,因此您部署的其他技术无关紧要。无论您使用什么,它都可能与 Cloud Volumes 配合使用。
这意味着 Cloud Volumes 不仅可以实现托管在不同位置(或者,例如,您从本地迁移到云端的)容器的持久存储,还可以为许多不同类型的应用程序和用途提供有状态数据。它们可以存储来自容器的应用程序日志,或者托管整个数据库。
它们可以存储单个微服务或整个 Web 应用程序的数据。简而言之,它们非常灵活,如果您想充分利用容器和微服务允许您构建的灵活架构,这一点至关重要。
通过使用 Trident(NetApp 的存储编排工具)管理 Cloud Volumes,您可以轻松地自动化存储配置并进行实时调整。
实现微服务迁移
由于 Cloud Volumes 允许您持久存储各种应用程序的数据,并且无需锁定任何特定的托管平台,因此它们非常适合帮助推动从单体架构迁移到基于微服务的架构——如果您想将传统应用程序迁移到云端,这是一项典型的壮举。
Cloud Volumes 可以为您的单体应用程序提供持久数据存储,并在您将单体应用程序重构为微服务时继续提供持久存储。
此功能非常强大,因为它消除了许多微服务迁移中的一个巨大障碍:持久数据存储。通过允许您的数据存储架构在您重构应用程序时基本保持不变,Cloud Volumes 允许开发人员专注于以最大限度地提高可扩展性、灵活性和效率的方式重建应用程序,而不会被持久存储的问题分心。
结论
容器和微服务的持久存储一直难以以自动化、简化的方式实现。Cloud Volumes 允许您通过为微服务创建持久存储位置以从任何地方访问,并通过 Trident 自动管理来克服这一挑战。