基于边缘容器的阿里云CDN云原生实践

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 2019年阿里云上海峰会,由阿里云智能高级技术专家黄玉奇、阿里云智能技术专家吴龙辉共同讲述了基于边缘容器的阿里云CDN云原生实践。

2019年阿里云上海峰会,由阿里云智能高级技术专家黄玉奇、阿里云智能技术专家吴龙辉共同讲述了基于边缘容器的阿里云CDN云原生实践, 演讲内容涵盖了边缘容器的背景和趋势,Edge@ACK的能力、架构,以及基于边缘容器构建阿里云CDN的云原生体系的详细过程,期望能够给听众带来了一场“使用阿里云容器服务打造云边端一体基础设施”的分享。
视频直播回放
云原生专场PPT下载

以下为精彩视频内容整理:

边缘容器的介绍

随着互联网智能终端设备数量的急剧增加,以及5G和物联网时代的到来,传统云计算中心集中存储、计算的模式已经无法满足终端设备对于时效、容量、算力的需求,将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控,将是云计算的重要发展趋势。IDC预计,到2020年全球将有超过500亿的终端与设备联网,超过40%的数据要在网络边缘侧进行分析、处理与存储,这对边缘计算提供了充分的场景和想象空间。边缘计算按功能角色主要分为三个部分:
云 – 传统云计算的中心节点,有丰富的云计算产品形态和资源,是边缘计算的管控端,负责全网算力和数据的统一管理、调度、存储。
边 – 云计算的边缘侧,又分为基础设施边缘(Infrastructure Edge)和设备边缘(Device Edge)。基础设施边缘通常位于IDC内,拥有充足的算力和存储容量,和中心有专线或骨干网连接,如CDN节点等;设备边缘通常指非传统IT基础设施的边缘节点,这类资源更靠近设备和数据源,比较常见的一般是数据网关。
端 – 终端设备,如手机、智能家电、各类传感器、摄像头等。

边缘云计算--“云边端一体”

image.png

边缘计算目前面临的主要挑战有:
云边端协同:缺少统一的交付、运维、管控标准。
安全:边缘服务和边缘数据的安全风险控制难度较高。
网络:边缘网络的可靠性和带宽限制。
异构资源:对不同硬件架构、硬件规格、通信协议的支持,以及基于异构资源、网络、规模等差异化提供标准统一的服务能力的挑战。
边缘云计算是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台。云计算上已经具有很成熟的大规模的应用管理及资源管理的能力,希望复用该能力,开展边缘计算的业务,而这也是云边端一体的核心概念;

边缘云要素--标准化

边缘云的五个要素分别为低延时、边缘自制、资源管理、安全性及标准化。其中最关键的要素为标准化,因为在云原生的时代,标准化是云原生要解决的核心问题。标准化可以让用户在基于不同的云资源形态以及不同的云提供商上开展其业务,这正是基于云原生而获取到的标准化的能力,在边缘云里面同样也希望能够做到标准化。此外,标准化的另一个好处是能够在边缘云的场景里面可以很好复用以往在云上构建的能力。
随着边缘云规模越来越壮大,除了标准化之外,资源管理也是急需解决的问题,而减少数据传输,数据在边缘端闭环,则是低时延和安全性的考虑。
image.png

云边端--一体化协同

以下作为标准化的一个构想。将标准化的一个云原生能力向边缘端复制,需要分为三个层次:
 第一个层次是能够在云端提供标准化的接口、管控能力,或者是标准的云服务和云资源的接入能力。其中我们能够看到kubernetes的身影;
 第二个层次是基于CDN的场景和边缘云的基础设施的场景下,能够高效的管理处在整个边缘端的众多资源,其中包括在边缘端应用的效率问题。一个典型的场景是CDN的场景,计算力丰富;第二个典型场景可以理解是边缘云的基础设施,主要是面向物联网IoT的场景,如智慧楼宇、智慧工厂等,其显著的特点是资源和计算力不是特别的丰富,但是分布非常广,总的体量是比较大的。例如一个智慧小区里面有两到三台或者三到五台的边缘节点服务器,用来部署其IoT业务(I o T网管或音视频分析应用等)。
 第三层次是典型的IoT场景中的端设备,例如智慧楼宇智能停车设备,环境监测蓝牙设备、人脸识别设备等。基于以上三层的逻辑划分和一些云原生方案,希望能够在云边端打造一体化协同的基础设施。下图展示了云边端一体化协同的基础设施。
image.png

Edge@ACK的能力和架构

阿里云容器服务--Edge@ACK

image.png

阿里云容器服务最核心的业务就是给终端用户提供标准的K8s的托管服务,主要解决了K8s的升级、扩缩容以及日志监控等运维问题,所有运维的事情都交给阿里云容器服务进行处理。阿里云容器服务核心提供很多垂直领域的K8s的托管服务,比如大数据AI领域,基因领域等托管服务。边缘容器也是基于容器服务的K8s的托管底座推出的。
image.png

边缘容器面向边缘计算场景,提供了一个具备边缘能力的K8s的服务,并保留了K8s原生的一致性体验。基于K8s强大的插件机制,边缘容器将很多边缘应用和边缘资源的管理能力通过插件化的形式集成到了边缘K8s里面,且都是非侵入式的,所以可以提供标准的K8s API供上层领域PaaS集成,也可以把边缘的托管K8s提供给终端用户直接使用,还可以很灵活的基于K8s以往的运维经验开展新的边缘计算的业务。Managed K8s托管服务已经打通与阿里云其它云服务的连接,这些能力也是EdgeK8s天然所具备的。
边缘K8s核心的价值点主要有两点:第一是能够支持诸多类型的边缘异构计算资源的接入,包括CDN领域的资源,ENS(边缘节点服务Edge Node Service)资源接入。第二是自有资源的接入,通过云端标准的K8s管理和运维,边缘容器提供便捷的接入体验,执行一条命令即可完成快速接入;
此外,云上的很多创新业务也会向边缘端下沉,给边缘计算赋能。希望通过边缘的K8s做二、三方云产品的下沉通道,使边缘端能够便捷的使用云上产品能力。

Edge@ACK的边缘自制能力

在边缘场景中,边缘的worker节点和云上管控通过公网链路交互,而公网通常是不可靠的,这也是边缘场景的弱网络连接问题;而k8s的设计原则需要管控源源不断的接收到worker节点上报的心跳,作为资源管理和应用调度的依据;而一旦接收不到边缘节点的心跳,并且超过最大容忍时间之后,k8s管控就会对节点上的应用做驱逐处理,这个在边缘场景里面是不可接受的。因此,边缘托管在边缘节点上增加了一个核心组件Edge-Hub
,在断网的情况下替代云端的管控,给边缘节点上所有的agent提供配置数据,保证断网场景下节点自治;
Edge-Hub能够保证Worker节点上的Agent正常运行,但是节点自治除此之外还要保证节点上应用的持续运行;例如,在断网情况下,节点或者应用重启需要能够保证应用元信息不变,例如保证Pod的IP不变。这些都是边缘容器在k8s体系下做的边缘场景适配。
当然,业界也有很多其他边缘自治方案,包括将整个K8s管控下沉的办法来解决边缘端的自治;下图为Edge@ACK 边缘自治能力流程图。
image.png

阿里云容器服务边缘容器已经正式开始公测,未来还将在边缘容器领域持续发力,包括:基于OpenKruise实现的边缘场景的调度策略和业务模型的封装,以及像函数计算、安全容器等创新业务的落地,等等。
image.png

Edge@ACK的落地案例--IoT智慧楼宇

虽然边缘容器的公测时间稍微有些晚,但是在阿里内部已经实施了一年多的时间。最开始支撑的用户是公司内部的IoT团队,主要覆盖一些智慧楼宇、智慧工厂的业务场景,与前面讲到的云边端分层结构吻合,通过边缘K8s构建IoT领域的PaaS,其次把边缘节点接入到边缘集群里面,边缘节点上部署了IoT智能网关等IoT应用来管理整个智慧楼宇设备,也很符合前面讲到的云边端一致性体验的分层结构。下图为阿里云容器服务Edge@ACK的整体框架。

image.png

基于边缘容器打造阿里云CDN边缘计算的架构体系

image.png

边缘容器除了在IoT做了一些尝试之外,另外一个比较大的场景,就是CDN场景。CDN不仅规模比较大,而且也能锤炼整个边缘集群的稳定性和大规模的服务能力。

CDN是内容分发网络,目前是属于云服务的一个基本件。当一个网站配置了CDN以后,当终端用户访问这个网站的时候,系统可以调度到离用户最近的边缘节点。现在CDN除了传统的图片视频加速以外,已经衍生出视频处理、AI处理、以及边缘计算的业务体系。目前,阿里CDN在全球有超过2500个节点,120T的带宽储备。

CDN的重要性不仅仅在于CDN的业务本身,更重要的是CDN的基础设施属性,它天生具备分布式边缘计算平台特点。CDN节点是全球分布的,随着5G的正式商用,目前来看,CDN的规模最大、算力最强,将成为布局边缘计算最佳的位置。

Apsara Edge Stack技术体系

传统CDN是以内容分发为主的服务形态,随着5G场景对低延时以及新场景的诉求,就需要CDN转变成一个更通用的,包含计算、存储、以及网络传输的通用边缘计算平台。在这个背景下,阿里云已经生产出另一个产品叫ENS,目前该产品已经具备了完整的IaaS能力,用户可以在ENS上购买一台边缘的虚机,以及在虚机里面部署自己的能力。

除了IaaS的工作以外,在资源层级上可以通过容器和ACK来打造PaaS和Serverless的服务能力,整个体系包含底层的IaaS、容器、以及上层的SaaS。下图展示了Apsara Edge Stack的技术体系。
image.png

基于Edge@ACK的资源调度

image.png

从上文提到的边缘ACK来说,主要是看中容器资源的弹性能力,以及K8s标准化的能力。ACK能够支撑异构资源的接入,包括CDN的物理机和ENS的虚拟机都可以直接接入到ACK里面,我们把所有的CDN以及一部分的ENS接入到ACK进行资源的整合。CDN和ENS的节点是全球分布的,策略上主要根据业务类型和区域,在阿里云的中心机房创建ACK的Master服务,然后就近把边缘节点接入到ACK Master中。
目前的规划是一个ACK接入20~30个边缘机房,全网会部署100多个ACK集群,然后在ACK之上,我们会构建PaaS,PaaS的一个主要能力就是多K8S集群邦联,同时把容器调度跟CDN的流量调度打通的。

基于Edge@ACK的中台管控

当把资源接到ACK以后,就要开始部署业务,部署业务是管控运维的能力。CDN已经具备了比较完整的发布运维的体系,针对容器本身的特点需要做一些增强。

除了上述介绍的基于边缘ACK本身的边缘自治的能力之外,另外CDN自有的内容分发的管道能力是能够实现秒级全网节点的数据分发和同步,基于这个能力,目前可以用这个通道下发一些业务的配置,以及针对容器下发一些指令。

另外一个问题是怎样将镜像高效的分发到各个节点呢?首先会在每个机房内去部署一个Mirror镜像仓库,通知配置CDN本身的加速实现全球镜像分发。基于数据管控、镜像通道及管控通道,我们能够保证业务在CDN的环境上快速的DevOps。下图为基于Edge Kuberentes的中台管控流程图。
image.png

CDN边缘节点架构升级

将CDN原有的服务与整个云原生的体系打通,策略上跟中心机房的业务没有本质的区别,过程是容器化接入到K8s以后,把里面通用的一些能力API化,通过Servicemesh提供出去。目的是将CDN的资源和能力充分的利用起来,在云原生的背景之下提供创新服务,这种创新服务包括刚刚公测上线的可编程的CDN,所谓可编程CDN,是指通过CDN边缘脚本EdgeScript,可以用简单易学的语法实现CDN复杂配置,快速构建CDN个性化业务体系并进行敏捷的业务迭代。目前,EdgeScript已经支持定制化鉴权、缓存控制、请求头/响应头控制、A/BTesting、改写/重定向和限速等应用场景,这也将是未来重要的发展方向,欢迎大家来申请公测。
同时,也可以在CDN的环境上去部署像函数计算等的Serverless业务、将CDN原有的缓存服务通过API给到函数计算串接起来。下图展示了CDN边缘节点的架构升级。
image.png

基于Edge@ACK的边缘计算体系

原来阿里云CDN已经是一个完整的边缘生态,其中有供应链的管理,以及一些中台的能力。在这个基础之上,现在通过边缘容器以及ACK云原生的能力,打通上下游,实现能力的串通,支撑边缘计算业务爆发。下图为基于Edge@ACK的CDN边缘计算体系
image.png

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
3天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
3天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
20 5
|
4天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
4天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
17 3
|
4天前
|
运维 Kubernetes Cloud Native
深入理解云原生架构:从理论到实践
【10月更文挑战第38天】本文将引导读者深入探索云原生技术的核心概念,以及如何将这些概念应用于实际的软件开发和运维中。我们将从云原生的基本定义出发,逐步展开其背后的设计哲学、关键技术组件,并以一个具体的代码示例来演示云原生应用的构建过程。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和实操指南。
|
5天前
|
Cloud Native 持续交付 云计算
云原生技术入门与实践
【10月更文挑战第37天】本文旨在为初学者提供云原生技术的基础知识和实践指南。我们将从云原生的概念出发,探讨其在现代软件开发中的重要性,并介绍相关的核心技术。通过实际的代码示例,我们展示了如何在云平台上部署和管理应用,以及如何利用云原生架构提高系统的可伸缩性、弹性和可靠性。无论你是云原生领域的新手,还是希望深化理解的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
|
3天前
|
弹性计算 Kubernetes Cloud Native
云原生技术的实践与思考
云原生技术的实践与思考
16 2
|
4天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
18 3
|
4天前
|
存储 Cloud Native 持续交付
云原生入门:从理论到实践
【10月更文挑战第38天】云原生技术正在重塑软件开发和运维的面貌。本文将带你走进云原生的世界,理解其核心理念,并探索如何将这些理念应用于实际项目中。我们将一起学习容器化、微服务架构、持续集成与持续部署(CI/CD)等关键概念,并通过代码示例加深理解。无论你是云原生新手还是希望深化知识的开发者,这篇文章都将为你提供宝贵的知识和启示。
15 3
|
4天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####