2022云栖精选—云原生驱动数据抽象 与缓存加速开源技术发展

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 顾 荣南京大学 计算机科学与技术系计算机软件新技术国家重点实验室(南京大学

lQLPJxbcF2cqNBvMiM0FeLCMz4ifcSGHeANpqgFLAEAA_1400_136.png一、云原生对数据处理平台的影响

image.png

过去十年,云原生大数据人工智能系统在开源浪潮下发展迅猛,以 Docker K8S 为代表的云原生技术近些年取得了长足的发展,应用广泛,已经成为云计算的新一代重要技术。

HadoopSparkFlink为代表的大数据计算和存储系统已经成为大数据处理领域某种意义上的事实标准在人工智能框架领域,以 TensorflowPyTorch 为代表的主流人工智能框架在用户的反复使用和社区的开发中也逐步成熟。

大数据的应用和 AI 的应用诞生之初面向大规模数据计算分析而设计,彼时更多的是运行在单机甚至常规固定规模的分布式集群中。

近些年,由于原生平台在资源成本扩容效率和高效部署方面的优势,越来越多的大数据和人工智能的框架已运行在云原生平台上。Gartner预测,到2023年, 70% AI 的应用会以容器化方式部署运行。 Spark 也在很早的版本上开始尝试Kubernetes scheduler进行对接,拥抱原生环境。

image.png

云原生计算架构正在重塑众多行业的服务与应用,其底部计算层面的关键技术包括计算存储分离容器及其编排以及无服务器计算等,进一步往上诞生了很多重要的基础开源软件,比如原生容器技术、云函数计算技术、云数据传输技术以及原生存储技术这些方向的CNCF开源软件。基于原生开源软件可以构建很多原生应用,进一步服务于各行各业的应用于服务

image.png

原生数据处理平台带来哪些优势?

第一,计算存储分离带来更低的扩容成本。不同应用不同时刻对扩容存储和计算的配比都不一样而计算存储分离的架构使得扩容变得非常灵活,成本也会更低。

第二K8S Docker 非常好的容器及其编排技术,负载均衡变得更容易可以灵活地对计算负载进行扩容和缩容,且可以应对不同流量。

第三以函数计算为代表的轻量级的灵活计算使得运行逻辑需要的资源变得更少,资源更轻,节约了成本,也更高效灵活。

image.png

任何计算框架都需要运行在基础设施上。

2012年,Hadoop技术应用较为广泛,此时大数据主要的计算引擎仅有MapReduce底下大数据存储HDFS通常部署在分布式集群平台,当时也称为云平台,更接近于一个普通的集群,不易扩展。特点计算存储要求本地化高效的并行计算资源调度粒度通常较粗。

经过大数据时代的不断发展,用户对计算逻辑的处理要求越来越高,计算已经难以满足很多场景的需求出现了以社交网络为代表的图处理的需求以实时消息数据流为代表的流处理的需求,以及迭代计算、机器学习等。底下的存储也不再仅限于HDFS,还有对象存储NFS 存储

总而言之,上层的计算框架和底下的数据变得越来越丰富,并开始逐步解耦。此时,Alluxio问世,它可以对计算框架和数据源进行很好的桥接,并且实现数据统一的抽象往上层提供。框架解耦,云平台支撑的环境的特点支持多样化的框架,环境维护相对复杂,不易进行弹性扩容。

如今,越来越多应用部署在云原生环境上,使用 K8SDocker 对资源进行标准化的封装和调度编排,底下的存储也变得更多样,甚至可以支持本地和公有云构建混合存储。云原生环境下,我们对标准化数据的加速需求愈发强烈


二、云原生的标准化数据加速需求

 image.png

数据密集应用上云之后面临着巨大挑战。

第一,异构数据源带来的复杂性用户需要管理很多数据源,存储系统也非常多样,难以实现最优的方案和最好的效果。

第二,计算存储分离架构,数据密集应用需要频繁访问数据会带来IO的瓶颈,特别是算力的变化使得 IO 的需求不断变化,而存储分离架构难以适应

第三,云原生环境不断扩容缩容以及跨作业的运行,数据的感知和调度变得越来越更弱。

image.png

我们试图将数据看作商品,将存储看作超市,将应用看作消费者。

image.png

线上购物模式为:以客户为中心,商品贮藏在仓库,客户线上挑选商品, 由现代化物流交付商品高效便捷、交易量更大。我们从线上购物模式中得到启发,发现云架构下缺少高速的数据物流(传输概念。至此,云原生对于标准化数据的加速需求诞生。


三、云原生数据抽象加速开源项目

image.png

我们设计了云原生数据抽象加速开源项目——FluidFluid意为气流、流体我们希望数据能够像云朵气流一样,在云计算中心高速运转处理,而且可以便捷被访问到。

Fluid项目建立之初需要面对三大挑战

第一,原生环境下数据访问和存储系统的配置复杂

第二,数据访问速率需求的动态变化。

第三,异构环境下数据感知调度困难。

针对上述挑战,我们提出三个理念,分别为数据服务抽象、数据自动加速以及数据感知,实现面向应用场景的高层数据抽象与缓存自适应配套数据处理实时感知的数据加速弹性伸缩机制,以及数据分布感知的应用运行机制和调度优化策略。

image.png

首先,我们提供了云原生级别的数据集抽象,类似于 Spark RDD ,我们将进一步泛化到原生平台目前针对于数据集的资源特性。底下每个数据集Dataset可对接不同的存储数据源,并提供统一的标准化访问接口。同时,会为每个Dataset 绑定一个分布式缓存,为数据集定制化进行分布式缓存的优化参数调优。

image.png

面向 IO 的弹性需求,我们提出了自适应扩缩容机制,类似于 TCP拥塞控制协议里感知自适应机制。当我们感知到计算应用对数据访问的需求量变大且即将成为瓶颈,会自动对缓存系统进行水平扩容,使得对数据访问的需求可以高效地被满足。

image.png

另外,我们还提出了数据感知的应用协同编排调度,用于感知不同作业之间依赖的数据集关系,从而进行协同编排调度

比如数据集 A J1J3J7依赖,数据集BJ2J6J8依赖。如果需要以最快速度将这批作业完成,应该对作业的次序进行合理排序,使得数据集依赖的作业尽量在一起运行,这一切的感知需要开发者调度进行结合。

image.png

开源Fluid系统架构利用了很多 k8s组件,K8s保持了生态低侵入性,且支持很多定制化的环境系统,包括AlluxioJindoFSGooseFS

我们对于Fluid研究的相关工作已经汇总为论文进行了发表。

image.png

南京大学与阿里云团队、Alluxio等单位联合发起的 Fluid开源项目已经进入CNCF官方沙箱,得到了云计算产业的广泛关注

image.png

相关技术也进入国际云原生技术生态体系,推动Fluid项目的发展。Fluid开源项目入选了CNCF LandScape,并获得中国信通院尖峰开源项目奖项。

image.png

未来,我们计划支持更多类型的数据密集型应用运行在云原生平台上,为其提供高层的数据抽象。另外面对不同的数据应用需求,考虑更复杂更多样的调度,联合启动编排策略。最后,希望与更多云原生现有的调度和编排工具进行集成。

lQLPJxbcF2cqM2TM-M0CnrCgW_7LDpyh1wNpqgFKAPsA_670_248.png

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1天前
|
运维 Cloud Native Devops
云原生技术:构建弹性、高效和可扩展的现代应用
在当今数字化时代,企业面临着日益复杂的市场需求和技术挑战。为了满足这些需求,许多企业转向了云原生技术。云原生是一种以云计算为基础的架构和方法论,旨在构建弹性、高效和可扩展的现代应用程序。本文将深入探讨云原生技术的核心概念、优势以及实施过程中的关键步骤,帮助读者更好地理解和应用这一前沿技术。
13 6
|
1天前
|
Cloud Native Devops 持续交付
云原生技术:构建现代应用的新范式##
在当今数字化时代,企业正面临着前所未有的挑战和机遇。随着云计算技术的不断发展,越来越多的企业开始采用云原生架构来构建和部署应用程序。本文将探讨云原生技术的关键概念、优势以及如何利用这些技术来推动业务创新和增长。我们将从微服务架构、容器化、持续集成/持续部署(CI/CD)等方面深入分析云原生技术的核心原理,并分享一些成功案例,帮助读者更好地理解和应用云原生技术。 ##
|
1天前
|
运维 Cloud Native 安全
云原生技术在企业数字化转型中的作用
随着云计算技术的不断演进,云原生(Cloud Native)技术成为了推动企业数字化转型的重要驱动力。本文将深入探讨云原生技术的核心概念、主要特点及其在实际应用中的优势和挑战,旨在帮助读者了解如何通过云原生技术实现更高效、灵活和创新的IT架构。
|
2天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
12 4
|
2天前
|
运维 Cloud Native API
探索云原生技术:构建现代应用的新范式
在当今这个数字化时代,云原生技术正迅速成为推动企业数字化转型的关键力量。它不仅重新定义了应用的构建、部署和运行方式,还为企业带来了前所未有的灵活性、可扩展性和弹性。本文旨在深入探讨云原生技术的精髓,通过解析其核心概念、关键技术和实践案例,揭示云原生如何引领我们进入一个更加高效、智能的应用开发新时代。不同于传统的技术综述,本文将以通俗易懂的语言,结合条理清晰的逻辑结构,带领读者一同领略云原生技术的奥秘与魅力。
|
1天前
|
运维 Cloud Native 云计算
云原生技术在现代企业中的应用与挑战
随着云计算技术的飞速发展,云原生(Cloud Native)技术逐渐成为现代企业实现数字化转型的重要手段。本文将深入探讨云原生技术的核心理念、主要特点及其在实际业务中的应用。通过分析云原生技术在提高开发效率、降低运维成本和增强系统弹性方面的优势,揭示企业在采用云原生技术过程中面临的挑战及应对策略。我们将从实际案例出发,展示云原生技术如何帮助企业在激烈的市场竞争中脱颖而出,并展望未来的发展趋势。希望通过本文的阐述,让读者对云原生技术有一个全面而深入的理解,助力其在业务场景中落地生根。
6 0
|
1天前
|
运维 Cloud Native 持续交付
云原生技术:构建现代应用的未来
在当今数字化时代,技术的快速迭代和业务需求的不断变化要求企业具备更高的灵活性和响应速度。云原生技术以其独特的优势,如微服务架构、持续集成/持续部署(CI/CD)、容器化等,成为现代企业实现敏捷开发和运维的重要手段。本文将深入探讨云原生技术的核心概念、关键技术以及其在不同应用场景中的优势和挑战。
7 0
|
14天前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
1月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
|
30天前
|
缓存 NoSQL Java
Redis深度解析:解锁高性能缓存的终极武器,让你的应用飞起来
【8月更文挑战第29天】本文从基本概念入手,通过实战示例、原理解析和高级使用技巧,全面讲解Redis这一高性能键值对数据库。Redis基于内存存储,支持多种数据结构,如字符串、列表和哈希表等,常用于数据库、缓存及消息队列。文中详细介绍了如何在Spring Boot项目中集成Redis,并展示了其工作原理、缓存实现方法及高级特性,如事务、发布/订阅、Lua脚本和集群等,帮助读者从入门到精通Redis,大幅提升应用性能与可扩展性。
58 0