随着Kubernetes已经成为容器编排和调度的事实标准,越来越多的企业、行业开始在生产中使用Kubernetes, 拥抱云原生。
在各行各业数字化转型和上云过程中,公有云厂商也在主动拥抱传统线下环境,在思考各种各样的解决方案使云上能力向边缘延伸。
目前,国内各个公有云厂商都已开源了各自基于Kubernetes的边缘计算云原生项目。如华为云的KubeEdge,阿里云的OpenYurt,腾讯云的SuperEdge。
今天就来聊聊,为什么云原生技术是边缘计算落地的理想选择?想要实现边缘云原生,又会面临哪些挑战?
1.边缘计算遇上云原生
边缘计算是这几年提出很火热的一个概念。
相对于云中心计算而言,边缘计算是一种分布式的计算架构,将应用程序从云中心节点移往边缘节点去处理,本质上更靠近于用户终端,可以加快数据的处理与传送速度,减少延迟。
伴随行业发展,边缘计算正在成为云计算的新边界。
互联网智能终端设备数量的急剧增加和数据、业务下沉的诉求增多,让边缘计算规模和业务复杂度已经发生了翻天覆地的变化,边缘智能、边缘实时计算、边缘分析等新型业务不断涌现。
计算规模和业务复杂度的日益提升,也对边缘计算的效率、可靠性、资源利用率等一系列能力提出了新的诉求。
相比之下,传统云计算中心集中的存储、计算的模式,已经无法满足边缘设备对于时效、容量、算力的需求,如何打造边缘基础设施成了一个新课题。
首当其冲的问题是,如何能将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控?
在这种挑战下,云原生技术映入了各大厂商的眼帘。
众所周知,以Kubernetes为基础的云原生技术,核心价值之一是通过统一的标准,实现在任何基础设施上提供和云上一致的功能和体验。
因此,借助云原生技术,实现“云-边-端”一体化的应用分发,解决在海量边、端设备上统一完成大规模应用交付、运维、管控的诉求就成为可能。
同时,在安全方面,云原生技术可以提供容器等更加安全的工作负载运行环境,以及流量控制、网络策略等能力,能够有效提升边缘服务和边缘数据的安全性。
依托云原生领域强大的社区和厂商支持,云原生技术对异构资源的适用性逐步提升。在物联网领域,云原生技术已经能够很好的支持多种 CPU 架构(x86-64/arm/arm64)和通信协议,并实现较低的资源占用。
可以看到,云原生技术比虚拟主机更适应算力下沉的边缘计算,是实现边缘计算的理想选择。
2.边缘云原生的核心技术挑战
云原生与边缘计算的结合,衍生出一种新的技术趋势——边缘云原生,即基于边缘计算进行应用设计开发,以充分利用边缘计算的优势。
阿里云技术专家吴龙辉认为,边缘云原生的核心优势包括以下几个维度:
低延时:可以提供就近计算。
弹性能力:有巨大的算力资源,能够提供弹性能力和质量保证、故障迁移。
边缘自治:在断网情况下支持边缘节点内部自治,保证部分业务功能无损。
云边一体:边缘计算不是孤立存在,是必须跟云中心进行协同的,能够提供跟云中心一致的能力和体验。
不变的基础设施:边缘计算会屏蔽边缘异构资源的差异性,给上层提供统一的Serverless能力。
标准化:边缘计算是云计算的一部分,两者是统一的。
尽管边缘云原生有诸多优势,但是以K8s落地边缘计算场景还存在诸多难点:
一是,基础设施的技术挑战
任何业务都脱离不开基础设施建设,基础设施主要是包含机房和网络。
在机房分布方面,边缘的机房是全球分布的,这对于机房建设挑战是非常大的。
比如:边远地区的机房,维修周期是以周为单位的,并且每个边缘机房规模是比较小的(几十/几百台),这对于业务的容灾保证是比较大考验:如何在有限机器下保证冗余和异常迁移。
同时,边缘节点的网络是不可靠的,机房割接、网络异常、网络攻击是常有的事情,网络异常下就面临业务容灾、边缘自治等等的技术挑战。
二是,IaaS层的技术挑战
弹性方面,因为单机房资源少,所以在业务弹性的时候,往往要弹性到其他节点上。这种扩节点的弹性,对于业务本身也需要提供很多支持,比如跨节点数据同步、服务发现等等。
存储方面,在成本和节点规模的限制下,目前边缘节点其实并没办法提供完全的数据持久化能力。
那么边缘节点数据如何和云中心进行同步,哪些数据可以放在边缘,哪些数据需要传回并存储在中心,就是一个关键问题。
三是,PaaS层的技术挑战
PaaS层的核心技术包括容器和各种中间件能力。
比如Kuberentes、ServiceMesh大多是在中心内网内工作,不需要考虑跨机房、跨公网通信能力,在边缘则面临着安全、稳定性、可运维性上的挑战。
四是,终端的技术挑战
云原生边缘要能够高效的管理处在整个边缘端的众多资源,其中包括在边缘端应用的效率问题,以及管控IoT 场景中的各种端设备,如:智慧楼宇智能停车设备,蓝牙设备、人脸识别设备等。
3.面向未来的边缘云原生技术体系
那么,面对如此多的挑战,应该从何开始建设边缘云原生技术体系?
首先,需要更加适合边缘的云原生能力。例如:各种云上的技术、开源技术,需要针对边缘的需求进行增强,能够在边缘使用各种能力。
其次,需要更加标准和通用的应用管理能力。应用部署云中心和边缘,只是底层环境的差别,上层的应用管理应该是一致的、标准的。
第三,需要建设更加稳定和可靠的边缘Serverless底座。边缘的管控和运维成本是比较高的,所以在边缘落地的时候更倾向于Serverless形态,为此需要提供一个稳定和可靠的底座。
尽管边缘计算仍然处在发展的初期,但随着全球开源社区的蓬勃发展,边缘云原生必然会将更多的创新带入各行各业,成为推动智能化时代的关键力量。
在IOT领域,可用于工厂、仓库、楼宇、园区、高速收费站等场景。
在CDN领域,可以支持视频直播、视频监控、在线教育等行业客户就近计算和存储的需求。
在ENS边缘节点服务领域,可提供针对ENS边缘实例的DevOps能力,方便针对边缘的应用分发及部署运维。
相信在不远的将来,边缘云原生支撑的新业务将和云上保持高度一致:serverless、安全沙箱技术、函数计算等新的业务形态,都将逐步落地。