【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

连接云 - 边 - 端,构建火山引擎边缘云网技术体系

  • 2024-01-23
    北京
  • 本文字数:7200 字

    阅读完需:约 24 分钟

连接云-边-端,构建火山引擎边缘云网技术体系

近日,火山引擎边缘云网络产品研发负责人韩伟在 LiveVideoStack Con 2023 上海站围绕边缘云海量分布式节点和上百 T 的网络规模,结合边缘云快速发展期间遇到的各种问题和挑战,分享了火山引擎边缘云网的全球基础设施,融合开放的云网技术体系以及未来火山引擎边缘云网的发展展望


迄今为止,云计算已经发展了近二十年,成为了事实上的社会基础设施。5G 时代到来后,消费互联网开始不断向产业互联网延伸,涌现了物联网、车联网等大流量、低延迟、高并发的场景。原有云端的架构难以满足新场景下产生的各种需求,这促进了算力持续下沉,数据落至边缘。随着边缘云在不同场景的渗透,云中心和边缘结合的基础架构将成为新一代的基础设施,边缘云会加速进入成熟期。


韩伟表示:边缘云快速发展,需要网络的完美支撑。只要网络出去,算力就能出去,这也是火山引擎边缘云所持续突破的目标,即让连接和计算无处不在。如何构建一张融合开放的网络来连接算力、数据、场景甚至多云?以下将分享火山引擎边缘云网络技术体系建设路径。


火山引擎边缘云网基础设施建设


首先是建设全球云网的基础设施,火山引擎在 2020 年开始大力建设边缘云的资源底座,目标是提供全球统一的资源及技术底座支撑业务的快速发展。截至去年,已经覆盖了 50+国家,1300+节点,全网的带宽储备达到 110Tbps+。


此外,火山引擎选取了一些优质的区域节点,在不同的节点之间通过专线进行互联,同时还覆盖了不同国家和地域的跨域专线,通过节点互联,结合海量的分布式节点,构建了一张全球的骨干网络,很好地满足了业务的快速发展。基于这张全球骨干网络,向上支撑了内容分发网络、联网与加速相关的产品体系、以及安全防护一体的整个边缘云网的产品矩阵。



这张网络具备以下几点特征:


  • 首先,超大的规模与弹性。上文提到骨干网络有海量的分布式节点,整体储备带宽达到 110Tbps+,此外,火山引擎边缘云在不同节点选取了高性能硬件,并基于此构建了整个边缘云的云原生操作系统。经历抖音的春晚、双十一、世界杯以及内部业务突发情况的锤炼。目前,边缘云基础设施在具备一定规模的同时还具备了较好的弹性。


  • 第二,骨干网络的打通。包括跨域专线、区域节点互联,真正做到了基础设施层面的全球一张网,为上层业务的互联互通打下了基础。


  • 第三,安全可靠。火山引擎边缘云基于业务诉求,选取部分节点建设了高防的清洗中心。不同的节点具备云原生的 DDoS 和 WAF 防护能力,从而为上层业务保驾护航。


  • 最后,节约成本。抖音规模已经非常大,火山引擎边缘云将抖音的业务规模对基础设施的资源需求和 ToB 做了并池,使其在更大范围内复用,极大优化了成本。


此外,火山引擎边缘云在边缘云网体系以及边缘计算节点体系中搭建了运维和管理的相关平台,降低运维成本的同时提升了运维效率。


构建火山引擎边缘云网的技术体系


火山引擎边缘云网解决方案



边缘云网的解决方案已经连接了云、边、端,从下向上首先是整个网络的基础设施。


火山引擎边缘云拥有海量分布式节点,并在线路较好的资源节点做了专线的资源覆盖。整体在基础网络层搭建了一张全球骨干网络,合规跨境上则覆盖了东南亚/中日/中韩/中欧等主要区域。为了更好地使用这张基础物理网络,火山引擎边缘云在此之上抽象出了边缘互联服务,能够结合边缘节点的公网带宽、专线容量进行整体的调度容灾,从而为上层业务提供更好的复用能力。


除了结合网络基础设施的底座之外,火山引擎边缘云还推出了边缘联网的产品体系,覆盖了 SD-WAN+产品,边缘接入产品、跨境加速以及边缘计算节点网络相关能力;通过 SD-WAN+,能够在端侧支持 VPN、移动 APP 及 CPE 设备的接入。在边缘接入侧,通过专线的接入能力,能够解决企业上云相关场景;通过边缘节点间联网能力,可以连接不同的计算节点,最终形成一张由分布式节点构成的具备业务自治能力的云上网络。


基于这个边缘联网的产品体系,火山引擎边缘云构建了覆盖 3-4-7 层、连接了云/边/端的网络加速体系,分为三个产品:第一个是全球加速,面向 4 层加速相关场景;第二个是 DCDN,支持一站式动静态混合网络加速服务,第三个是面向游戏相关场景的 GNA。GNA 在 APP 上会有加速和诊断的能力,再结合云上的路径择优、网络调度,能够为游戏加速行业的客户提供更好的服务体验。左侧是边缘计算节点,边缘计算节点的商业化会对网络提出云化的需求。火山引擎边缘云研发了满足边缘计算节点发展相关需求所必需的产品能力,包括 VPC、负载均衡、NAT、EIP。不同的边缘计算节点之间能够通过边缘联网的整个体系互联互通,连接到一起。


火山引擎边缘云网技术体系


图为边缘云网技术体系


最下层的基础设施有以下特征:覆盖全球的边缘节点,目前火山引擎的规模比较庞大,带宽储备比较充足;覆盖全球的骨干网络,包括国内和海外,具备一定的专线资源覆盖;优质线路,在选取节点的同时对线路的选取也有比较高的要求,火山引擎边缘云提供了优质的单线及三线带宽资源;丰富的硬件形态,针对不同节点的容量诉求及节点的规划,我们提供丰富的硬件形态,能够满足不同场景需求。


基础设施之上是技术层。首先,网络转发平台提供 EVS、EGW、TTGW 三个转发平面。其中 EVS 是主机网络,支撑虚拟机和容器的算力资源,提供网络隔离、网络限速及安全组等能力。EGW 是融合网关,边缘节点是异构的,有海量的分布式节点,我们把很多网络能力融合到一个融合网关中,它是整个边缘云 To B 的网络和安全的流量入口以及安全支点。TTGW 是核心网关,整个集团的所有流量的公网入口都基于此构建,它同时承载了高防的流量入口。基于以上三个不同场景功能组件的诉求,我们在底层抽象出了一个网络转发框架,以解决设备异构问题,提供软硬一体的转发能力。此外,网络转发框架中沉淀了通用的性能优化相关能力,能够为上层不同数据面的组件提供更好的复用。其次是基础云安全,我们协同安全团队提供原生防护能力、主机安全以及高级网络威胁检测能力。


在边缘云上,有 CDN、DCDN、GA 和 GNA 等不同的网络加速场景,其中很多能力具备一定的通用性,于是火山引擎边缘云抽象出了网络加速平台。未来,网络加速平台还会对外开放,它将具备以下能力:第一,多维调度能力,能够基于成本、质量、容灾,提供不同维度的调度能力,供各个业务选择;第二,通过自研的私有协议更好地优化传输体验,同时在传输优化方面开展了较多探索工作,提升了整个传输的性能。此外,在数据压缩上包括头部压缩及报文压缩,能够有效降低数据传输的负载。在路径探测方面,包括端探测及转发探测进行了有机的融合,能够更快速地发现并定位整个数据转发路径中的各种问题,从而快速恢复。


整个边缘云网体系中的产品非常多,为了简化配置平面的复杂度,我们将其抽象为北向的业务编排,南向的设备管理以及通用的技术服务


在北向,可以继续抽象为面向业务的核心控制层,如 VPC、SD-WAN、EIC 边缘互联。这里北向主要面向用户配置,包括控制台及 OpenAPI 层,有许多业务自身的语义,需要元数据存储,进行元数据编排,形成底层能够理解的基础配置平面。


第二层面向设备,所有的配置下发需要连接设备、管理设备、探测设备。其中,面向设备有许多通用能力,我们构建了高性能的配置下发通道,并提供设备的水位管理,配置管理能力,通用的配置序列化通道;在资源调度层面,提供跨集群资源调度能力。举个例子,在多 Group 场景下,比如一个配置应该落在哪个 Group,需要根据配置水位及实际水位的情况,做全局调度优化;我们会在通用管控层抽象出通用的框架能力,从而满足各个业务方的需求。基础服务层也是一层抽象,其中有很多抽象出的原子的能力,能够被各个业务复用,包括任务调度、动态配置下发,如增量全量的配置下发、配置对账、一致性巡检,这些都能够在动态配置层被屏蔽。此外是针对南向的配置,编排之后的数据存储。


右边是结合网络运维及产品研发需求搭建的智能网络平台,主要面向运维、产品、售后、运营及研发等不同角色对网络平台的需求。基于此平台,做了变更的白屏化、自动化、告警、巡检、大盘展示、水位管理。面向产品售后提供部分问题根因分析能力,如一键诊断能力。


网络的前台面向用户,而上述能力的采集、聚合、清洗则在中台完成。对于这个智能网络平台,未来我们希望能够将一部分能力赋能客户,比如用户使用了云上的许多资源,它的管理如网络拓扑管理比较复杂,那么通过网络拓扑的可视化、网络路径的分析能够帮助用户更好地管理网络。其次,当用户配置比较多时,经常会出现错误配置的情况,或者配上后健康检查不通,但用户发现不了,那么便可以通过一键诊断能力,在用户配置完成后,结合其配置做预检查,发现问题后给用户提示。


综合以上的能力,边缘云网技术体系便能够很好地支撑计算服务及网络服务。


火山引擎边缘云网的技术特征



结合上文提到的产品体系及技术体系,这张网络的特点如下:


  • 云网一体,多点协同:GNA 产品在游戏端的 APP 上有 SDK 部署,而 SD-WAN+在端侧有 CPE,APP 及 VPN 等不同端的接入能力,基于端的连接及管理能力,我们能够更好地和云上协同。同时,边缘智能一体机会在近场、现场的边缘部署。围绕边缘的分布式节点,我们会有许多互联及加速相关需求。目前这张网络的基座已经具备了通用加速和通用互联能力,此外,我们围绕边缘和中心的协同,在回源加速、带宽降本方面做了很多优化。静态带宽能够为更多业务所复用,云边互通能够支持公网及内网的互通。


  • 融合网络,更高性价比:边缘的网络相比中心会更加复杂,线路资源也更多样化,包括小运营商,单线、多线公网带宽,及回源专线、跨境专线。对于如此复杂的网络,我们需要在更多维度进行调度及融合,给业务提供更极致的性价比,其中必需的是基于成本、质量、延迟的全局调度。


  • 小型云化,灵活部署:边缘云的节点比较多,异构比较复杂,不同节点的容量也各不相同,对成本灵活度的要求也随之提高。为了满足不同节点对网络的差异化需求,对外体现相同的服务界面和产品界面,我们把很多网络能力融合到同一个网关中,这是 All in one 的策略。比如公网入口、安全防护、跨域互联、专线接入都通过融合网关构建。其次,网络组件非常多,上文提到许多产品是由较多的技术组件组成,为了解决灵活性的需求,我们支持裸金属、虚拟机、容器的灵活部署,同时在不同的节点上,虚拟机、容器、网络、存储也具备按需混合部署能力。通过这一系列的灵活部署能够更好地满足分布式云的小型云化需求。


  • 超大规模,全球覆盖:目前,火山引擎的全球节点达到 1300+,网络带宽达到 100Tbps,无论是线路选择、节点互联、跨域覆盖,都形成了一张全球优质的加速网络。


  • 软硬一体,高性能转发:边缘云分布式节点比较多,而且大小容量差异性非常大。在边缘会有部分大容量节点及大流量场景,包括核心机房业务,我们支持 P4 导流网关,单机能跑 3.2T 流量,可以级联到不同的软件转发能力上,通过 Overlay 的灵活调度和封装解决网络转发在全网的灵活弹性伸缩能力。其次,集团场景如今日头条、TikTok、抖音对核心的负载均衡提出了更高的要求,基于软硬一体的技术 目前我们单机已经能跑到 800G 带宽。最后,EVS 主机网络在边缘也会面临着更大的挑战,主要是边缘机型的差异化,网卡的差异化,我们按照产品需求及规划,在部分机型及场景下进行了网卡 Offload 的优化。


  • 全面上云,稳定可靠:边缘云的资源池是高度统一的,设备、带宽、专线都统一到了相同的资源池。面向不同的计算、网络、存储相关场景,我们在同一个资源池做复用和调度,从而更好地提升资源的利用率和复用比。第二点是内外统一,大家看到的边缘云上所有的产品,无论是界面还是服务都与内部高度统一,我们将许多内部的业务跑到了标准的 To B 产品上,可以更好地打磨产品体系。目前,CDN、DCDN、GA 等产品已经全面上到边缘计算节点上,因此,火山引擎边缘云是经过大规模验证的,安全可靠的一朵云。


展望未来:网络先行,驱动业务发展


在边缘云快速发展的过程中,韩伟对火山引擎边缘云网络有了更多的思考——网络先行,驱动业务发展。


传输可视,数据驱动的网络智能平台



从定位来看,网络连接了算力、数据及不同的场景,所以各个产品和业务对它都有非常多的诉求。但网络经常遇到各种各样的问题,如网络不通、丢包、速度慢,出现问题时候很难精确定位。在边缘云上,这个问题会放大。边缘云不同节点之间的规模差异较大,分布式节点较多,很多的场景,需要互相联动,节点之间还要互联,所以业务依赖比较重,转发路径比较长。作为云计算的厂商来讲,上面一定会有各种各样的租户,承载的租户又非常多。所以整个网络的服务,其实面向了业务,面向了售后,面向了客户,挑战非常大。


站在我们的角度来看,私网是相对容易可控的,所以目标是能直接定位问题。对于公网,有一段是不可控的,所以在可控的范围内定位问题,在不可控的范围内做到能很快地定界,即判断是私网的问题,还是公网的问题。


基于这样的背景,我们想去把网络的分层,做一个传输的刻画。


  • 首先是网络层,面向 3 层,有很多的业务基于 3 层做网络的互联互通,我们会在整个网络体系里增加很多的埋点,会对报文做染色,记录走了云上的哪些组件、产品、软件等,我们通过软件定义网络的思想,会给这个报文去打标,当它丢掉后,能够知道它的源端、目标在哪里,路径是什么样子的,判断出它在哪个路径的哪个点上丢了包。通过路径覆盖的能力,再结合场景的覆盖,可以把很多的场景枚举出来,当场景出现问题时,埋点能够及时启动,就可以快速地定位问题。


此外,我们还建设了比较完善的异常发现体系,在告警、监控、巡检、丢包方面,增加了比较细粒度的数据采集,希望能先于客户先发现问题,有更多时间来快速修复它。


最后是可用性探测,云上的实例数量非常多,出了故障之后,我们需要快速判断清楚它的影响面,所以会对云上的所有资源做一些低频的可用性验证。比如 DC 故障之后,很容易看到哪些可用率发生了大规模下降,从而更好地看到影响面。


  • 在传输层,上文提到的产品中很多是基于 7 层应用代理转发的。在客户端到代理这一侧,其实是一个连接,代理到后端的终端节点之间,是另一个连接,中间是一个请求。站在请求的角度来看,我们没有办法把客户端包括服务端的连接,连接在一起,因为中间被代理截断了,所以看不到整体。出现问题后,只能去查日志分段定位,看一下到底是请求等待的时间太长,还是建连或响应的时间太长。我们希望不管是基于 kernel 还是用户态的协议栈,都能够刻画出整个传输过程,比如首包时延,响应的时间,整个建连包括请求等待的时间,然后在用户态抽象出客户端的连接和服务端的连接,这样在连接层面能看到从客户端到真实服务端之间的链路。在请求的维度,也可以把它关联到一起,这样当一个请求慢了之后,能辨别是连接层面还是应用软件本身发生了问题。


  • 在应用层,结合日志分析系统,可以研发异常发现的能力,比如状态码、请求的响应时间,包括请求的地域来源、目标资源,能够做很多的聚合,比如哪些资源有问题,哪些地域有问题,通过异常发现,获取业务分布,帮助用户量化体验。


在结合网络层、传输层、应用层后,能够高效直接地定位许多网络上的问题。基于这样的思考,我们会推出一个网络智能的平台,前面提到的是站在运维运营角度,而这里是指在网络传输,包括网络的一些疑难杂症维度开展更多工作;针对离线和实时数据的一些分析,以及机器学习相关的处理后,火山引擎边缘云在网络大盘上,在更多场景下,把可视化异常诊断的能力做到更好。


网络开放,助力云上生态



网络从场景上会连接算力、连接数据、连接场景,云上的各种产品和场景对网络是强依赖的。而边缘云的发展,目前更多的发力点还是在 IAAS 和 PAAS 这一层。所以如果让云上的产品包括能力更加多元化,网络也需要更开放。


当下的网络更多是做了一些基础相关的能力,比如计算节点对网络云化的需求,资源商品化的需求;以及在网络基础能力之上,我们在 PAAS 层做了一部分网络加速,游戏加速,SD-WAN 组网相关的需求,这些能力聚焦的点还是在 IAAS 和 PAAS 上。


再看用户需求场景,云发展到后面一定是生态,我们需要协同更多的产业伙伴去共建这个生态,才能有更好的发展。很多的产品厂商,比如安全的厂商,在传统领域可能做了十几二十多年,安全设备很复杂,能力很强,技术也很深,但是以前主要市场在线下 IDC,到云上后,可能会做一些云化的相关场景部署,在云上卖镜像卖给用户,目前还是让用户自己解决部署问题。所以如果传统厂商能更好地上云并给客户提供服务,对云是非常好的补充。


第二就是传统行业的搬站,第一阶段解决的是企业上云,包括云上原生相关的一些场景,里面更多的是互联网相关的厂商,所以可能第一阶段更容易上云。第二个阶段更多的是金融政企相关的传统行业,因为他们对 IDC 的依赖比较重,所以一般是在后一阶段上云。我们在此阶段发现非常多问题,比如以前在线下的设备厂商,他的组网方案里有很多定制化,而在云上,更多是面向公有云的租户,做一些通用化的诉求,这就存在很多产品的能力匹配度问题。


此外,即使他们上了这朵云,未来可能也会有很多个性化场景的需求,因为在以往的经验里面,他们其实已经享受到这个红利,很多设备厂商愿意帮他们做定制化的场景。再者,很多的金融政企或者其他类似行业客户,他们希望平滑上云,不希望做太多的改造。所以从用户需求场景来看,包括从厂商的定位来看,都需要将这朵云开放出来。而云的开放模式一定是网络先行。


网络开放分为以下维度:


  • 第一,能力构建方面,需要具备网络编排能力,在网络转发路径中可以接入更多应用的提供商和服务商。

  • 第二,接入后要为云上租户提供安全隔离的能力;而且不能让用户感到太多差异化,需要具备透明接入能力。

  • 此外,还需基础配套的运维、监控、日志体系,帮助用户更好地使用及管理好云。


火山引擎边缘云希望未来能够和更多的网络厂商、安全厂商、应用服务商成为合作伙伴。在产品生态、应用生态、服务生态协同促进,共建边缘云市场的明天。

2024-01-23 14:233788

评论

发布
暂无评论

有价值的产品=设计思维+精益创业+敏捷方法

老彦

Scrum 敏捷开发 Agile 设计思维 精益创业

数仓系列 | Flink 窗口的应用与实现

Apache Flink

大数据 flink 流计算 实时计算

ARTS - Week One

shepherd

js algorithm

软件开发生产率改进之我见(一)

清水

团队管理 软件工程 技术管理

给学妹的 Java 学习路线

武培轩

Java 学习 程序员 程序媛

李想解读《高效能人士的七个习惯》

我心依然

习惯 高效能人士的七个习惯 李想 汽车之家

内容比形式更重要

Winann

内容 生活 工作 形式主义

工厂模式 (一)简单的工厂模式概念以及示例代码

LSJ

Elasticsearch 实战

代码诗人

[Git] Git 可以这么学

猴哥一一 cium

git

关于问题的问题 —— 读《你的灯亮着吗?》

YoungZY

读书笔记 读书

孩子,我们在睡前一起来阅读 15 分钟的好书,让彼此都带着好的故事入眠。

叶小鍵

正确阅读 托马斯·奥本 Doug Antin 蒂·泰德罗克

Lean UX 教你设计如何驱动产品

Yanel 说敏捷产品

产品 敏捷 设计

Zabbix实战指南

橙子冰

技术 运维 监控 运维自动化 zabbix

学计算机你后悔了吗?

陈辰

学习 技术 大前端

2020年2月北京BGP机房网络质量评测报告

博睿数据

Golang热更新原理

我心依然

nginx Linux 信号 Go 语言

面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

cxuan

mybatis

python实现·十大排序算法之希尔排序(Shell Sort)

南风以南

Python 排序算法 希尔排序

有点干货 | Jdk1.8新特性实战篇(41个案例)

小傅哥

函数式接口 Lambda 小傅哥 jdk8 编码

Kubectl exec 的工作原理解读

米开朗基杨

Kubernetes kubelet

「开放」对协作效率的影响

Tony Wu

产品 产品设计

游戏夜读 | 如何避免乏味?两则

game1night

基于mysqldump聊一聊MySQL的备份和恢复

麦洛

MySQL

一文带你彻底厘清 Kubernetes 中的证书工作机制

首富手记

Kubernetes

五个“为什么” —— 读《精益创业》

YoungZY

读书笔记

实用贴丨正确的「递归」打开方式:让计算机像计算机一样去计算

博文视点Broadview

Python 递归

翻译敏捷行业专业外文,不只是谷歌翻译

老彦

翻译 Scrum 敏捷开发 Agile

Flutter的staggered GridView详细使用

潘珉

flutter

[GitHub] 跟我一起白嫖 GitHub Pages 做个人站点 ?

猴哥一一 cium

git GitHub GitHub Pages

2020年2月北京BGP机房网络质量评测报告

博睿数据

APM 机房 评测 世纪互联

连接云-边-端,构建火山引擎边缘云网技术体系_字节跳动_火山引擎_InfoQ精选文章