从 2013 年美国太平洋西北国家实验室首次提出边缘计算(EC)到今天,本质在于解决集中式云计算发展瓶颈、释放终端计算压力,实现算力负载均衡优化的边缘计算正在逐渐走向“主流”,在开发者中关注度持续攀升,尤其自 2018 年开始迎来爆发。
注:图中数字代表相对于图标中最高点的搜索热度,例如,热度最高得100分,数据来源:Google Trends
其中,边缘云计算作为基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的新型计算平台,正在成为行业的新焦点。
北京时间 5 月 29 日,在阿里云容器服务 ACK@Edge(边缘集群托管服务) 发布一周年之际,阿里巴巴正式对外宣布将其核心能力开源,并向社区贡献完整的边缘计算云原生项目 —— OpenYurt。
据阿里官方介绍,OpenYurt 是阿里巴巴首个边缘计算云原生开源项目,汇聚了阿里巴巴众多边缘计算业务团队的深厚技术积累,深度挖掘了“边缘计算 + 云原生落地实施“诉求。
两年前,OpenYurt 作为公共云服务 ACK@Edge 的核心框架,就已经应用于 CDN、音视频直播、物联网、物流、工业大脑、城市大脑等实际应用场景中,并服务于阿里云 LinkEdge、盒马、优酷、视频云(视频点播、视频直播、实时通信、视频监控、智能视觉)等多个业务或项目中。
阿里巴巴云原生开源负责人、云原生应用平台资深技术专家李响表示:“随着边缘计算的场景和需求不断增加,‘云边协同’、‘边缘云原生’正在逐渐成为新的技术焦点。OpenYurt 开源项目实践‘云边一体化’概念,依托原生 Kubernetes 强大的容器编排、调度能力,实现完全边缘计算云原生基础设施架构,帮助开发者轻松完成在海量边、端资源上的大规模应用的交付、运维、管控。我们希望 OpenYurt 开源能推动社区在云原生和边缘计算交叉领域的协同发展。”
01 什么是 OpenYurt?
阿里云原生团队表示,使用 OpenYurt(Yurt,/jɜːrt/,蒙古包)作为本次开源项目名称,期望以其“形”来表示边缘计算侧重于创建一个集中管理但物理分布的基础设施,并支持自动/自治运行操作的含义。
OpenYurt 主打“云边一体化”概念,依托原生 Kubernetes 强大的容器编排、调度能力,通过众多边缘计算应用场景锤炼,实现了一整套对原生 Kubernetes“零”侵入的边缘云原生方案,提供诸如边缘自治、高效运维通道、边缘单元化管理、边缘流量拓扑管理,安全容器、边缘 Serverless/FaaS、异构资源支持等能力。OpenYurt 能帮用户解决在海量边、端资源上完成大规模应用交付、运维、管控的问题,并提供中心服务下沉通道,实现和边缘计算应用的无缝对接。
02 OpenYurt 诞生背景
时间倒回两年前,伴随当时的行业发展,边缘计算正在成为云计算的新焦点,而规模和复杂度的日益提升对边缘计算的效率,可靠性,资源利用率等一系列能力提出了更高的要求。
从 2017 年底开始,阿里云物联网(IoT)和 CDN 服务作为典型的边缘计算业务正面临着产品规模的爆发式增长、运维复杂度急剧攀升、运维效率不高的“三难”境地,因此引入云原生理念、全面转型边缘应用的运维管理模式成为亟需解决的问题。正是在这样的背景下,OpenYurt 诞生于阿里云容器服务团队。
03 OpenYurt 技术特点
OpenYurt 沿用了目前业界流行的“中心管控、边缘自治”的边缘应用管理架构,将“云边端一体化协同”作为目标,赋能云原生能力向边缘端拓展。在技术实现上,OpenYurt 贯彻了“Extending your native Kubernetes to Edge”的核心设计理念,其技术方案有如下特点:
对原生 Kubernetes“零”侵入,保证对原生 K8s API 的完全兼容。不改动 Kubernetes 核心组件,并不意味着 OpenYurt 是一个简单的 Kubernetes Addon。OpenYurt 通过 proxy node network traffic,对 Kubernetes 节点应用生命周期管理加了一层新的封装,提供边缘计算所需要的核心管控能力。
无缝转换,OpenYurt 提供了工具将原生 Kubernetes“一键式”转换成支持边缘计算能力的 Kubernetes 集群。
低 Overhead,OpenYurt 参考了大量边缘计算场景的实际需求,在保证功能和可靠性的基础上,本着最小化,最简化的设计理念,严格限制新增组件的资源诉求。
以上技术特点使得 OpenYurt 能够实现:
最大程度保证用户在管理边缘应用时获得和管理云端应用一致的体验。
兼容所有云厂商的 Kubernetes 服务,易于集成。
保持极低的运维成本。
04 OpenYurt 核心能力
OpenYurt 开源的核心能力包括:
边缘自治能力:YurtHub 作为节点上的临时配置中心,在网络连接中断的情况下,持续为节点上所有设备和客户业务提供数据配置服务。YurtHub 提供了对大量原生 Kubernetes API 的支持,可以在节点和边缘单元维度提供“Shadow Apiserver”的能力,在边缘计算弱网络链接场景的价值尤为突出。
边缘运维通道:在边缘场景,由于大多数边缘节点没有暴露在公网之上,中心管控无缝和边缘节点主动建立网络链接,所有的 Kubernetes 原生应用运维 APIs(logs/exec/metrics)会失去效力;YurtTunnel 通过在管控与边缘节点之间建立反向通道,并和节点的生命周期完整联动,承载原生运维 APIs 的流量。
集群转换能力:Yurtctl 作为 OpenYurt 官方命令行工具,提供原生 Kubernetes 集群支持边缘计算 infrastructure 的一键式切换。
其他更高级的功能比如边缘流量管理、单元化管理,部署、区域自治等将会逐步开源。
05 OpenYurt Roadmap
作为阿里云容器服务 ACK@Edge 的开源版本,OpenYurt 将采用全开源社区开发模式,每季度发布新版本更新,包含社区上游安全/关键 bug 修复和新特性、新能力,并逐步将产品完整能力开源,预计到 2021 年一季度正式发布 OpenYurt 1.0 版本。大致的 RoadMap 如下:
主导这次开源的阿里巴巴云原生应用平台团队,目前已经开源 OAM、OpenKruise、Dragonfly、Apache RocketMQ、Apache Dubbo 等众多明星项目,是国内最资深的云原生开源贡献团队。OpenYurt 项目的开源,本着“Extending your native Kubernetes to Edge”的设计理念,让云原生技术在边缘计算领域的生态建设与普及前进了一大步,也为全球开发者拓展云原生边界贡献了一份力量。
最后,欢迎通过下方地址或「阅读原文」登陆 GitHub Star!
OpenYurt 项目地址:
https://github.com/alibaba/openyurt
【END】