# Fluid 成为 CNCF沙箱项目,开启云原生拥抱数据密集型应用新篇章
2021 年 4 月 27 日,经云原生基金会技术监督委员会(CNCF TOC)评审并投票通过,南京大学、阿里云以及 Alluxio 开源社区联合发起的分布式数据集编排和加速引擎Fluid 正式成为 CNCF官方沙箱项目,为构建支撑AI、大数据、高性能计算等数据密集型应用所需的“云原生数据平台”奠定了基础。
该项目开源于2020年9月,短短半年多时间内发展迅速,吸引了众多领域专家和工程师的关注与贡献,来自腾讯云、中国电信、云知声、Boss直聘、微博、第四范式等企业的工程师也都贡献了大量的开发工作。
Fluid项目地址:https://github.com/fluid-cloudnative/fluid
Fluid 致力于结合学术界的原创研究和工业界的落地实践,加速云原生对于数据密集型应用的拥抱,与开源社区一同构建 Kubernetes 下数据消费和管理的统一界面。
# 项目介绍
云原生环境下,计算存储分离架构在提升系统弹性和灵活性的同时,给大数据 / AI 等数据密集型应用带来了计算性能和管理效率方面的挑战。现有云原生编排框架运行此类应用面临数据访问延时高、多数据源联合分析难、应用使用数据过程复杂等痛点。Fluid 正是为解决这些问题而生的。
# 核心功能
云原生环境下计算存储分离的基本架构模式越来越难满足大数据/AI等数据密集型框架应用在计算运行效率、数据抽象管理方面的需求。为了解决现有的云原生编排框架运行此类应用时存在的数据访问延时高、多数据源联合分析难、应用和数据对接复杂等痛点问题,Fluid在协同编排、调度优化、数据缓存等几方面提出了新思路,实现了以下的核心功能:
- 提供支持易用化数据集抽象: 通过自定义资源能够实现多个独立存储系统的单点访问实现数据高效访问,并且支持可观测性和弹性伸缩;
- 简化Kubernetes应用数据读取方式: 将数据集抽象翻译成应用可以直接使用的Kubernetes标准概念Persistent Volume Claim,通过挂载无缝接入应用;
- 提供开放可扩展数据缓存运行时接口: 定义分布式数据缓存引擎的生命周期和部署拓扑,并且定义抽象接口。目前支持Alluxio和JindoFS等缓存运行时;
- 基于容器调度管理的智能数据集编排: 通过数据集缓存引擎与 Kubernetes 容器调度和扩缩容能力的相互配合,实现数据集智能化迁移;
- 面向云上数据本地化的应用调度: Kubernetes 调度器通过与缓存引擎交互获得节点的数据缓存信息,将使用该数据的应用以透明的方式调度到包含数据缓存的节点,灵活充分地发挥缓存本地性优势;
# 总结
Fluid开源项目社区是来自学术界、工业界和开源社区的积累成果。社区目前5位核心维护者( Maintainer)分别来自南京大学PASALab,阿里巴巴和Alluxio,并由来自南京大学PASALab的顾荣博士担任社区运营主席。
作为对原生 Kubernetes 完整生态完全兼容的数据密集型应用运行支撑平台,Fluid将向更灵活、更智能、更可扩展的架构方向发展,不断提升开源开发者友好体验。Fluid 还将基于行业场景与细分领域大数据/AI处理系统等结合,驱动企业业务迭代演进与加速创新。未来,Fluid 将继续与社区并肩、与生态同行,致力于推进云原生技术在大数据/AI系统领域的生态建设与普及,与全球开发者一起拓展云原生的边界。