作者:车漾(必嘫)
本系列文章将介绍如何基于 ACK Fluid 支持和优化混合云的数据访问场景。
在 AI 和大数据时代,算力即正义,强大的算力推动了源源不断的创新。然而,企业自建的算力集群存在资源容量和弹性能力相对有限的问题,在业务低谷时可能会面临高昂的资源闲置成本,而在业务高峰时则可能会面临资源紧张的挑战。特别是在 AI 和大数据时代,越来越多的企业正在寻求将公共云作为算力的有效补充。
考虑到某些企业对于数据主权的特殊要求,他们需要将数据存放在私有云中,但同时也希望能够享受公共云的弹性、可靠性和成本优势。在这种情况下,混合云的使用变得愈发普遍。混合云可将阿里云的云服务与企业自建数据中心相融合,阿里云上的计算资源通过专线访问数据,并由 ACK One 统一进行管理。这种混合云解决方案不仅帮助客户节省成本,还提供了更高的性能和更强的安全保障。但是跨云的计算访问数据场景会带来共性的问题:
下面我们介绍一下 ACK Fluid [ 1] 支持混合云数据访问常见的应用场景,这些场景以 Kubernetes 下读数据为主 , 特点是接入简单,无侵入,性能好,低成本,自动化:
应用场景 1:
接入第三方分布式存储,连接弹性计算实例和云下存储
许多企业的数据都是存在线下,并且使用的存储类型多样,包括各种开源存储(Ceph,lustrure,JuiceFS,CubeFS)和自建存储。在使用公共云计算资源的时候,也存在挑战:
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 存储卷访问企业的线下存储,也无法避免在性能,成本上的挑战和需求:
ACK Fluid 提供了基于 JindoRuntime 的 PV 存储卷通用加速能力 [ 4] ,可以支持满足 PVC 的第三方存储简单,快速,安全的获得通过分布式缓存实现数据访问加速能力,可以带来如下好处:
1. 使用简单
只需要实现 CSI 协议中 PVC 的第三方存储即可以立即使用,无需额外开发。
2. 高性能,提效率
通过数据预热、弹性带宽和缓存亲和感知调度,实现云上计算集群访问云下数据性能无损失
3. 降成本,省流量
通过分布式缓存将热点数据持久到云上,减少数据读取,降低网络流量;同时吞吐可以弹性伸缩,按照业务削峰填谷。
4. 自动化
以数据为中心的自动化运维,提高运维效率:包括自动缓存预热、自动化扩缩容和清理,实现高效管理。
5. 更安全
分布式内存缓存提高安全性:无需数据落盘,适用于敏感用户,提供卓越性能和安全保障。
总结: ACK Fluid 为云上计算访问第三方存储 PVC 提供了开箱即用,高性能,低成本,自动化和无数据落盘的收益,应用案例参见 360。
应用场景 3:
实现第三方存储主机目录挂载 Kubernetes 化,标准化并加速提效
也有许多企业由于历史原因和技术云下存储选择没有支持 CSI 协议,只支持以主机目录的方式挂载,一方面存在与 Kubernetes 标准化平台的对接的挑战,另一方面也需要应对与场景 2 类似的性能和成本的问题:
ACK Fluid 提供了基于 JindoRuntime 的 PV 主机目录通用加速能力,直接支持主机目录挂载可以原生,简单,快速,安全的获得通过分布式缓存实现数据访问加速能力。
1. 标准化
将传统架构迁移至云原生:将主机目录挂载模式变化为 Kubernetes 可以管理的 CSI 协议下的 PV 存储卷,便捷与公共云标准协议结合。
2. 迁移低成本
传统架构迁移低成本:无需额外开发,只需要在部署时刻将 Hostpath 协议转换成 PV 存储卷。
3. 数据隔离更容易
接入 Fluid 后,可以通过子数据集模式可以控制不同用户对于线下存储不同目录的可见性,无需额外开发。
4. 高性能,提效率
通过数据预热、弹性带宽和缓存亲和感知调度,实现云上计算集群访问云下数据性能无损失
5. 降成本,省流量
通过分布式缓存将热点数据持久到云上,减少数据读取,降低网络流量;同时吞吐可以弹性伸缩,按照业务削峰填谷。
6. 自动化
以数据为中心的自动化运维,提高运维效率:包括自动缓存预热、自动化扩缩容和清理,实现高效管理。
7. 更安全
分布式内存缓存提高安全性:无需数据落盘,适用于敏感用户,提供卓越性能和安全保障。
总结: ACK Fluid 为云上计算访问第三方存储的主机目录挂载方式提供了开箱即用,高性能,低成本,自动化和无数据落盘的收益。
应用场景 4:
跨区域中心数据分发
许多企业出于性能、安全、稳定性和资源隔离的目的,会在不同区域建立多个计算集群。而这些计算集群需要远程访问唯一中心化的数据存储。比如随着大语言模型的逐渐成熟,基于其的多区域推理服务也逐渐成为各个企业需要支持的能力,针对这一场景,仍有不小的挑战:
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