基于边缘容器的阿里云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博客。
相关文章
|
8天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
1天前
|
监控 Kubernetes Cloud Native
云原生之旅:从理论到实践的探索
【10月更文挑战第34天】本文将引导你走进云原生的世界,从基础概念出发,逐步深入到实际的应用部署。我们将探讨云原生技术如何改变现代软件开发和运维的方式,并展示通过一个简单应用的部署过程来具体理解服务编排、容器化以及自动化管理的实践意义。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供有价值的视角和知识。
12 3
|
7天前
|
Kubernetes Cloud Native 微服务
云原生之旅:从容器到微服务
【10月更文挑战第29天】在这篇文章中,我们将一起探索云原生的奥秘。云原生不仅仅是一种技术,更是一种文化和方法论。我们将从容器技术开始,逐步深入到微服务架构,最后探讨如何在云平台上实现高效的服务部署和管理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的技能。让我们一起踏上这段激动人心的云原生之旅吧!
|
7天前
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务的融合
【10月更文挑战第28天】 在数字化转型的浪潮中,云原生技术如星辰般璀璨,引领着企业IT架构的未来。本文将带你穿梭于云原生的世界,探索容器化技术和微服务架构如何携手共舞,打造灵活、高效的应用部署和运维模式。我们将通过实际代码示例,揭示这股力量背后的奥秘,并展现它们是如何为现代软件开发带来革新。准备好了吗?让我们启航,驶向云原生技术的深海。
|
9天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
35 4
|
7天前
|
Cloud Native 持续交付 云计算
云原生入门指南:从容器到微服务
【10月更文挑战第28天】在数字化转型的浪潮中,云原生技术成为推动现代软件开发的关键力量。本篇文章将带你了解云原生的基本概念,探索它如何通过容器化、微服务架构以及持续集成和持续部署(CI/CD)的实践来提升应用的可伸缩性、灵活性和可靠性。你将学习到如何利用这些技术构建和部署在云端高效运行的应用,并理解它们对DevOps文化的贡献。
25 2
|
9天前
|
Kubernetes Cloud Native API
云原生架构下微服务治理的深度探索与实践####
本文旨在深入剖析云原生环境下微服务治理的核心要素与最佳实践,通过实际案例分析,揭示高效、稳定的微服务架构设计原则及实施策略。在快速迭代的云计算领域,微服务架构以其高度解耦、灵活扩展的特性成为众多企业的首选。然而,伴随而来的服务间通信、故障隔离、配置管理等挑战亦不容忽视。本研究聚焦于云原生技术栈如何赋能微服务治理,涵盖容器编排(如Kubernetes)、服务网格(如Istio/Envoy)、API网关、分布式追踪系统等关键技术组件的应用与优化,为读者提供一套系统性的解决方案框架,助力企业在云端构建更加健壮、可维护的服务生态。 ####
|
3天前
|
Cloud Native API 云计算
云原生架构的深度探索与实践####
本文深入探讨了云原生架构的核心概念、技术特点及其在现代软件开发中的应用实践。通过分析云原生架构如何促进企业数字化转型,提升业务敏捷性与可扩展性,本文旨在为读者提供一个全面而深入的理解框架。我们将从云原生的定义出发,逐步深入到其关键技术组件、最佳实践案例及面临的挑战与解决方案,为开发者和企业决策者提供宝贵的参考与启示。 ####
|
3天前
|
Cloud Native 持续交付 云计算
云原生时代的技术革新与实践探索
【10月更文挑战第33天】在云计算的浪潮下,云原生技术如雨后春笋般涌现。本文将深入浅出地介绍云原生的基本概念、优势及其在现代IT架构中的应用,并探讨如何通过云原生技术推动企业的数字化转型,最后通过实际案例分析,展示云原生技术的强大潜力和广阔前景。
|
9天前
|
缓存 资源调度 Cloud Native
云原生架构下的性能优化实践与策略####
【10月更文挑战第26天】 本文深入探讨了云原生环境下性能优化的核心原则与实战技巧,旨在为开发者和企业提供一套系统性的方法,以应对日益复杂的微服务架构挑战。通过剖析真实案例,揭示在动态扩展、资源管理、以及服务间通信等方面的常见瓶颈,并提出针对性的优化策略,助力企业在云端环境中实现更高效、更稳定的应用部署。 ####
19 0
下一篇
无影云桌面