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

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

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

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


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

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


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

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

1.高密

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

2.弹性


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

3.数据隔离

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


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

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

1. 应用兼容


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

2. 极致弹性

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

3. 共享

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


4. 安全可靠

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

5. 优化成本


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

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

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

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

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


典型使用场景及最佳实践

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 倍资源。

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

自动驾驶

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

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

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

基因计算

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

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


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



更多关于阿里云容器网络文件系统 CNFS 的技术能力、应用场景和使用方式,请点击“阅读原文”了解。



相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
19 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
14天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
14天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
14天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
14天前
|
人工智能 运维 Kubernetes
拥抱智算时代:阿里云容器服务智能、托管、弹性新体验
本文总结了2024云栖大会容器计算专场的演讲内容,重点介绍了阿里云容器服务的新产品体验,包括智能、托管、弹性的特点,以及如何助力客户拥抱智算时代。文中还分享了多项实际案例和技术细节,展示了阿里云容器服务在提升用户体验和解决实际问题方面的努力。
|
21天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
19天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
29天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
42 3
|
1月前
|
Cloud Native 持续交付 云计算
云原生架构的演进与挑战
随着云计算技术的不断发展,云原生架构已成为企业数字化转型的重要支撑。本文深入探讨了云原生架构的概念、发展历程、核心技术以及面临的挑战,旨在为读者提供一个全面了解云原生架构的视角。通过分析Kubernetes、Docker等关键技术的应用,以及微服务、持续集成/持续部署(CI/CD)等实践案例,本文揭示了云原生架构在提高应用开发效率、降低运维成本、增强系统可扩展性等方面的显著优势。同时,也指出了云原生架构在安全性、复杂性管理等方面所面临的挑战,并提出了相应的解决策略。
|
18天前
|
运维 Cloud Native 持续交付
云原生技术深度探索:重塑现代IT架构的无形之力####
本文深入剖析了云原生技术的核心概念、关键技术组件及其对现代IT架构变革的深远影响。通过实例解析,揭示云原生如何促进企业实现敏捷开发、弹性伸缩与成本优化,为数字化转型提供强有力的技术支撑。不同于传统综述,本摘要直接聚焦于云原生技术的价值本质,旨在为读者构建一个宏观且具体的技术蓝图。 ####