剑指企业级云原生,阿里云 CNFS 如何破局容器持久化存储困境

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 云原生趋势下,应用容器化比例正在快速增长,Kubernetes 也已成为云原生时代新的基础设施。据 Forrester 预测,到 2022 年, 全球企业及组织在生产环境运行容器化应用。观察今天的容器和 Kubernetes 的应用现状,我们可以看到两个普遍的现象。首先,在云上托管 Kubernetes 已经成为企业上云及运行容器的优先选择。另外,用户使用容器的方式也在改变,从无状态应用 到 核心企业应用 到 数据智能应用,越来越多的企业使用容器来部署生产级别、复杂度高和高性能计算的有状态应用。比如 Web 服务、内容资料库、数据库,甚至 DevOps、AI/大数据应用等。

作者:CNFS

云原生趋势下,应用容器化比例正在快速增长,Kubernetes 也已成为云原生时代新的基础设施。

据 Forrester 预测,到 2022 年, 全球企业及组织在生产环境运行容器化应用。观察今天的容器和 Kubernetes 的应用现状,我们可以看到两个普遍的现象。首先,在云上托管 Kubernetes 已经成为企业上云及运行容器的优先选择。另外,用户使用容器的方式也在改变,从无状态应用 到 核心企业应用 到 数据智能应用,越来越多的企业使用容器来部署生产级别、复杂度高和高性能计算的有状态应用。比如 Web 服务、内容资料库、数据库,甚至 DevOps、AI/大数据应用等。

1.png

云原生时代,我们如何解决海量容器的编排和存储?又该如何提升容器存储的性能和稳定性?

容器应用趋势下的存储能力演变

随着基础设施从物理机到虚拟机,到以 Kubernetes 为代表的容器环境,甚至到 Serverless 的逐渐演进,今天的计算和应用正在面临巨大的变化,最明显的就是从过去应用在虚拟机里边去独占一个 CPU 内存分区,到今天在 Serverless 里演变成在函数层面去为用户提供服务。

image.png

在这样的技术体系下,存储的能力同样需要随之改变,主要体现在以下几个方面:

1.高密

虚拟机时代,一个虚拟机就对应一个完整的存储空间,可以用其去存储单个应用所需要的所有数据相关的访问和存储需求。但今天在 K8s 在 serverless 环境里的存储是共享的,一个容器需要去访问的是一个巨大的存储资源池,带来的代价就是存储的密度是非常大的,同时访问同一个存储能力的要求也变得更高。

2.弹性

当我们创建一个物理机或者虚拟机时,常会在一个比较稳定的周期之内访问和使用存储介质。但今天在容器环境里,前端计算服务的弹性伸缩变化是非常快的,可能需要瞬间从数十台到几百台,因此也需要非常高的弹性存储能力。

3.数据隔离

在 K8s 和 Serverless 里,很难做到内存和存储资源的独占,因为容器环境下存储资源、计算资源,甚至于操作系统以及一些依赖的基础包都是共享的。那这个时候就需要在基础架构层面实现一种安全的隔离,同样在上层的应用层面,也需要通过完善的安全策略和手段去实现数据隔离,这同样是非常大的变化和挑战。

容器环境下,企业需要怎样的存储能力?

块存储、文件存储、对象存储是现在比较常见的容器存储解决方案,那么在容器环境下,企业需要怎样的文件存储能力呢?

image.png

1. 应用兼容

我们很难快速让企业整体的应用方式发生转变。很多场景下,企业使用存储的方式会是共享或者分布式存储集群。这时,存储对于应用的兼容能力就非常重要,能不能在容器环境和非容器环境下保持一致,让应用的改造尽可能变得更少,甚至于不需要改造,这是一个迫切重要满足的诉求。

2. 极致弹性

容器部署的一大特点需要随着业务的峰值和波谷,满足快速的弹性需求。而当上层的计算发生弹性之后,底下的存储也需要有能力快速跟进,而不是用耗费大量时间去做底层数据的同步。

3. 共享
在大数据、高性能计算等场景下,应用的数据集是非常庞大的,量级动辄就是 TB、十几个 TB 的级别,有些场景甚至可以达到上百 TB。这种规格的数据如果无法共享,而是需要去在弹性的容器环境下通过拷贝传输完同步,这对于成本的压力、对于时效性的损失,都是很难保障的。

4. 安全可靠

不管底层的基础架构如何改变,是物理机、虚拟机、K8s 的容器还是 Serverless,无论怎么去抽象,业务应用最根本的诉求一定是安全,应用间不能相互污染。因此存储就必须在数据共享能力之上,为数据安全提供保障。

5. 优化成本

企业对于成本优化的追求,在所有的应用场景里几乎都是孜孜不倦的。即使是在最核心的应用场景里,我们依然需要去控制成本。因为今天业务的增长和变化是非常迅速的,数据的增速也是飞快的。怎么在数据快速增长的同时里兼顾成本的优化,也是对存储非常大的一个挑战。

阿里云容器网络文件系统 CNFS

针对容器中使用文件存储的优势和挑战,阿里云推出了容器网络文件系统 CNFS,内置在阿里云托管的 Kubernetes 服务 ACK 中。CNFS 通过将阿里云的文件存储抽象为一个 K8s 对象(CRD)进行独立管理,包括创建、删除、描述、挂载,监控及扩容等运维操作,使用户可以在享受容器使用文件存储带来的便捷的同时,提高文件存储的性能和数据安全,并提供容器一致的声明式管理。

image.png

CNFS 在弹性伸缩、性能优化、可访问性、可观测性、数据保护、声明式等方面针对容器存储进行了深度优化,使其与同类方案相比具有以下明显优势:

在存储类型方面,CNFS支持文件存储和对象存储,目前支持阿里云的NAS、CPFS、OSS云产品
支持 Kubernetes 兼容的声明式生命周期管理,可以一站式管理容器和存储
支持 PV 的在线扩容、自动扩容,针对容器弹性伸缩特性优化
支持更好的和 Kubernetes 结合的数据保护,包括 PV 快照、回收站、删除保护、数据加密、数据灾备等
支持应用级别的应用一致性快照,自动分析应用配置和存储依赖,一键备份、一键还原
支持 PV 级别监控
支持更好的访问控制,提高共享文件系统的权限安全,包括目录级 Quota、ACL
提供性能优化,针对文件存储的小文件读写,提供微秒级性能优化
成本优化,提供低频介质及转换策略,降低存储成本

典型使用场景及最佳实践

1. 极致弹性的容器应用场景

以互联网和大型金融服务类突发应用为例,这种场景下具有需要在短时间内弹性扩容大量的容器,对资源弹性伸缩有较高的能力要求的特点,因此容器存储需具备通用的弹性和快速伸缩能力。这类场景典型的应用包括:媒体/娱乐/直播、Web 服务/内容管理、金融服务、游戏、持续集成、机器学习、高性能计算等。

在这个场景中,Pod 需要灵活的挂载和卸载存储 PV,存储的挂载需要匹配容器快速启动,并且存在大量文件I/O;当海量的持久化数据快速增长,存储成本压力也会比较大。建议使用 ACK+CNFS+NAS 的组合,结合CNFS 可以做到以下优化:

内置文件存储类,在短时间内可启动数千个容器,并毫秒级挂载文件存储 PV
内置文件系统 NAS,可以为海量容器提供共享读写能力,快速实现容器应用/数据高可用
针对低时延和小文件的优化,实现微秒级读写性能,解决容器高并发访问对文件存储性能的要求
提供文件存储生命周期管理,自动冷热分级,降低存储成本

2. AI 容器应用场景

现在有越来越多的 AI 业务在容器中进行训练和推理,云上海量的基础设施和 IDC 结合的方式也为 AI 提供了更灵活的算力调度。当 AI 业务在云上进行训练和推理时,应用的数据集是非常庞大的。比如在自动驾驶领域,数据集可以达到 10个 PB 甚至于超百 PB 的规模,在如庞大的数据量下做 AI 训练,又需要保证训练的时效性,使容器 AI 主要面临以下挑战:

AI 的数据流复杂,存在存储系统的 IO 瓶颈;
AI 训练、推理需要高性能的计算和存储;
AI 算力协同,云和 IDC 资源/应用 需要统一调度

针对这个场景,建议使用 ACK 纳管集群+CNFS+文件存储 NAS/CPFS 的组合,主要可以获得以下优化:

优化的文件存储 NAS 读写性能,提供高性能共享存储,与 AI 场景完美匹配,支持海量小文件访问,加速 AI 训练、推理性能
适配了容器环境的 GPU 云服务器、裸金属服务器(神龙)等计算集群,提供超高吞吐和超高 IOPS 能力;CPFS 还可支持云上/云下混合部署
ACK 纳管集群,支持 ACK 纳管 IDC 自建的 Kubernetes 集群,云上/云下形成统一的资源池,异构资源/应用统一调度,最大化的利用云上海量基础设施的计算优势

3. 基因计算应用场景

现在基因检测技术已经逐渐走向成熟,并且在很多医院里慢慢被引入,通过对患者基因的测量更加精准、快速地解决复杂病症。对于我们每一个,基因的采样数据者是非常庞大的,动辙都是几十个 GB。而在进行某类定向的基因分析时,只有个人的样本是远远不够的,可能需要采集十万甚至百万个样本,这对容器存储会带来非常大的挑战,包括:

大规模样本的数据挖掘需要海量计算资源和存储资源,数据增长快,存储费用高,管理困难。
海量数据需要快速、安全的分发到国内多地,多数据中心需要共享访问
批量样本处理时间长,性能需求高,资源需求峰谷明显,难以规划

针对基因计算的场景,建议使用 ACK+AGS+CNFS+文件存储 NAS+OSS 的组合,来解决以下问题:

NFS 内置的文件存储类,可以快速搭建极速、低成本、高精度的基因计算容器环境,满足基因测序计算和数据共享需求
CNFS 支持对象存储 OSS 类型的 PV,可以保存下机数据和组装后数据以及分析结果数据,用于数据的分发、归档、交付,保证 海量用户同时上传、下载数据,提高数据交付效率。同时提供海量存储空间,同时通过生命周期管理,将冷数据归档存储,降低存储成本
AGS 针对基因计算的热点数据进行 GPU 加速计算,性能相比传统模式提高 100 倍,快速降低基因测序的时间和成本

当然,除上以上三种典型代表,CNFS 在很多场景下都可以为业务提供容器和存储结合使用的深度优化方案。欢迎大家通过文档了解:https://help.aliyun.com/document_detail/264678.html

案例:使用 CNFS 和文件存储构建现代化企业应用

通过与 CNFS的 深度集成,阿里云文件存储 NAS 已经成为容器存储最理想的解决方案。下面通过几个真实的客户案例,帮助大家更直接地了解如何使用阿里云容器服务 ACK 和文件存储构建现代化企业应用。

视频服务

百家云是全国领先的一站式视频服务提供商。疫情期间,百家云流量暴涨,业务量短时间内增长了数十倍,如此迅速扩容需要在客户无感知的情况下完成;另外,百家云业务场景大量读写需求,同时计算集群水平扩容4个集群,在录制转码的过程当中,原有存储系统遇到 IO 瓶颈,对于百家云大流量、高并发的处理能力是个严峻考验。

这里对存储提出的要求包括快速适配容器应用的弹性伸,以及缩之后需要快速的数据访问。最终,通过阿里云容器服务 ACK 和文件存储 NAS 的结合,优化容器集群架构,实现了在 3 天内弹性扩容 10 倍资源。

image.png

文件存储 NAS 按需弹性扩展,基于容器服务 ACK 自动化定时伸缩,短时间内启动数千个容器,可以完美适配容器应用的弹性。采用文件存储 NAS,提供标准的访问接口兼容主流转码软件,轻松挂载编辑视频工作站。百家云的 K8s 集群对性能要求极高,通过高性能 NAS 服务,能供提供最高 10GB 大吞吐,解决了 IO 瓶颈,完美应对百家云大流量、高并发的场景,保障疫情期间直播录制业务顺利上线。

自动驾驶

第二个案例是汽车行业的典型客户,该客户是中国领先的智能汽车制造商,也是融合互联网和人工智能前沿创新的科技公司,其产品搭载了多项人工智能技术的服务 ,如语音助手、自动驾驶等。

该企业面临的问题是在自动驾驶场景下,训练素材通常是上亿的 100KB 的小图片,总量高达上百 TB,训练过程中,GPU 通常需要反复随机访问训练集中的一部分图片,需要文件系统提供高 IOPS 的文件访问能力,从而加速训练过程;大规模存储系统稳定性以及性能无法随规模进行线性扩展;并且随着存储资源急剧增长,也带来了成本高、运维管理复杂等问题。

image.png

通过采用阿里云文件存储,完美支撑了该客户的智能驾驶的高性能计算平台,最终随机访问小文件训练速度提高了 60%;文件存储在集群中的多个数据节点,多个客户端同时访问,支持并行扩展;并且阿里云文件存储支持多级存储数据流动,大大简化了自动驾驶数据采集、传输、存储的流程。

基因计算

最后是来自基因计算场景的案例,该客户是全球领先的生命科学前沿机构。客户面临的问题:数据增长快,当前存储无法满足容量和性能线性扩展需求,基因计算性能遇到 IO 瓶颈;大规模样本数据存储费用高,管理困难。

通过使用容器集群挂载文件存储 NAS 高性能计算基因数据分析中的共享存储,保存下机数据和组装后的数据,以及过程中的中间数据,为该机构提供了低延时、高 IOPS 的容器存储能力,存储性能由 1GB/s 提升至 10GB/s,实现数据 12 小时端到端处理完成,包括数据上云,结果下云分发。

image.png

文件存储 NAS 提供弹性扩展和高吞吐量的带宽,根据每次业务规模不同,NAS 按需分配容量并且提供与之匹配的带宽,既满足了业务弹性的需求,又节省 TCO;文件存储 NAS 通过统一的流程、统一的资源调度云上和云下的异构计算资源,低成本且高效地完成基因计算任务。

更多关于阿里云容器网络文件系统 CNFS 的技术能力、应用场景和使用方式,请点击(https://yqh.aliyun.com/live/ack_cnfs_release)了解。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
弹性计算 Cloud Native 数据安全/隐私保护
|
7月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB云原生数据库:重塑企业级数据库的新标杆
阿里云PolarDB云原生数据库凭借其出色的性能、可扩展性、稳定性以及Serverless能力,成为企业级数据库的新标杆。它能够快速响应业务需求,灵活伸缩资源,确保系统稳定可靠。同时,PolarDB还提供全面的数据加密、访问控制和审计功能,确保用户数据的安全性。此外,它还支持与第三方工具和服务提供商的集成,提供更多定制化的解决方案。总之,阿里云PolarDB云原生数据库为企业提供了一种高效、可靠、经济的数据库解决方案,值得企业考虑选择。
|
1月前
|
存储 Cloud Native 块存储
EBS深度解析:云原生时代企业级块存储
企业上云的策略,从 Cloud-Hosting 转向 Serverless 架构。块存储作为企业应用上云的核心存储产品,将通过 Serverless 化来加速新的计算范式全面落地。在本话题中,我们将会介绍阿里云块存储企业级能力的创新,深入解析背后的技术细节,分享对未来趋势的判断。
106 2
|
5月前
|
Kubernetes Cloud Native 微服务
企业级容器部署实战:基于ACK与ALB灵活构建云原生应用架构
这篇内容概述了云原生架构的优势,特别是通过阿里云容器服务Kubernetes版(ACK)和应用负载均衡器(ALB)实现的解决方案。它强调了ACK相对于自建Kubernetes的便利性,包括优化的云服务集成、自动化管理和更强的生态系统支持。文章提供了部署云原生应用的步骤,包括一键部署和手动部署的流程,并指出手动部署更适合有技术背景的用户。作者建议在预算允许的情况下使用ACK,因为它能提供高效、便捷的管理体验。同时,文章也提出了对文档改进的建议,如添加更多技术细节和解释,以帮助用户更好地理解和实施解决方案。最后,展望了ACK未来在智能化、安全性与边缘计算等方面的潜在发展。水文一篇,太忙了,见谅!
|
7月前
|
Kubernetes 安全 Cloud Native
Rainbond 携手 TOPIAM 打造企业级云原生身份管控新体验
TOPIAM是开源的IDaas/IAM平台,旨在统一管理企业账号、权限和认证,整合各类系统,实现单点登录。通过集中式管理,它解决传统IT架构中的安全和效率问题,加强企业安全并促进数字化转型。使用Rainbond云原生应用管理平台可轻松部署TOPIAM。TOPIAM功能包括组织信息管理、身份源集成、多种认证协议、安全审计、防暴力破解和密码策略。未来将推出更多与Rainbond的结合应用案例。
Rainbond 携手 TOPIAM 打造企业级云原生身份管控新体验
|
7月前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
543 3
|
6月前
|
运维 Cloud Native 云计算
云原生技术在企业级应用中的应用与前景分析
随着云计算技术的快速发展,云原生技术作为一种优秀的应用架构模式,正在逐渐受到企业和开发者的关注。本文通过分析云原生技术在企业级应用中的应用情况和未来发展前景,探讨了其在加速企业数字化转型、提升应用性能和灵活性等方面的优势,以及面临的挑战和解决方案。
71 0
|
7月前
|
存储 人工智能 运维
【云原生企业级数据湖:打破数据孤岛,优化存储成本】
【云原生企业级数据湖:打破数据孤岛,优化存储成本】 随着大数据时代的到来,企业对于数据的处理和存储需求日益增长。如何有效地存储和管理大量数据,同时降低运维成本,成为了企业面临的一大挑战。盛通教育的云原生企业级数据湖方案,正是为了解决这一问题而设计的。
219 1
|
Cloud Native 关系型数据库 MySQL
下一代企业级云原生实时数仓的创新和实践(一)
下一代企业级云原生实时数仓的创新和实践(一)
311 1
|
运维 数据可视化 Devops
阿里云云原生DevOps-开启企业级DevOps方案
阿里云云原生DevOps-开启企业级DevOps方案
阿里云云原生DevOps-开启企业级DevOps方案