阿里云 CDN 业务基于边缘容器的云原生转型实践

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力、架构,以及基于边缘容器构建阿里云 CDN 的云原生体系的详细过程,期望与读者分享使用阿里云容器服务打造云边端一体基础设施过程中的体会。

导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力、架构,以及基于边缘容器构建阿里云 CDN 的云原生体系的详细过程,期望与读者分享使用阿里云容器服务打造云边端一体基础设施过程中的体会。

文章整理自 2019 年阿里云上海峰会,阿里云智能高级技术专家黄玉奇、阿里云智能技术专家吴龙辉演讲。“阿里巴巴云原生”公众号后台回复“724",可 获得云原生专场全部 PPT。

视频直播回放
了解 ACK 容器服务

边缘容器的介绍

随着互联网智能终端设备数量的急剧增加,以及 5G 和物联网时代的到来,传统云计算中心集中存储、计算的模式已经无法满足终端设备对于时效、容量、算力的需求。将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控,将是云计算的重要发展趋势。

IDC 预计,到 2020 年全球将有超过 500 亿的终端与设备联网,超过 40% 的数据要在网络边缘侧进行分析、处理与存储,这对边缘计算提供了充分的场景和想象空间。边缘计算按功能角色主要分为三个部分:

  • – 传统云计算的中心节点,有丰富的云计算产品形态和资源,是边缘计算的管控端,负责全网算力和数据的统一管理、调度、存储;
  • – 云计算的边缘侧,又分为基础设施边缘 (Infrastructure Edge) 和设备边缘 (Device Edge)。基础设施边缘通常位于 IDC 内,拥有充足的算力和存储容量,和中心有专线或骨干网连接,如 CDN 节点等;设备边缘通常指非传统 IT 基础设施的边缘节点,这类资源更靠近设备和数据源,比较常见的一般是数据网关;
  • – 终端设备,如手机、智能家电、各类传感器、摄像头等。

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

a1

边缘计算目前面临的主要挑战有:

  • 云边端协同:缺少统一的交付、运维、管控标准;
  • 安全:边缘服务和边缘数据的安全风险控制难度较高;
  • 网络:边缘网络的可靠性和带宽限制;
  • 异构资源:对不同硬件架构、硬件规格、通信协议的支持,以及基于异构资源、网络、规模等差异化提供标准统一的服务能力的挑战。

边缘云计算是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台。云计算上已经具有很成熟的大规模的应用管理及资源管理的能力,希望复用该能力,开展边缘计算的业务,而这也是云边端一体的核心概念。

边缘云要素--标准化

边缘云的五个要素分别为低延时、边缘自治、资源管理、安全性及标准化。其中最关键的要素为标准化,因为在云原生时代,标准化是云原生要解决的核心问题。

标准化可以让用户在基于不同的云资源形态以及不同的云提供商上开展其业务,这正是基于云原生而获取到的标准化的能力,在边缘云里面同样也希望能够做到标准化。此外,标准化的另一个好处是能够在边缘云的场景里面可以很好复用以往在云上构建的能力。

随着边缘云规模越来越壮大,除了标准化之外,资源管理也是急需解决的问题,而减少数据传输,数据在边缘端闭环,则是低时延和安全性的考虑。
a2

云边端--一体化协同

“云边端一体化协同”作为标准化的一个构想,将标准化的一个云原生能力向边缘端复制,需要分为三个层次:

  • 第一个层次是能够在云端提供标准化的接口、管控能力,或者是标准的云服务和云资源的接入能力。其中我们能够看到 Kubernetes 的身影;
  • 第二个层次是基于 CDN 的场景和边缘云的基础设施的场景下,能够高效的管理处在整个边缘端的众多资源,其中包括在边缘端应用的效率问题。
  1. 一个典型的场景是 CDN 的场景,计算力丰富;
  2. 第二个典型场景可以理解是边缘云的基础设施,主要是面向物联网 IoT 的场景,如智慧楼宇、智慧工厂等,其显著的特点是资源和计算力不是特别的丰富,但是分布非常广,总的体量是比较大的。

例如一个智慧小区里面有两到三台或者三到五台的边缘节点服务器,用来部署其 IoT 业务(IoT 网管或音视频分析应用等)。

  • 第三层次是典型的 IoT 场景中的端设备,例如智慧楼宇智能停车设备,环境监测蓝牙设备、人脸识别设备等。

基于以上三层的逻辑划分和一些云原生方案,希望能够在云边端打造一体化协同的基础设施。下图展示了云边端一体化协同的基础设施。

a3

Edge@ACK 的能力和架构

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

a4

阿里云容器服务最核心的业务就是给终端用户提供标准的 K8s 的托管服务,主要解决了 K8s 的升级、扩缩容以及日志监控等运维问题,所有运维的事情都交给阿里云容器服务进行处理。

阿里云容器服务核心提供很多垂直领域的 K8s 的托管服务,比如大数据 AI 领域,基因领域等托管服务。边缘容器也是基于容器服务的 K8s 的托管底座推出的。

a5

边缘容器面向边缘计算场景,提供了一个具备边缘能力的 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  边缘自治能力流程图。

a6

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

a7

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

虽然边缘容器的公测时间稍微有些晚,但是在阿里内部已经实施了一年多的时间。

最开始支撑的用户是公司内部的 IoT 团队,主要覆盖一些智慧楼宇、智慧工厂的业务场景,与前面讲到的云边端分层结构吻合,通过边缘 K8s 构建 IoT 领域的 PaaS;其次把边缘节点接入到边缘集群里面,边缘节点上部署了 IoT 智能网关等 IoT 应用来管理整个智慧楼宇设备,也很符合前面讲到的云边端一致性体验的分层结构。

下图为阿里云容器服务 Edge@ACK 的整体框架。

a8

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

a9

边缘容器除了在 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 的技术体系。

a10

基于 Edge@ACK 的资源调度

a11

从上文提到的边缘 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 的中台管控流程图。

a12

CDN 边缘节点架构升级

将 CDN 原有的服务与整个云原生的体系打通,策略上跟中心机房的业务没有本质的区别,过程是容器化接入到 K8s 以后,把里面通用的一些能力 API 化,通过 Servicemesh 提供出去。

目的是将 CDN 的资源和能力充分的利用起来,在云原生的背景之下提供创新服务,这种创新服务包括刚刚公测上线的可编程的 CDN,所谓可编程 CDN,是指通过 CDN 边缘脚本 EdgeScript,可以用简单易学的语法实现 CDN 复杂配置,快速构建 CDN 个性化业务体系并进行敏捷的业务迭代。目前,EdgeScript 已经支持定制化鉴权、缓存控制、请求头/响应头控制、A/BTesting、改写/重定向和限速等应用场景,这也将是未来重要的发展方向,欢迎大家来申请公测。

同时,也可以在 CDN 的环境上去部署像函数计算等的 Serverless 业务、将 CDN 原有的缓存服务通过 API 给到函数计算串接起来。下图展示了 CDN 边缘节点的架构升级。

a13

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

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

a14

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
10天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
42 2
|
8天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
10天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
8天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
2天前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
4天前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
1天前
|
Cloud Native 安全 Docker
云原生技术在现代应用部署中的实践与思考
本文深入探讨了云原生技术如何在现代应用部署中发挥关键作用,并提供了具体的代码示例来展示其实现。通过分析云原生的核心概念和优势,我们将了解如何利用这些技术来提高应用的可扩展性、可靠性和安全性。文章还将讨论云原生技术的未来发展趋势,以及如何将其应用于实际项目中,以实现更高效和灵活的应用部署。
|
8天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
31 5
|
9天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
9天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
22 3
下一篇
无影云桌面