云原生存储需要三个原因来紧密耦合容器和微服务

发布者:上海IT外包来源:http://www.lanmon.net点击数:817

许多研究表明,当前基于云的开发和服务部署显着使用容器技术。
云原生存储需要三个原因来紧密耦合容器和微服务
例如,根据云原生计算基金会(CNCF)客户调查,73%的受访客户在构建环境中运行容器应用程序,其余27%计划在未来使用容器。
除了调查数据和媒体相关报道的激增(尽管有些人认为Kubernetes有大肆宣传),毫无疑问,容器是下一波基础设施虚拟化的浪潮。这是因为容器化具有许多明显的好处:应用程序可移植性,部署配置,更好的可伸缩性,基础架构灵活性,更高的生产力,持续集成以及更有效的资源利用率。
与此同时,应用程序的系统架构已经从几十年的面向服务架构(SOA)发展到微服务架构。通过微服务架构,应用程序内置于使用定义良好的接口进行通信的服务组件中。每个微服务组件都是可独立部署和扩展的。基于微服务应用程序设计,分布式协调,分布式事务控制,基础结构自动化,故障删除和弹性扩展被考虑。
微服务架构与容器密切相关也并非巧合,因为容器化在不同的微服务组件之间提供了明显的自然边界。此外,使用容器技术不要求应用程序是微服务架构,可以将boulder应用程序容器化,然后容器可以表示可运行应用程序的整个或单个实例。
单个容器化应用程序的一个缺点是,由于应用程序的组件完全耦合在一起,即使一小部分更改也需要重建和部署整个容器。随着时间的推移,通常很难在单个模型中保持良好的模块化结构。如果需要扩展应用程序的一部分,则必须将整个应用程序一起扩展,这在操作和维护方面效率低下。
换句话说,这是众所周知的:许多公司和开发人员发现,如果他们不同时使用微服务架构,就不可能完全享受迁移到容器的好处。使用基于容器的微服务应用系统,相互增强的好处是非常重要和必不可少的。理想情况下,任何支持这种现代化的工具都会趋于相似和全面。首先,存储和数据管理
静态应用程序是容器初始应用程序的主要驱动程序,通常由微服务组件组成,充当未使用容器动态后端应用程序的前端。要实现基于容器的基础结构,需要将静态和动态应用程序迁移到容器。要实现这一目标,您需要考虑容器环境中的存储和数据管理挑战,以便更有效地实现容器化。
现在,我们正处于动态应用程序在容器化生产部署中的存储和管理方式的构建阶段。许多人依赖外部,孤岛式存储设备不是云/容器环境的一部分,但它们已经成熟并提供了丰富的数据管理功能,如故障转移,数据恢复,格式化(与镜像相反)和存储分层。
为了充分了解容器化的好处,存储基础架构必须在与同一环境中的容器化应用程序相同的环境中运行。这将极大地简化管理,降低成本并提高资源利用率。需要一种新的方法来实现这一目标。
其次,重构存储架构
存储系统一直希望实现单独的数据面板和控制面板,以允许独立地扩展数据(数据面板)和元数据(控制平台)流。此外,分离平面允许控制面板驱动数据管理操作,例如分层,数据迁移或快照,而不会干扰数据路径活动。
迄今为止,存储尚未实现控制面板和数据面板的有效分离,标准的繁琐,额外的增量特征和非最佳数据流是需要克服的障碍。然而,容器和微服务的出现为存储世界提供了留下和重新开始的机会。
第三,探索微服务
微服务架构原则可以自然地应用于容器本机存储系统设计。例如,控制和数据路径分离与“高内聚,低耦合”微服务设计原则很好地对齐。
基于微服务的设计可能是什么样的?它会带来什么好处?
通过分离控制平台和数据平台,基于微服务的容器本地存储解决方案将具有不同的控制实体(元数据)和数据服务,以高度可扩展的分布式方式(IO和数据管理)提供服务,类似于微服务 - 基础申请。可以说,使用微服务实现存储系统不仅可以实现,还可以将控制平台和数据面板分开。
容量规划和性能扩展:基于微服务的容器本地存储系统有效地分离数据和控制路径。它为多个维度提供可扩展性,容量,带宽和IOPS,以允许容量和性能根据需要进行扩展。不应低估缩小资源的影响,因为这种灵活性允许在应用程序之间有效地共享资源。
弹性:这种类型的设计增加了应用程序的灵活性,因为微服务可以在故障后自动重启。数据管理:许多数据管理操作只能由元数据微服务执行,而不会影响数据面板。在需要操作数据的其他情况下,元数据和数据的操作可以解耦,并且性能问题最小,以提高效率。
存储设备支持:由于微服务是独立的并且使用定义良好的协议进行通信,因此系统可以实现多种类型的数据面板微服务来驱动多种设备类型。
分层:通过控制这些设备类型之间的分层操作,元数据微服务可以提供更多的角色,以更好地实现成本结构和最佳数据结构。
数据迁移:一旦数据和元数据存储由离散微服务单独维护,多个元数据条目可以引用公共数据块,文件或逻辑卷等对象可以虚拟化为轻量级,特定于元数据的对象,这些对象引用的公共数据池对象,可能跨越未使用的设备类型甚至地理位置。这种混合云或多云快速部署带来了有用的数据迁移功能。
存储协议和应用程序支持:使用应用程序前端作为微服务,它还可以以多种方式实现,支持不同的存储访问协议,甚至是特定于应用程序的访问,从而提供更大的灵活性。
虽然基于微服务的容器本地存储系统可以提供应用程序和容器所需的灵活性,可伸缩性和可移植性,但还有其他问题需要考虑。例如,对于需要高并发性的分布式系统,保持强一致性非常困难,对于许多应用程序而言,最终的一致性不是一种选择。虽然这是一个巨大的挑战,但这并非不可能解决,这不应该妨碍对基于微服务的架构的追求。
第四,结论
微服务和容器已经为当前业务贡献了巨大价值,随着越来越多的应用程序实现云原生开发,支持这些应用程序的基础架构也将增长。基于微服务的容器本地存储方法的灵活性和可扩展性有助于开发满足现代应用程序需求的解决方案,同时消除基础架构限制。为了真正实现容器带来的应用程序现代化的潜力,我们需要采用微服务方法来消除存储解决方案的局限性。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部