Fluid 助力阿里云 Serverless 容器极致提速

2024-01-26 18:10

本文主要是介绍Fluid 助力阿里云 Serverless 容器极致提速,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

数据对于当今互联网业务的重要性不言而喻,它几乎渗透到了当今这个世界的每一个角落。但单有数据是不够的,真正让数据产生价值的,是针对各业务场景运行的对大量数据的密集分析与计算,如机器学习、大数据分析、OLAP 聚合分析等等。近些年,随着数据规模的增大,这些对于资源有着更高要求的数据密集应用自然地导向了以弹性资源著称的云服务。

在这种数据密集应用上云的趋势下,Serverless 似乎并不是这个趋势的明显受益者。尽管几乎所有人都对这种计算资源无限扩容、弹性敏捷交付、低运维成本的架构不吝赞美之词,但由于它将计算存储分离的架构推向了一个更纯粹的极端,具有强数据依赖的数据密集应用想要高效运行于 Serverless 环境变得极其困难。

举例来说,如果我们想将 AI 推理服务应用部署在 Serverless 架构下,每个服务应用启动前必须将存放在外部存储系统的 AI 模型首先拉取到本地内存中。考虑到近年来 AI 大模型已经成为业界主流,让我们假设这个 AI 模型的大小为 30GB,并且存储于 OSS 对象存储服务中,如果需要同时启动 100 个这样的 AI 推理服务应用,那么总共的数据读取量就是 3000GB。OSS 存储默认的数据访问限速是 10Gbps,这就意味着 100 个应用都需要等待 2400 秒(3000GB * 8 / 10Gbps)才可以真正开始对外提供服务。如果每个服务我们创建一个 ecs.gn7i-c32g1.16xlarge 的实例(按每小时单价折算每秒 0.008 元),这意味着光在等待数据上就已经花掉了 1920 元(0.008 元/秒 * 2400 秒 * 100)。总结来说,我们大量的费用没有花在产生价值的计算上,这显然不是我们想要的。(*实际价格以阿里云官网显示为准)

那么,有没有什么方法可以优化上述过程?这就引入了本文的主角:Fluid。Fluid 是一个 Kubernetes 原生的分布式数据集编排和加速引擎。Fluid 诞生的初衷即是为应用的数据访问延时问题提供云原生的解决方案。对于困扰着 Serverless 数据密集应用的上述相关问题,Fluid 在保证用户简单易用的使用体验前提下,给出了一套 Serverless 环境新的数据访问架构方案,帮助用户提升数据访问效率。

本文将 step by step 地介绍 Fluid 的运行示例,帮助大家了解如何在阿里云 ASK(Alibaba Serverless Kubernetes)环境中使用 Fluid,展示如何借助 Fluid 实现 zero to zero 的(从零资源使用开始到全部资源释放结束)规模化数据密集型任务执行模式,并取得降本提速的效果。

Fluid on ASK 运行示例

Fluid 数据编排加速 Serverless Kubernetes 功能尚处于公测阶段,可点击阅读原文申请体验席位。

Fluid 部署

在运行以下示例前,首先需要搭建一个 ASK 集群,并配置好连接该集群的 Kubeconfig。相关步骤可参考文末文档《如何创建 ASK 集群》。在使用 Fluid 的各项功能前,需要将 Fluid 的各控制面组件部署到 ASK 集群中。这个部署过程可以通过阿里云容器服务-Kubernetes 控制台轻松完成。

如下图所示:

  1. 选择 ASK 集群面板右侧的“应用-Helm”子面板
  2. 点击"创建"按钮
  3. 在 Chart 市场中搜索 ack-fluid 即可找到 Fluid 对应的 Helm Chart,填写“应用名”(例:ack-fluid)。
  4. 点击“下一步”后,选择使用默认的 fluid-system 作为部署的命名空间
  5. 接着无需对 Chart Values 进行任何修改,直接点击“确定”,即可将 Fluid 部署到 ASK 集群中。

在配置完 ASK 集群对应的 Kubeconfig 信息后,输入以下命令:

$ kubectl get pod -n fluid-system

可以观察到 Fluid 的几个组件已经正常运行起来:

NAME                                  READY   STATUS    RESTARTS   AGE
dataset-controller-d99998f79-dgkmh    1/1     Running   0          2m48s
fluid-webhook-55c6d9d497-dmrzb        1/1     Running   0          2m49s

其中:

  • Dataset Controller:负责维护各个 Fluid 所引入的 Dataset CRs 的完整生命周期。
  • Fluid Webhook: 负责对用户需要访问数据的应用 Pod 进行自动化变换(Mutation),无感知地帮助用户实现 Serverless 场景的数据访问功能。

除了上述描述的两个组件外,Fluid 的控制面仍然包含了一些与各类缓存系统(例如:JindoFS、JuiceFS、Alluxio 等)紧密关联的控制器组件,这些组件在初始部署状态下不会创建,仅当用户指定需要使用某种缓存系统时,与其相关联的缓存系统控制器组件 Pod 才会按需扩容,从而在按量付费的 ASK 环境中尽可能地帮助用户节省成本。

数据缓存部署

Fluid 世界中的一切都以 Dataset 这一自定义资源为中心:无论是对外部存储中已有数据的抽象管理还是应用 Pod 的数据访问,用户都需要和 Dataset 资源进行交互。每当用户创建一个 Dataset CR 并指定了它的缓存系统后端,Fluid 就会自动地将数据缓存部署到 Kubernetes 集群中。

在下面的实践过程

这篇关于Fluid 助力阿里云 Serverless 容器极致提速的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/647632

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

阿里云服务器ces

允许公网通过 HTTP、HTTPS 等服务访问实例 https://help.aliyun.com/document_detail/25475.html?spm=5176.2020520101.0.0.3ca96b0b3KGTPq#allowHttp

LLM系列 | 38:解读阿里开源语音多模态模型Qwen2-Audio

引言 模型概述 模型架构 训练方法 性能评估 实战演示 总结 引言 金山挂月窥禅径,沙鸟听经恋法门。 小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖铁观音的小男孩,今天这篇小作文主要是介绍阿里巴巴的语音多模态大模型Qwen2-Audio。近日,阿里巴巴Qwen团队发布了最新的大规模音频-语言模型Qwen2-Audio及其技术报告。该模型在音频理解和多模态交互

C++ STL关联容器Set与集合论入门

1. 简介 Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树,其属于一种非线性的数据结构,每一次插入数据都会自动进行排序,注意,不是需要排序时再排序,而是每一次插入数据的时候其都会自动进行排序。因此,Set中的元素总是顺序的。 Set的性质有:数据自动进行排序且数据唯一,是一种集合元素,允许进行数学上的集合相

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。