1、背景与趋势
边缘计算的发展:随着互联网智能终端设备数量的急剧增加,以及5G和物联网时代的到来,传统云计算中心集中存储、计算的模式已经无法满足终端设备对于时效、容量、算力的需求,将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控,将是云计算的重要发展趋势。
CDN与ENS的融合:CDN是广义边缘计算已落地的最大规模业务,通过边缘节点分发内容,使内容更贴近用户,有效改善用户体验,阿里云CDN团队从2019年开始了CDN容器化改造工作,同时逐步沉淀出阿里边缘云基础技术平台,输出技术能力到边缘计算ENS场景,真正意义上实现CDN转型边缘云。
2、技术挑战与解决方案
机房分布与规模:CDN的机房是全球分布的,这对于机房建设挑战非常大,CDN每个机房规模相对较小,相比云中心机房上万甚至百万机器的规模,边缘机房是非常之少(几十/几百台),这对于业务的容灾保证是比较大的考验。
流量调度与运维管理:调度能力是CDN核心技术,如何保证业务质量、成本和水位,一直都是CDN的技术挑战,相比于1~3中心,边缘成千上万节点的管理,运维成本是几何倍数增长的。
弹性与网络问题:因为单机房资源少,所以在业务弹性的时候往往要弹性到其他节点上,这种扩节点的弹性,对于业务本身也需要提供很多支持,比如跨节点数据同步、服务发现等等,边缘节点的网络是不可靠的,机房割接、网络异常、网络攻击是常有的事情,网络异常下就面临业务容灾、边缘自治等等的技术挑战。
3、容器化实践
平台升级:CDN容器化主要采用Kubernetes来进行容器编排,ServiceMesh进行组件之间的服务发现,所以需要开发一套PaaS平台,能够管理和发布CDN容器,并同时兼容已经具备的运维能力。
组件容器化:需要针对CDN的组件进行容器化后的功能/性能验证,组件容器化接入Kubernetes后,也针对一些场景进行微服务改造,以支持组件混部后的服务发现。
容器CDN是边缘计算与CDN结合的产物,通过容器化技术实现了CDN的边缘化部署和管理,提高了内容的分发效率和用户体验,在实际应用中,容器CDN还面临着诸多技术挑战和解决方案的选择,需要根据具体场景进行权衡和优化。