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

本文涉及的产品
容器镜像服务 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

相关文章
|
26天前
|
运维 安全 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
在数字化转型的浪潮中,企业对于IT基础设施的要求越来越高,不仅需要快速响应市场变化,还要确保系统的稳定与安全。本文深入探讨了如何通过融合DevOps文化和容器化技术来构建一个高效、稳定且易于管理的云基础设施。通过实际案例分析,阐述了持续集成/持续部署(CI/CD)流程的优化、自动化测试、监控以及日志管理等关键环节的实施策略,旨在为运维专业人员提供一套切实可行的解决方案。
23 3
|
29天前
|
存储 Kubernetes Docker
容器服务ACK常见问题之阿里云控制台进不去了如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
29天前
|
运维 Kubernetes Devops
构建高效可靠的云基础设施:DevOps与容器化技术融合实践
【2月更文挑战第30天】 在当今快速迭代和竞争激烈的软件开发领域,传统的IT运维模式已难以满足业务发展的需要。本文将探讨如何通过整合DevOps文化和容器化技术,构建一个既高效又可靠的云基础设施。文章首先回顾了DevOps的核心理念及其对运维工作流的影响,接着深入讨论了容器化技术的优势和挑战,并提出了一套结合两者的实施方案。最后,通过案例分析展示了该方案在实际环境中的应用效果和潜在益处。
|
29天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构的演进与实践
【2月更文挑战第30天】 随着数字化转型的深入,企业对于信息技术的需求日益复杂化和动态化。传统的IT架构已难以满足快速迭代、灵活扩展及成本效率的双重要求。云原生技术作为解决这一矛盾的关键途径,通过容器化、微服务、持续集成/持续部署(CI/CD)等手段,实现了应用的快速开发、部署及运维。本文将探讨云原生架构的最新发展,分析其如何助力企业构建更加灵活、高效的业务系统,并结合实际案例,展示云原生转型过程中的最佳实践和面临的挑战。
|
4天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:DevOps与容器技术融合实践
【4月更文挑战第15天】 在当今快速发展的信息技术时代,传统的IT运维模式已难以满足业务敏捷性的需求。本文旨在探讨如何通过整合DevOps理念和容器技术来构建一个高效的自动化运维体系。文章将详细阐述DevOps的核心原则、容器技术的基础知识,以及两者结合的优势。此外,文中还将分享一系列实践经验,包括持续集成/持续部署(CI/CD)流程的搭建、微服务架构的应用,以及监控和日志管理策略的优化,以期帮助企业实现快速、可靠且安全的软件交付过程。
|
6天前
|
运维 Devops 持续交付
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【4月更文挑战第13天】 在当今快速迭代和持续部署的软件开发环境中,传统的IT运维模式已难以满足业务发展的需求。本文聚焦于如何通过融合DevOps理念与容器化技术,构建一个高效、稳定且易于管理的云基础设施。文章将探讨持续集成/持续交付(CI/CD)流程的优化、容器化技术的最佳实践、以及微服务架构下的应用管理,以期为企业提供一种改进运维效率、加速产品上市时间,同时保障系统稳定性的解决方案。
|
6天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
11 4
|
10天前
|
消息中间件 人工智能 监控
|
18天前
|
消息中间件 NoSQL Kafka
云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作
该方案描述了一个大数据ETL流程,其中阿里云Kafka消息根据内容触发函数计算(FC)函数,执行针对MongoDB的增、删、改操作。
|
22天前
|
运维 Kubernetes Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
随着企业数字化转型的不断深入,传统的IT运维模式已经难以满足快速迭代和持续交付的需求。本文将探讨如何通过结合DevOps文化与容器化技术,构建一个既高效又稳定的云基础设施。文章首先概述了DevOps的核心理念及其在现代运维中的重要性,然后详细介绍了容器化技术,特别是Docker和Kubernetes在实现微服务架构中的应用。最后,文中通过案例分析展示了这一融合实践如何在真实环境中提升运维效率和系统稳定性。
20 7