《CED 云边同力, 加速制品分发》演讲稿
文章目录
概要
分享主题
《CED 云边同力, 加速制品分发》
演讲提纲
- CED/TCR 简介
- 镜像分发概述
- 数据中心分发场景
- 边缘机房分发与挑战
- CED 落地场景
各位嘉宾朋友们,同学们,大家好,欢迎观看我这次的演讲。今天,我会和大家分享在分布式云和边缘计算场景中,如何协同云上和边缘侧,对各类云原生制品进行分发,以及这些场景下制品分发的困难和挑战。
① 背景与简介
内容上会分为三个部分:
- 背景和介绍
- 云边场景的镜像分发
- CED 的应用落地
首先,来做一个简短的自我介绍。
个人简介
我的名字是孔矾建,是腾讯云个人版镜像仓库 CCR 和企业版镜像仓库 TCR 的负责人;也是开源镜像仓库 Harbor 的核心维护者。
所有腾讯云使用 TKE、EKS、云函数等等容器和云原生相关产品的客户,都会使用到我负责的产品。
CED/TCR 简介
这里,先介绍下腾讯镜像仓库 TCR,这是我们推出的一款云原生订阅制服务。TCR 有下面这些特色:
- 多租户独立托管
- 容器化高可用部署
- 多地域数就近访问
- 用户数据自主可控
- 高等级租户资源隔离
腾讯云镜像仓库服务了数十万人次的用户,产品上积累了大量富有商业价值的数据。
同时,我个人在容器镜像与数据分发这一领域,已经深耕了五六年时间。纵观大量的,不同规模的客户在容器化、云原生上的实践,我们发现不同的客户群体对镜像分发有着不同的场景与需求。随着边缘计算的兴起,边缘容器落地,镜像数据的分发业务所要面对的需求也越来越多元化。
为了能更好的服务使用边缘计算的客户,我们开发了新服务: CED ,Cloud Edge Distribution,云边分发。它为客户提供轻量便捷的部署方式,同时提供丰富的功能,可以实现云边协同联动,为客户省流加速。
② 云边场景镜像分发
为了帮助大家更好的理解云边场景下,镜像分发会遇到的困难与挑战,我会先简单介绍下镜像分发的核心工作,然后对比介绍传统数据中心和边缘机房这两个不同的场景。
镜像分发概述
镜像是什么,它是启动容器的模板。从数据存储的角度来看,镜像就是使用特定结构组织起来的多个 gzip 压缩包。镜像分发的核心工作,就是根据客户端的请求,去检索这些结构化的数据,并提供文件传输服务。
镜像数据分发的核心工作概述起来简单易懂。但是一款稳定的产品和服务,和只有核心功能的演示品是完全不同的两样东西。当面临的数据量、请求量和服务场景不同,很多细节都将成为巨大的挑战。下面我们先说说数据中心的场景。
数据中心分发
数据中心最大的特点在于,一般都会有充沛的能源和资源,完善的 IT 基础设施。比如说,
- 高质量的基础网络
- 大量可以按需索取计算资源
- 支持良好的存储设施和数据库服务
基于这些完备的设施,我们可以站在巨人的肩膀上,构建部署高可用、大吞吐的仓库产品,为租户提供高质量的数据中心内分发服务。
边缘机房的挑战
让我们把视线从数据中心转移到边缘机房来。工作在边缘的计算节点所处的环境是什么样的呢?有内容分发领域经验的同学们应该知道,在边缘的 OC 机房,节点数量,多的时候,会有几十到上百台,少的时候,可能也就只有数台而已。
这样的环境中,除了计算资源有限,通常也无法提供各种云上的基础设施,而我们部署镜像仓库需要的各种服务,比如数据库、Redis、对象储存和负载均衡器等基本上都是缺失的。
边缘机房除了IaaS层各种基础设施的缺失,额外的挑战在于,分散于各个全球各地节点群基本上不会接入昂贵的专线网络,也不会对外开放宝贵的公网地址。这使得管控各个OC机房的仓库,分发镜像数据过去,也变成了一种挑战。直接通过公网向云端拉取镜像,会占用原本分配给业务的带宽和流量。同一个机房部署多个业务副本,会重复下载相同的镜像数据,在按流量计费网络中也会造成额外的经济成本💰。
CED 原理
CED 正是为解决边缘场景中这些问题而生的。
它由两部分组成,一是和 TCR 实例一起部署在云端的 Harbor manager 组件,用于给用户提供交互接口,实现对边缘机房仓库的注册和主动预热、被动缓存策略管理。
第二个组件是安装在各个机房的 Avatar 实例。Avatar 是一个 DSP(Domain Special Proxy),领域专用代理服务。边缘机房拉取业务镜像时,将会通过 Avatar,当机房本地没有需要的数据的时候,Avatar 会阻塞请求并回源获取数据。这是被动缓存模式。当需要快速部署大量业务副本时,我们可以通过设置预热策略,让选定机房的 Avatar 实例主动缓存镜像,加速容器启动时间。为了适应没有开放公网地址的场景,Avatar 采用轮询的方式同步云上设定的管控策略。
为了适应不同的机房环境和云厂商,Avatar 采用和 Docker Distribution 一样的储存驱动机制,目前为止,我们支持三类储存系统。一是 Filesystem, 用于支持各种适配 POSIX 意义的本地和远程文件储存;二是适配了腾讯云的 COS 对象储存服务;三是 S3 对象储存协议,可以对接各类 S3 兼容的对象储存服务,比如开源软件 MinIO。
在认证鉴权上。出于安全考虑,所有经过 Avatar 的认证请求,都会回源到云端,遵从云端的权限管理政策。
③ CED 应用落地场景
介绍完 CED 的一些原理和设计,我再和大家分享下 CED 的落地场景。
跨数据中心镜像分发加速
第一个场景是,云上 TCR 与多个不同的数据中心之间分发加速。这个场景中,通过缓存实现镜像数据的就近下载,起到加速分发的效果。存储使用云厂商自有的对象存储服务。
云边同力,加速边缘业务部署
第二个场景是,云上 TCR 与 CDN OC 机房结合,这个场景, Avatar 数量较多,并且和 TCR 没有专线直连,并且设施不完善。这一场景下,目标是通过缓存降低带宽成本💰。存储可以是单机本地磁盘,也可以使用minio自建小型对象存储集群。
这就是我今天分享的内容,感谢大家聆听。
文章作者 疯魔慕薇
上次更新 2022-09-09