11月28日晚,阿里云技术专家吴龙辉老师在边缘计算社区社群里分享基于CDN的边缘计算平台设计和思考,本文为吴老师分享实录。全文共3600字,预计阅读15分钟。
CDN的全称是ContentDelivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
以上是来自来自百度百科的解释,简单的说CDN就是用空间换时间,空间的话就是分部在离终端用户较近的边缘节点,时间上就是终端用户直接从边缘节点直接获取资源,这样就不需要直接访问源站,从而提升用户体验。
举一个不是很恰当的类比,比如现在国内电商平台建立物流系统:在一二城市会建立大型物流中心(源站),三四线城市会建立小型物流中心(边缘节点),像双十一这种大促,会根据大数据计算提前在各地的小物流中心准备好商品(预热),这样用户就可以快速获取包裹(就近获取)。所以CDN可以认为是目前整个互联网的物流系统,只不过CDN分发的不是包裹,而是图片、视频、软件安装包。一般一家CDN服务商需要有成百上千个边缘节点,才可以具备比较好的服务质量。
CDN已经是一个充分验证过的成熟技术,可以不夸张地说,CDN扛住了整个互联网大部分的流量,没有CDN就没有现在繁荣的各种视频网站、直播平台和小视频APP。同时经常长期的发展,CDN在供应链体系、节点建设、网络运维都有非常成熟的经验和沉淀。
随着互联网智能终端设备数量的急剧增加,以及 5G 和物联网时代的到来,传统云计算中心集中存储、计算的模式已经无法满足终端设备对于时效、容量、算力的需求。将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控,将是云计算的重要发展趋势。
IDC 预计,到 2020 年全球将有超过 500 亿的终端与设备联网,超过 40% 的数据要在网络边缘侧进行分析、处理与存储,这对边缘计算提供了充分的场景和想象空间。
边缘计算分层结构包括云、边、端。
可以认为CDN是边缘计算的一种形态,并且是当前来看规模最大、算力最强的形态、也是成熟度最高的业务形态。但是CDN的业务形态也需要做技术架构升级,才能支撑更多的边缘计算场景。
边缘计算技术形态也可以按照传统的逻辑划分为IaaS、PaaS和SaaS:
可以看出边缘计算并不是孤立存在的,边缘计算一定是需要跟云计算进行协同,所谓云边端协同。一种比较形象的说法:如果把云计算比作整个计算机智能系统的大脑。那么边缘计算就是这个系统的眼睛耳朵和手脚。
完全依赖云计算的计算机系统就好比每一件事都要请示司令部的军队,在需要大量和外界互动的时候会显得僵化,反应迟缓,而且一旦网络有点问题就彻底歇菜。加上边缘计算之后就好比让中低层军官也开始发挥主观能动性,能一定程度上自主做出智能判断和行动决策,同时也只需要把一部分经过筛选的信息上传到司令部。大大缓解了网络通讯的压力。即使在和总司令部暂时失去联系的情况下,也能自主做出部分决策。
边缘计算跟云计算相比也面临着诸多挑战,以CDN为例,边缘节点分布广,单节点规模小(1~100机器),大部分节点是没有驻场人员,所以维修周期长(1~2周)。同时节点的网络复杂并且不可控,网络割接、运营商封禁是常有的事情,省与省,国与国(海外)之间都有着非常复杂的网络链路。
面对这些问题,就需要对调度/容灾能力、运维能力要有比较高的要求,CDN本身的业务形态就是天然容灾和可调度的:一个节点挂了,流量就可以切换到其他节点上。CDN节点架构也相对比较简单,经典三层架构:四层负载均衡(LVS)+七层负载均衡(Nginx或者HaProxy)+缓存服务(Squid),所以CDN运维也是比较简单的,机器上主要是缓存数据,机器挂了整体影响不大,不需要做数据迁移。
但是CDN要转型到通用边缘计算平台,调度/容灾能力和运维能力就会变得规模化的一个主要瓶颈,怎么做调度、怎么做容灾、怎么做运维,这些问题在边缘场景更加突出。因此容器的轻量级和Devops属性,加上K8S的调度,目前看来是非常是非常适合边缘计算。
容器和K8S的落地场景主要还是在中心大集群场景,目前在边缘的落地形态也是在探索和实践中,目前针对边缘场景的K8S有:
以CDN场景的落地场景来说,形态上就是在云中心部署Kuberentes Master,将云中心所在Region附近的CDN节点接入到Kubrentes中,最后Kuberente之上构建Fedration能力,进行全局容器调度。这样就能利用K8S调度能力和容器的Devops能力。
这块可以参考https://yq.aliyun.com/articles/711767
1. CDN转型边缘计算平台
CDN已经是一个非常成熟技术和业务,也是因为成熟,所以同质化严重,同时因为CDN的业务粘性不够(改个DNS业务就切走了),所以目前国内CDN的商业环境并不是太好,CDN行业变成价格战红海,所以CDN厂商也纷纷在进行战略转型边缘计算平台,但是5G还未大规模商用,转型之路面临着诸多问题:落地场景存不确定因素,客户接受程度不够等等。但是改变可能失败,不改变必定掉队,所以当务之急是先修炼好内功,把新技术(虚拟化/容器/AI)在CDN进行落地和磨炼,同时积极挖掘各种新业务和场景。
2.安全容器是重要能力
容器天然适合边缘计算,但是容器也是比较大的硬伤,那就是安全和隔离,这也是为什么现在边缘计算的主要对外售卖形态还是虚拟机。所以安全容器就是一个最佳解决方案,具备容器的Devops属性,又有比较好的隔离和安全保证。今年Kata安全容器发展迅猛,所以安全容器是边缘计算的一个关键技术。
3.视频AI和边缘计算天生一对
视频AI目前已经有不少落地场景:人脸识别门禁、自动垃圾分类、食堂自助结账等等,可以预见视频AI将会继续快速发展。但是随着规模的扩大和场景的挖掘,视频AI对于低延时的需求会日渐强烈,如果能把视频AI能力部署在边缘节点上:云中心进行大数据计算和AI训练,AI训练结果下沉到边缘节点,边缘负责视频接入,直接在边缘进行处理。