基于 ACK Fluid 的混合云优化数据访问(一):场景与架构

简介: 基于 ACK Fluid 的混合云优化数据访问(一):场景与架构

作者:车漾(必嘫)


本系列文章将介绍如何基于 ACK Fluid 支持和优化混合云的数据访问场景。


概述


在 AI 和大数据时代,算力即正义,强大的算力推动了源源不断的创新。然而,企业自建的算力集群存在资源容量和弹性能力相对有限的问题,在业务低谷时可能会面临高昂的资源闲置成本,而在业务高峰时则可能会面临资源紧张的挑战。特别是在 AI 和大数据时代,越来越多的企业正在寻求将公共云作为算力的有效补充。


考虑到某些企业对于数据主权的特殊要求,他们需要将数据存放在私有云中,但同时也希望能够享受公共云的弹性、可靠性和成本优势。在这种情况下,混合云的使用变得愈发普遍。混合云可将阿里云的云服务与企业自建数据中心相融合,阿里云上的计算资源通过专线访问数据,并由 ACK One 统一进行管理。这种混合云解决方案不仅帮助客户节省成本,还提供了更高的性能和更强的安全保障。但是跨云的计算访问数据场景会带来共性的问题:


  • 云上通用计算和线下异构存储的适配复杂:适配公共云通用弹性计算访问线下异构存储需要一定的开发和集成工作,时间周期较长。生产环境的维护和问题排查成本也会有所增加。
  • 数据访问性能影响工程效率:跨云数据访问慢影响数据分析和 AI 训练的效率。
  • 冗余数据访问开销:对于热点数据的反复读取会带来不必要流量费用。
  • 数据源的传输和复制 / 同步:如何复制 / 同步线下和公有云的数据,保证数据的一致性?



下面我们介绍一下 ACK Fluid[1]支持混合云数据访问常见的应用场景,这些场景以 Kubernetes 下读数据为主特点是接入简单,无侵入,性能好,低成本,自动化:


应用场景 1:

接入第三方分布式存储,连接弹性计算实例和云下存储


许多企业的数据都是存在线下,并且使用的存储类型多样,包括各种开源存储(Ceph,lustrure,JuiceFS,CubeFS)和自建存储。在使用公共云计算资源的时候,也存在挑战:

  • 数据迁云安全性和成本评估时间长:对于数据迁移到云存储上,需要安全和存储团队的长时间评估,这会延缓整个上云过程。
  • 数据访问无法适配:比如公共云对于弹性计算实例(ECI)支持的分布式存储类型有限(比如 NAS,OSS,CPFS),但是对于第三方存储缺乏支持。
  • 接入云平台周期长和难度高:需要开发和维护云原生兼容的 CSI 插件,一方面需要相关的专家和开发适配工程量,同时要维护版本的升级,同时支持的场景有限。比如自建 CSI 无法适配弹性计算实例(ECI)。
  • 缺乏可信透明的数据接入方式:如何在 Serverless 容器的黑盒系统访问数据过程中规避泄露,如何确保数据在传输、访问过程中安全,透明,可靠。
  • 避免业务修改的需求:如何确保业务用户不感知基础设施层面的差异,避免对现有应用本身进行任何修改。


ACK Fluid 通过提供 ThinRuntime 扩展机制[2]支持将基于 FUSE 实现第三方存储客户端以容器化的方式接入 Kubernetes 中,可以支持阿里云上标准 Kubernetes,边缘 Kubernetes,Serverless Kubernetes 多种形态。


1. 开发简单

基于 ThinRuntime 方案,只需要会用 docker 即可,一般开发工作 2-3 小时左右,从而显著降低了接入第三方存储的工作成本。


2. 安全可控

以容器化的方式支持自定义方式实现数据访问。整个数据访问过程云平台无侵入,无需提供实现细节。


3. 使用方便

只需要在 PVC(持久卷申请)中添加特定 label 即可,满足了业务用户无需感知基础设施层面的差异的需求,能将存储适配时间缩短为原计划的十分之一。


4. 开源标准

基于开源 Fluid 标准对于 ThinRuntime 提供了完整的支持,只要满足开源要求就可以适配 ACK Fluid。整个开发测试可以在 MiniKube 环境完成。


5. 可观测可控制

第三方存储客户端只需要实现自身的容器化,就可以转化为 Fluid 管理的 Pod,无缝接入 Kubernetes 体系,并获得可观测性和计算资源可控制性。


总结:ACK Fluid 为云上计算访问云下数据提供了扩展性好,安全可控,低适配成本与云平台实现无关的好处,应用案例参见小米[3]



应用场景 2:

加速第三方存储卷声明,降低资源成本


在满足场景 1 下,即便云上计算能够以 Kubernetes 的标准化协议 PV 存储卷访问企业的线下存储,也无法避免在性能,成本上的挑战和需求:


  • 数据访问带宽有限和高延时:云上计算访问云下存储带来的数据访问延时和带宽有限,导致高性能计算耗时长,计算资源利用率低
  • 数据冗余读取,网络费用昂贵:深度学习模型的超参调优、自动调参深度学习任务等运行期间会不断重复访问同一数据。但是由于 Kubernetes 原生调度器无法感知数据缓存状态,导致应用调度的结果不佳,缓存无法重用,导致数据重复拉取引入更多外网和专线费用。
  • 线下分布式存储是数据并发访问的瓶颈,而且面临着性能和稳定性方面的挑战:当大规模算力并发访问线下存储且深度学习训练的 IO 压力增大,线下分布式存储很容易成为性能瓶颈。这会对计算任务造成影响,甚至会导致整个计算集群失效。
  • 受网络稳定性影响严重:一旦公共云和数据中心之间网络不够稳定,会导致数据同步出错,应用处于不可用的状态。
  • 数据安全需求:元数据和数据需要保护,不允许够持久化到云盘上。


ACK Fluid 提供了基于 JindoRuntime 的 PV 存储卷通用加速能力[4],可以支持满足 PVC 的第三方存储简单,快速,安全的获得通过分布式缓存实现数据访问加速能力,可以带来如下好处:


1. 使用简单

只需要实现 CSI 协议中 PVC 的第三方存储即可以立即使用,无需额外开发。


2. 高性能,提效率

通过数据预热、弹性带宽和缓存亲和感知调度,实现云上计算集群访问云下数据性能无损失


3. 降成本,省流量

通过分布式缓存将热点数据持久到云上,减少数据读取,降低网络流量;同时吞吐可以弹性伸缩,按照业务削峰填谷。


4. 自动化

以数据为中心的自动化运维,提高运维效率:包括自动缓存预热、自动化扩缩容和清理,实现高效管理。


5. 更安全

分布式内存缓存提高安全性:无需数据落盘,适用于敏感用户,提供卓越性能和安全保障。


总结:ACK Fluid 为云上计算访问第三方存储 PVC 提供了开箱即用,高性能,低成本,自动化和无数据落盘的收益,应用案例参见 360。



应用场景 3:

实现第三方存储主机目录挂载 Kubernetes 化,标准化并加速提效


也有许多企业由于历史原因和技术云下存储选择没有支持 CSI 协议,只支持以主机目录的方式挂载,一方面存在与 Kubernetes 标准化平台的对接的挑战,另一方面也需要应对与场景 2 类似的性能和成本的问题:


  • 缺少标准化,上云困难:主机目录挂载的模式由于无法被 Kubernetes 感知和调度,很难被容器化工作负载使用和管理。
  • 缺少数据隔离性:由于整个目录都被挂载到主机上,并被所有的工作负载访问,导致数据全局可见。
  • 数据访问在成本,性能和可用性上有何场景 2 相同的需求,因此不再赘述。


ACK Fluid 提供了基于 JindoRuntime 的 PV 主机目录通用加速能力,直接支持主机目录挂载可以原生,简单,快速,安全的获得通过分布式缓存实现数据访问加速能力。


1. 标准化

将传统架构迁移至云原生:将主机目录挂载模式变化为 Kubernetes 可以管理的 CSI 协议下的 PV 存储卷,便捷与公共云标准协议结合。


2. 迁移低成本

传统架构迁移低成本:无需额外开发,只需要在部署时刻将 Hostpath 协议转换成 PV 存储卷。


3. 数据隔离更容易

接入 Fluid 后,可以通过子数据集模式可以控制不同用户对于线下存储不同目录的可见性,无需额外开发。


4. 高性能,提效率

通过数据预热、弹性带宽和缓存亲和感知调度,实现云上计算集群访问云下数据性能无损失。


5. 降成本,省流量

通过分布式缓存将热点数据持久到云上,减少数据读取,降低网络流量;同时吞吐可以弹性伸缩,按照业务削峰填谷。


6. 自动化

以数据为中心的自动化运维,提高运维效率:包括自动缓存预热、自动化扩缩容和清理,实现高效管理。


7. 更安全

分布式内存缓存提高安全性:无需数据落盘,适用于敏感用户,提供卓越性能和安全保障。


总结:ACK Fluid 为云上计算访问第三方存储的主机目录挂载方式提供了开箱即用,高性能,低成本,自动化和无数据落盘的收益。



应用场景 4:

跨区域中心数据分发


许多企业出于性能、安全、稳定性和资源隔离的目的,会在不同区域建立多个计算集群。而这些计算集群需要远程访问唯一中心化的数据存储。比如随着大语言模型的逐渐成熟,基于其的多区域推理服务也逐渐成为各个企业需要支持的能力,针对这一场景,仍有不小的挑战:


  • 多计算集群间手动同步数据非常耗时。
  • 大型语言模型的管理复杂,由于不同业务需求会选择不同基础模型和数据,导致最终模型存在差异。
  • 模型数据频繁更新,根据不同业务输入进行迭代。
  • 拉取大型语言模型文件耗时长,启动模型推理服务较慢。参数规模庞大,体积通常达到几百 GB,在 GPU 显存中加载时间巨大。
  • 模型更新要求所有区域同步更新,使用过载的存储集群进行复制作业会严重影响现有负载性能。


ACK Fluid 除了提供通用存储客户端的加速能力,还提供了定时和触发式数据迁移和预热能力,简化数据分发的复杂度。


1. 节省成本

跨区流量成本大幅降低,计算时间明显缩短,少量增加计算集群成本;并且可以通过弹性进一步优化。


2. 加速应用

由于计算的数据访问在同一个数据中心或者可用区内完成通信,延时降低,且缓存吞吐并发能力可线性扩展。


3. 简化数据同步

通过自定义策略控制数据同步操作,降低数据访问争抢,同时通过自动化的方式降低运维复杂度。



综述


在本文中,我们简单介绍了通过 ACK Fluid 和 JindoFS 团队的 JindoRuntime 可以支持的混合云场景分类,后续文章中,我们会对以上场景的具体实践和使用方式进行详细介绍。


相关链接:

[1] ACK Fluid

https://help.aliyun.com/zh/ack/cloud-native-ai-suite/user-guide/overview-of-fluid

[2] ThinRuntime 扩展机制

https://github.com/fluid-cloudnative/fluid/blob/master/docs/zh/samples/thinruntime.md

[3] 小米

https://www.infoq.cn/article/kco7hi5TcVE08ySwNIw7

[4] PV 存储卷通用加速能力

https://help.aliyun.com/zh/ack/cloud-native-ai-suite/user-guide/accelerate-pv-storage-volume-data-access

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
11月前
|
人工智能 自然语言处理 开发工具
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
本文介绍统一多模态 Transformer(UMT)在跨模态表示学习中的应用与优化,涵盖模型架构、实现细节与实验效果,探讨其在图文检索、图像生成等任务中的卓越性能。
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
|
11月前
|
算法 物联网 定位技术
蓝牙室内定位技术解决方案:核心技术架构与优化实践
本文探讨了蓝牙iBeacon与Lora结合的室内定位技术,分析其在复杂室内环境中的优势与挑战。通过三层架构实现高精度定位,并提出硬件、算法与部署优化方向,助力智慧仓储、医疗等场景智能化升级。
578 0
蓝牙室内定位技术解决方案:核心技术架构与优化实践
|
8月前
|
机器学习/深度学习 数据可视化 网络架构
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
PINNs训练难因多目标优化易失衡。通过设计硬约束网络架构,将初始与边界条件内嵌于模型输出,可自动满足约束,仅需优化方程残差,简化训练过程,提升稳定性与精度,适用于气候、生物医学等高要求仿真场景。
945 4
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
|
8月前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
335 8
|
10月前
|
机器学习/深度学习 存储 人工智能
RAG系统文本检索优化:Cross-Encoder与Bi-Encoder架构技术对比与选择指南
本文将深入分析这两种编码架构的技术原理、数学基础、实现流程以及各自的优势与局限性,并探讨混合架构的应用策略。
785 10
RAG系统文本检索优化:Cross-Encoder与Bi-Encoder架构技术对比与选择指南
|
8月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
1588 3
|
10月前
|
机器学习/深度学习 人工智能 算法
|
10月前
|
数据采集 机器学习/深度学习 运维
从数据感知到决策优化:MyEMS 开源能源管理系统的技术架构与实践效能解析
MyEMS 是一款开源能源管理系统,采用分层解耦与模块化设计,支持多能源协同监测与智能优化调度。系统具备数据采集、分析、预警、碳核算等功能,助力企业实现节能降耗、安全管控与低碳转型,已在百余家全球企业落地应用,具备自主可控、成本低、安全性强等优势,面向虚拟电厂、数字孪生等未来场景持续演进。
534 0
|
11月前
|
缓存 人工智能 监控
1688 平台商品详情接口技术揭秘:架构演进与实战优化
本文深入解析了1688商品详情接口的技术架构与核心实现,涵盖微服务拆分、多级缓存、数据聚合及高可用策略,展示了如何构建高性能电商接口系统,并展望AI技术在商品展示中的应用。
|
11月前
|
缓存 监控 API
电商API的微服务架构优化策略
随着电商快速发展,API成为连接用户、商家与系统的核心。本文探讨微服务架构下电商API的优化策略,分析高并发、低延迟与数据一致性等挑战,并提供服务拆分、缓存异步、监控容器化等实践方案,助力构建高性能、高可用的电商系统,提升用户体验与业务效率。

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多