阿里云云边一体容器架构创新论文被云计算顶会 ACM SoCC 录用

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 此次论文入选 ACM SoCC,是阿里云在云原生容器技术领域,拓展服务边界,实现云边协同的又一次创新。

近日,由阿里云撰写的关于 KOLE 创新论文被 ACM SoCC 国际会议长文录用。


1.png


ACM Symposium on Cloud Computing(以下简称 SoCC)是由美国计算机协会主办、聚焦云计算技术的一项学术会议,是云计算的首要会议。它汇集了对云计算感兴趣的研究人员、开发人员、用户和实践者,是唯一由 SIGMOD(数据管理特别兴趣组)和 SIGOPS(操作系统特别兴趣组)联合主办的会议, 这个会议在近些年蓬勃发展,旨在聚集数据库和计算机系统两大领域的学者,共同推进云计算技术在工业界的研究与发展。


此次被录用的论文为《KOLE: Breaking the Scalability Barrier for Managing Far Edge Nodes in Cloud》。此论文灵感诞生于阿里云边缘容器产品 ACK@Edge ,ACK@Edge 是阿里云容器服务针对边缘计算场景推出的云边一体化协同托管方案,采用非侵入方式增强,提供边缘自治、边缘单元、边缘流量管理、原生运维 API 支持等能力,以原生方式支持边缘计算场景下的应用统一生命周期管理和统一资源调度,现阶段已经覆盖了 CDN、音视频直播、物联网、物流、工业大脑、城市大脑、地产、票务、新零售、能源、交通等实际业务场景,并服务于阿里云 LinkEdge、盒马、优酷、视频云、大麦、CDN 等多个业务或项目中。


2.png


KOLE  全称:A framework built on top of Kubernetes to Orchestrate Limitless (far)  Edge nodes。KOLE 针对 Kubernetes 在云边一体,大规模边缘节点管理方面的挑战,创新性的提出了基于 Kubernetes的新的云边架构,通过利用新的云边通信协议以及缓存快照的方式,使 Kubernetes 能够轻松管理数百万节点。为了突破 Kubernetes 管理大量边缘节点的可扩展性限制,KOLE 的设计遵循三个标准:


  • 避免创建大量对象来持久化边缘节点的状态;
  • 避免在节点与 APIServer 中保持大量的 HTTP 连接;
  • 使用 Kubernetes CRD 支持对边缘节点及其运行的应用程序进行所需的管理操作。 


基于以上原则,KOLE 创新性的使用了 MQTT 协议作为云边通信机制,MQTT 被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务,是专门针对物联网开发的轻量级传输协议,并且适合百万级设备连接, MQTT 协议针对低带宽网络,低计算能力的设 备,做了特殊的优化,MQTT 的传输格式非常精小,最小的数据包只有 2 个比特,相对于 HTTP 协议具有更低的能耗。


经过我们大量的实验测试评估,KOLE 可以支持多达 100 万个节点,而不会给 Kubernetes 的核心组件(如 Apiserver 和 etcd)带来显著的开销。我们能够使用 KOLE 在约 73 秒内将工作负载规范分发到 100 万个节点,在 5 分钟内处理 100 万个节点注册,并在约 20 秒内使用快照中的 100 万个节点重建云状态缓存。具体特点如下:


  • 更强的处理节点心跳的性能


3.png


实验数据表明 KOLE 处理所有心跳的时间几乎随着节点数量的增加呈线性增加。处理一百万个注册心跳需要 ∼9.2 秒。


  • 更低的云端控制器组件的消耗


4.png


对于 100 万个节点,KOLE 控制器和 MQTT Broker 的内存消耗分别为 10.6GB 和 57.3GB,CPU 使用率适中,KOLE 控制器消耗~1.4 个核心,MQTT Broker 消耗~2 个核心。


  • 更快的工作负载分发


5.png


KOLE 通过 MQTT Topic 发送到单个节点时提供了线性可扩展性。将工作负载分别分发到一百万个节点需要 73 秒。线性来自 KOLE 控制器按顺序发布所有 MQTT Topic 的事实。


  • 更高效的云状态缓存快照


6.png


由于 Kubernetes 对 CRD 的限制为 1MB 大小,因此 KOLE 将云状态缓存的序列化字节流设置为为 500MB,对于一百万个节点,这意味着需要 ∼500 个快照用于保存一张快照的 CR 实例。另外为了对数据进一步压缩,KOLE 对常见的压缩算法进行了测试,最终在 KOLE 中,我们选择 gzip 作为默认压缩算法,因为它提供了高压缩比和快速压缩时间,将快照 CR 的数量从 503 个减少到 33 个(减少 93%)。


7.png


在极端情况下, 我们需要从快照中恢复最原始的数据,上图展示了从快照构建云状态缓存所需要时间,其中包括从 APIServer 加载所有快照 CR 的时间以及运行解压缩算法以恢复数据结构的时间。使用 gzip 算法构建具有 100 万个节点的缓存需要 ∼20 秒。为了突出 KOLE 中快速状态恢复的优势,我们通过列出来自 APIServer 的大量单个节点对象来检查 Kubernetes List API 的性能。结果如上图所示。正如预期的那样,从 APIServer 列出大量对象是低效的。列出一百万个节点对象需要 900 秒。很多 Kubernetes 控制器如 kube-scheduler,kube-controller-manager 需要在启动过程中列出所有节点, List API 性能是他们支持大量节点的瓶颈之一。


  • 更迅速的批量节点注册


8.png


实验结果表明,在拥有 100 万个节点情况下,同时批量注册成功需要 260 秒左右。


此次论文入选 ACM SoCC,是阿里云在云原生容器技术领域,拓展服务边界,实现云边协同的又一次创新。


附论文信息


录用论文题目:


KOLE: Breaking the Scalability Barrier for Managing Far Edge Nodes in Cloud


作者:张杰,晋晨,黄玉奇,易立,叔同,郭飞


论文概述:在边缘计算领域,越来越多的趋势是利用容器化和 Kubernetes 等云原生技术和平台来管理边缘应用程序以提高运营效率。不幸的是,Kubernetes 中每个集群支持的节点数量只有几千个,这远远少于在典型边缘计算场景中所能管理的设备节点数量。在本文中,我们提出了 KOLE 方案,这是一个扩展上游 Kubernetes 以支持大量边缘节点的框架。它用 MQTT 消息系统代替了 Kubernetes 中现有的 Apiserver 与节点的通信机制。MQTT 代理完全卸载了为 Apiserver 中的节点保持大量 HTTP 连接的开销。在 KOLE 中,我们通过在云状态缓存中维护它们来避免在 Apiserver 中创建大量单独的对象。缓存会定期生成快照以进行灾难恢复。总体而言,KOLE 通过牺牲拥有单个对象的可管理性实现了出色的可扩展性。实验结果表明,KOLE 具有可扩展性,可支持百万级别的节点。


点击此处,了解边缘容器服务 ACK@Edge 更多详情!

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
11月前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
571 86
|
3月前
|
存储 边缘计算 数据处理
面向智能医疗的边缘计算与云计算融合架构的设计与实现
边缘+云混合部署架构正在为AIoT与医疗领域带来前所未有的技术变革。通过这种架构,能够实现对海量数据的实时处理和深度分析,提升业务响应速度和效率,同时在保障数据安全的基础上,优化系统的可扩展性和可靠性。随着技术的发展,边缘+云架构的应用场景将愈发广泛,未来必将在更多领域内发挥巨大的潜力。
|
3月前
|
存储 安全 虚拟化
全面解析服务器虚拟化:云计算时代的核心技术架构
服务器虚拟化是云计算的核心技术,通过资源池化提升IT效率。本文详解其原理、部署优势及在数字化转型中的关键作用,涵盖技术架构、应用场景与选型指南,助力企业构建高效灵活的云环境。
397 0
|
10月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
11月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
269 3
|
11月前
|
监控 持续交付 API
深入理解云计算中的微服务架构:原理、优势与实践
深入理解云计算中的微服务架构:原理、优势与实践
482 83
|
11月前
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
371 82
|
8月前
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
8月前
|
监控 Cloud Native Java
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
|
11月前
|
Cloud Native 持续交付 云计算
云计算的转型之路:探索云原生架构的崛起与实践####
随着企业数字化转型加速,云原生架构以其高效性、灵活性和可扩展性成为现代IT基础设施的核心。本文深入探讨了云原生技术的关键要素,包括容器化、微服务、持续集成/持续部署(CI/CD)及无服务器架构等,并通过案例分析展示了这些技术如何助力企业实现敏捷开发、快速迭代和资源优化。通过剖析典型企业的转型经历,揭示云原生架构在应对市场变化、提升业务竞争力方面的巨大潜力。 ####
237 27