F5 朱炜良:如何快速构建安全的弹性边缘云?

朱炜良

职位:资深架构师

公司:F5

2005 年开始从事 IT 工作,在 IT 架构、应用、系统、网络等领域有着丰富的从业经验。先后在中国银行、EMC、IBM 等大型 IT 公司担任技术专家、架构师等职位。主要研究领域:虚拟化、私有云以及软件定义数据中心。

本文整理自 F5 资深架构师朱炜良在 SUSECON 北京 2022 开源技术峰会上的主题演讲。

弹性边缘云发展大势

全球网络高速发展,大家已经适应了全面云化的发展方向,云在当今整个 IT 基础设施当中或者 IT 平台建设当中,已经成为了不可缺少的部分。

大量的业务都部署在云端,这里的云指的是中心化的云,例如标准的公有云或者私有云,那为什么还要追加建设一层边缘云呢?核心的原因是,所有客户或者说所有的人都愿意为速度买单,为效率买单。因为大家在使用标准云的时候会发现云解决了资源利用率的问题,但不能解决延时问题,尤其在偏远的地方使用离我很远的云环境的时候,这个延时非常的长,体验很不好。

游戏玩家对这个体验更深。玩游戏的时候如果发现一个游戏的服务器部署在云中,并且这个云服务器离我很远,大家会觉得延时不可接受,尤其激烈搏斗类游戏当中,0.5 秒的延时就会带来卡顿的感觉。

在 IoT、人工智能还有 AR、XR 的场景当中,大家都会对“延迟”很敏感,我们希望在边缘端离我更近的地方有处理能力,帮助我更快地解决问题。

F5 公司是如何看待边缘侧加速问题的呢?但凡知道负载均衡这个名词的,基本都知道 F5,因为负载均衡是 F5 的代表作或者说负载均衡就是由 F5 发明的。后来 F5 还做了关于安全、网络全面优化的解决方案。

两年前,F5 将大量优势资源投入到今天我们叫做分布式云的场景当中。

  • 首先在整个分布式的应用体系当中,我们会把资源优先提供给整个 Network Edge。我们优先做了这个 Edge 并不仅是在边缘的管理上面,而是做了整个边缘网络的处理。在去年,我们收购了一家叫 Volterra 的公司,将其融入到我们网络当中,作为整个分布式云网络的底座。
  • 第二部分是产品放到离客户最近的地方,做客户边缘端的 Edge 站点的部署。在当中我们应用 K8S、K3S 资源和今天的全球网络组合在一起。
  • 第三部分是 Cloud,今天我们和很多云的运营商包括亚马逊云科技、Azure、阿里云等云运营商平台进行联合组网。

在大模型框架构建起来之后,就形成一个从云到边缘到客户端的分布式网络结构。在网络结构当中,当任何一个点想发布一个自己的应用的时候,只需要去声明,之后在网络当中其他的节点就可以使用该服务,这样的使用方式和我们今天在 K8S 上使用 Native 服务一样。

当我宣称已经开发了一个应用,完成应用编写之后,在应用网络体系当中我声明我有这个名字,ABC 和 XYZ 的服务,但凡在我网络里面的兄弟姐妹们,在网络上面的节点都可以看到我这样的服务,而不需要记冗长的 DNS 名字或者单独的 IP。这个名字是分布式的服务,并不代表独立的 IP 和 DNS,代表的是服务集群,可以分布在不同的节点上面,不同的网络组件上面。

为什么需要这样一个分布式网络?因为边缘应用数以万计。

看这张图,第一个层面是 Cloud云/数据中心,数以百计。第二个是 Edge 边缘,数以万计。在那么大的数量级中怎么管理设备,把设备有序的联系在一起,并且用人性化的方式进行管理以及连接?这个是我们今天最主要的课题。

最后这些 Edge 端服务将连接前端数以亿计边缘的终端产品,当数以亿计的前端的客户手上拿的手机、心脏起搏器、感应器、3D 可视眼镜以及智能的自行车等和边缘端连接时,怎么保证通畅,并且在边缘端非常快速、高效地处理?这是整个架构需要去考虑的。

此外,我们还需要考虑建设的时间周期,能够以天、甚至小时为单位把边缘端建设起来,部署应用是这个方案的难点,也是 F5 分布式云的价值所在。

图中是我们调查的一个报告,可以看到现在 76% 的客户基本都已经使用了 CDN。CDN 这个名词大家并不陌生,今天但凡打开一个网页都有可能会使用到 CDN 组件,因为 CDN 在下载图片或者下载视频时会帮助我们加速下载的速度,让我们更快的看到我们想要看到的信息。让我们在浏览视频时或者看一些影视剧的时候不至于产生卡顿,这都是 CDN 的功劳。

进一步我们需要去看到的一个未来,将来大家不会局限于仅仅抓取前端服务器上面的信息,而是需要和服务器进行快速的交互,不仅仅是下载,单方向的,而是说双向的,这种双向的,有数据的上传,人为操作行为的上传,我们把这个网络称为 ADN,ADN 包含了应用级的交互,客户不仅仅把内容下载下来,还要去交互,在交互层面上面去收集客户的需求,着重于快速看到结果或反馈。这是非常值得关注的。

我们会去关注应用的性能,我们希望把很多应用放在边缘,因为边缘化之后能够提供更好的性能,即更短的时延,对于不强求高一致性的场景,我们都可以边缘化,把应用放到边缘端给客户提供更好的(性能)响应时间。

另外数据收集工作也可以由边缘端完成,我们有一些金融客户在做双录的场景,需要去采集用户的声音、视频。但这些东西采集之后是否都要放到云端?还是说必须及时地放到云端?

其实很多客户也许都不需要,只需要保存下来,然后可以在当天晚上的时候慢慢回传或者当时只需要保存下来,只需要把里面关键的词语或者关键的信息回传回去,例如一个特征码,或者专属文件存放路径,这是一个小量的东西,大量的录制的视频以及语音不需要实时完成,而是在边缘端处理,批处理时候完成。

再一个就是实时计算、分析、处理,很多 AR、VR 场景当中会看到,包括元宇宙场景当中都会用到实时计算和分析,需要有更低的延时,更好的处理速度。

这样的边缘网络最终会扩展到全球,因为今天有很多全球化的跨国公司,在各个地方都有自己的网络,即使在国内的公司也是在全国范围内都会去部署,怎样把全球部署的节点连接起来,不管哪个国家新的 APP 出现了,只需要在当地办公室里面把 APP 进行声明,其他地方可以使用,只要把 SITE 加入集群当中,可以实现很好的联合的网络。

边缘云的安全保障

在这个之后,我们客户还谈到很多关于安全上面的考量,原先我们做数据中心的时候,做安全相对来说比较简单,那个时候有很明确的边界,但当我们发现把整个的数据中心或者应用体系变成了一个分布式架构时,我们原来的很清晰的边界消失了,没有了单一网络的接入,没有了边界的安全防火墙和 WAF。

攻击可能发生在任何地方,包括我们数据中心边缘或者云边缘了,所有在云地图当中的设备都是我们的版图,在这个大的版图当中个人设备、公司设备、WIFI 包括远程都是一个整体,此时如何保障安全,会成为新的问题。

在 2020 年 Gartner 出版了一个 SASE 大框架,谈到边缘云安全性,牵扯到很多很重要的概念,比如说 SD-WAN、带宽的聚合、零信任、DNS 的管理等等,这一系列东西怎么有机的整合到我们今天整个的分布式云的环境当中,怎么样从数据中心拓展到边缘,成为我们的主题。

对于这两大块的内容,F5 今天把我们分布式云,自己沉淀的技术,包括负载均衡的能力,边缘扩展的能力,远程部署的能力,安全的能力以及在 K8S 上大融合的能力,组合成了一个新的融合产品。从数据中心扩展到边缘当中,我们把这些元素都融入了 F5 分布式云

F5 分布式云带来的“无限潜能”

首先它是分布式部署的环境,换句话说我们今天可以把它的一部分部署在任何地方,包括公有云、私有云、数据中心、前端的小商店当中有一台小小的服务器,甚至说 F5 现在有很小的定制化的产品,就是一个小盒子,当中带着 5G 的天线,用 5G 的芯片完成分布式云部署。所有的应用都是容器化或者准容器化,以微服务方式构建系统是当今的主旋律。

在这些节点部署完成之后,我们以多云和跨平台的方式把这些节点全部连接在一起。在 F5 网络中间有骨干网,以及在今天的网络连接之后形成的安全的边界,我们这么去定义(新的网络)。

这就是我们(F5)今天正在推广与不断完善的分布式云产品。在这当中最核心的是我们有一个在全球范围内以 SaaS 方式部署的 Console 的组件,其本身部署就在云上面,由它管理所有的跟我们节点相关的组件。

例如,在亚马逊云科技的云服务当中,Azure 云当中或者数据中心当中都可以和我们现有的产品进行结合连接,同时可以和今天 CDN 厂商进行合作,进行连接,它的流量在 F5 当中可以进行统一的规划以及统一部署,在终端也就是客户端不管使用浏览器还是使用手机 APPs,当中有 SDK 或者 java 做嵌入,保证应用的安全。

F5 考虑到安全的时候,发现有很多攻击来自互联网上,尤其边界消失后怎么防范攻击,怎么使用零信任方式认证我们设备或者使用者,这些东西都会以嵌入式的方式嵌入在我们分布式云服务当中统一部署

需要部署应用时,会使用和 Native 一样的 K8S 容器应用管理模型,但此时的 K8S 已经不再是一个物理集群,而是一个逻辑集群,以 SaaS 模型管理虚拟的 K8S。

这个也是在 IT 界的一个经典理念,叫做“当我发现问题搞不定的时候往上面加一层”。我们就在原来 K8S 或者 K3S 上面加了一层逻辑 K8S,进行一系列转译的工作,把很多分布在各地的 K8S 通过 F5 的模型,通过 F5 的分发,把所有的,不管是什么平台的 K8S 都抽象成虚拟的 K8S,并且抽象的 K8S 会符合今天 K8S 的标准的使用方式,当你使用虚拟 K8S 的时候,和使用标准的 K8S 的方式一样。

当然可以接 AKS、EKS 等变种的 K8S,我们都会把这些 K8S 转换成具体的逻辑 K8S 进行管理,并且我们把整个网络连接进行了充分的连接,在这之上我们定义了一个虚拟的协议,在这个协议背后把整个的原地址、目标地址进行一层层包装,在容器外和容器内进行连通。比如我在 K8S A 里面发布了一个服务,K8S B 或者 C 想使用这个服务,都可以通过 Labeled Service 的方式来使用。

最终 F5 的分布式云会在 Dashboard 上展现很多直观的信息,包含用户使用的信息,包括攻击者流量的情况,同时我们会对于攻击者或者有害的用户进行打分,例如得分超过 80 分后我们可以认为这是一个有侵害的用户,会对这些用户进行屏蔽或者进行封锁,同时我们也会帮助我们的这些企业的客户更加强大的规则保护他的应用。

这当中有非常丰富的面板,大家如果希望试用可以点击下方图片申请免费的试用,目前来说我们试用非常方便,因为大家不需要安装任何东西,都可以在我们云平台上进行简单的试用。

总结与回顾

最后,我们回顾一下今天的内容。F5 的分布式云平台实现了一个可靠的、可用的、安全的、全面的分布式云应用架构,把今天的云平台和边缘云形成一套统一管理的方案,当中会利用到全局负载均衡,分布式计算,可以给客户提供更好的使用上的体验,并且在制定整个网络规划时有更高的效率。