[toc]

资深边缘计算架构师:全面解读什么是边缘计算

随着万物互联时代的到来,边缘计算的重要性愈加突显了出来,在前面我写过一篇文章,关于《程序员为什么要学习边缘计算?》,有很多小伙伴给我反馈说,我连边缘计算是个啥都不知道,你给我要学习边缘计算?鉴于此,我总结了各方面有关边缘计算的知识,连夜肝了这篇 《全面解读什么是边缘计算》 的文章,希望能够帮助小伙伴们去更好的认识什么是边缘计算。

以下文章,我将从四个角度解读边缘计算:

  • 边缘计算概念理解
  • 边缘计算类比理解
  • 边缘计算应用案例
  • 边缘计算企业落地

本文通过以上四个方面的内容,将概念与应用相结合,二者相互论证来理解边缘计算,力图为小伙伴们在脑海中建立边缘计算的模型。

边缘计算概念理解

首先我们先来看一下,维基百科对边缘计算的定义:

从概念理解中,我们可以提取出来有关边缘计算的两个关键词,数据源头分布式计算,我认为这两个词语就是边缘计算的核心所在,下面咱们进一步理解这两个词语。

数据源头

什么是数据源头,下面咱们就根据是否采用边缘计算来对比看看。

在没有使用边缘计算之前,云端与边缘设备直接交互,其实就是物联网场景,如图所示:

图片描述

(物联网场景)

位于边缘侧的物联网设备如果需要计算资源,则需要将数据提交到云端,然后云端将计算的结果返回到边缘侧。人工智能也是类似道理,例如咱们平时经常看到的人脸识别设备,则需要将数据上报到云端,然后云端返回人脸识别的结果。 这种方式最大的缺点就在于需要云端和边缘的设备直接保持连接,数据传输会受到带宽的影响,所以性能就要大打折扣,那怎么才能做到加快边缘侧设备响应速度呢?答案就是通过边缘计算来解决,如图所示:

图片描述

(边缘计算场景)

如图所示的实线部分就是加入边缘计算后,计算方式发生的改变。简而言之就是咱们将服务器搬到了离设备更近的地方,让计算离数据的源头更近,这样自然数据传输就更快了,所以边缘设备响应就能更快了。 有的小伙伴可能会问:离数据的源头更近,那到底多近才算近?我的回答是,没有明确的物理距离的划分,没有说必须少于10米才算近,我们需要明白的是,这是 “近” 一个相对的概念,就例如假设设备位置在上海,原本要访问北京的服务器,现在把服务器搬到了上海,那相对于直接访问北京的服务器,访问上海其实也就是离数据的源头更近了,相对的概念很重要。

分布式计算

下面我们来理解边缘计算另外一个核心概念:“分布式计算”。分布式计算的概念其实很好理解,简而言之就是让原本在一台主机完成的计算,将其按照一定的逻辑划分分配到多个主机上。如果这样说你不太明白,那换个方式说吧:就好像数钱,假设你的钱特别多,自己一个人数不过来了,就喊了你的几个小伙伴来帮你数,原本由你一个人数现在换成了多个人数,这就开始进行分布式计算了,但是数钱咱得安排任务吧,小张负责数左边那一堆,小李负责数右边那一堆,小刘负责…,这个过程就是分布式的任务调度。

带着对概念的理解,下面咱们就来看一下在边缘计算场景下的分布式计算是怎样的呢,如图所示:

图片描述

(边缘计算分布式计算场景)

我们可以先蒙住中间边缘节点那一层不看,可以看到如果边缘侧海量的设备与云端直接相连,那么必然需要云端提供大量的计算资源,而云端计算资源总是有限的呀,计算不过来怎么办呢?最直接导致的就是边缘设备无法响应呗!

好了,现在我们放开蒙住边缘节点那一层再来看,可以看到边缘计算其实就是在靠近边缘设备的地方,利用边缘节点来为这些设备提供计算资源,类似于咱们上面说的那个数钱的例子,云端数不过了,边缘节点帮着数!就好比原本我们把1台服务器部署在云端,现在我们换成了N台服务器分别部署到了离数据更近的地方,这N台边缘计算节点就能减轻原本云端的计算压力。

边缘计算类比理解

前面咱们讲解了边缘计算的概念,可能有的小伙伴觉得不太好理解,所以咱们这里再来通过类比的方式来理解什么是边缘计算。

边缘计算类比 CDN

如果没有听过 CDN 没有关系,小伙伴肯定都逛过淘宝、刷过抖音、追过剧吧。为啥咱们访问这些图片、视频这么快呢?答案就是因为这些资源就在离咱们当前IP最近的地方放着呢,去最近的地方拿当然快了呀,CDN 的流程大致如图所示:

图片描述

(CND原理)

边缘计算和 CDN 的差别就在于,CDN 是存储资源的节点,而边缘计算是需要提供计算服务。前者消耗的是磁盘空间,后者消耗的是内存、CPU、GPU等计算资源。

边缘计算类比学生、班主任与校长

在咱们生活当中,也有很多非常类似于边缘计算的场景,如图所示:

图片描述

(边缘计算类比举例)

在学校当中,有好多学生啊,如果这些学生都归校长管,那校长估计得疯掉吧!所以说需要将学生按照班级进行划分,每个班主任管一批学生。然后班主任定期向校长汇报工作就好了。

在这个流程当中,咱们就可以来类比一下,学生=边缘设备,班主任=边缘节点,校长=云端。班主任管理学生,就好像边缘节点为边缘设备提供计算资源;班主任为校长减轻管理压力,类比于边缘节点为云端分摊计算压力;班主任向校长汇报工作,等同于边缘节点向云端上报节点心跳。怎么样,通过类比的方式然后结合前面的概念理解,对边缘计算有更深的认识了没有呢?

边缘计算应用案例

在了解了边缘计算的概念之后,下面我们就来看一些目前最新的边缘计算应用案例。

国内各大云厂商

国内非常多的云厂商都相继在边缘计算领域布局,都在研发相关的边缘计算产品,作为程序员的我们,如果是去找大厂的边缘计算岗位,大概率入职之后还会维护这些产品呢~,下面我们来具体看一些大厂边缘计算相关的产品。

  • 阿里云ACK@Edge:阿里云边缘容器服务ACK@Edge是阿里云容器服务针对边缘计算场景推出的云边一体化协同托管方案。
  • 华为云IEF平台 智能边缘平台(Intelligent EdgeFabric)通过纳管您的边缘节点,提供将云上应用延伸到边缘的能力,联动边缘和云端的数据,满足客户对边缘计算资源的远程管控、数据处理、分析决策、智能化的诉求,同时,在云端提供统一的边缘节点/应用监控、日志采集等运维能力,为企业提供边、云协同的一体化边缘计算解决方案。
  • 百度智能云:随着 万物互联 概念的提出,物联网设备逐渐成为数据生产的中心,其生产数据的增长速度也愈来愈快,且由于其在地理位置上的分散性,以及对响应时间、安全性的要求越来越高,导致现有的云计算平台也变得越来越不适配实际场景,数据计算的舞台中心正逐渐从云端计算向边缘计算靠拢。
  • 腾讯云:腾讯云边缘计算机器的基础资源建设在全国各个地区,可以为业务提供靠近用户和终端的计算和网络的云服务。通过就近部署应用和服务,用户到业务服务器的网络时延可以得到明显优化。以互动直播为例,由于主播与观众的双向数据传输对时延敏感,如果您通过使用边缘计算机器部署相关业务服务,则可以极大的优化网络时延,使主播与观众的业务体验可以得到更好的保障。

以上是有关边缘计算产品的大致介绍,从这些数据我们也可以看出,边缘计算目前已经在逐步发酵,越早学习边缘计算对我们而言,是百利而无一害的。同时呢,我们也可以去分析这些边缘计算的产品,来有助于我们进一步理解边缘计算,它有啥魅力值得这些大厂相继布局的。

麦肯锡数据分析

麦肯锡在11月发布了一篇题为《新需求,新市场:边缘计算对硬件公司的意义》的报告,阐述了边缘计算未来的发展潜力,并设想出了未来覆盖11个行业领域的107个具体应用场景和案例。

麦肯锡数据公司对边缘计算做了比较详尽的分析,并且预言到2025年边缘计算的市值将会达到200亿美元左右。

中国移动磐舟磐基平台基于KubeEdge的落地实践

项目简介:磐舟一体化云交付平台是中国移动自主研发的面向开发人员的代码开发,自动部署的平台。磐舟一体化交付平台自研实现了一套GitOps驱动引擎,支持从需求设计、开发构建、测试部署的全部开发与运维功能需求,实现应用一键上磐基容器云平台。

中国移动分为了集团业务的省业务,结合热门边缘计算框架KubeEdge,将省业务作为边缘节点,由集团统一管理。

KubeEdge 携手“雷神”构建天地一体化分布式计算平台

项目简介:基于地面网络和计算的数字化服务局限在人口密集区域,深空、海洋、沙漠等无人区尚是服务的空白地带。高低轨卫星通信和地面移动通信将无缝连接,形成空天地海一体化立体网络。由于算随网动,星地计算将集成卫星系统、空中网络、地面通信和云计算,成为一种新兴的计算架构,扩展数字化服务的空间。预计未来三年,低轨卫星数量会迎来爆发式增长,卫星及其地面系统将成为新型计算节点。

这个目前是利用KubeEdge实现边缘计算的最新应用领域,利用卫星作为边缘节点,能够站在高处看到深空、海洋、沙漠等无人区,结合边缘计算的优势,为我们带来更多优质的服务。

天翼云基于 KubeEdge 的大规模 CDN 场景落地实践

项目简介:中国电信以“2+4+31+X”的资源布局加速云网融合。“X”是接入层面,把内容和存储放到离用户最近的地方,实现网随云动、入云便捷、云间畅达,满足用户按需选择和低时延需求。天翼云虽然CDN起步较晚,但是目前基本的CDN功能已一应俱全,且资源储备丰富,支持精准调度,秉承质量优先,整体业务发展正步入快车道。

在前面我们通过将边缘计算类比CDN发现,CDN和边缘计算的差别在于一个是提供就近的资源访问,另外一个是提供就近的计算服务。而天翼云基于边缘计算框架KubeEdge,目的是为了更好的调度边缘节点,从而更好的为用户提供就近的访问资源。

边缘计算企业落地

在前面我们梳理了边缘计算的概念,并且也举了很多边缘计算的实际例子,这里我们来进一步看一下,企业如何做边缘计算落地。对于企业来说,要开发边缘计算相关的产品,本着不重复造轮子的原则,最好还是利用目前开源社区已经相对比较成熟的边缘计算框架是首选。

Star:4.9k

KubeEdge 是一个开源的系统,可将本机容器化应用编排和管理扩展到边缘端设备。它基于 Kubernetes 构建,为网络和应用程序提供核心基础架构支持,并在云端和边缘端部署应用,同步元数据。KubeEdge 还支持 MQTT 协议,允许开发人员编写客户逻辑,并在边缘端启用设备通信的资源约束。KubeEdge 包含云端和边缘端两部分。

图片描述

(KubeEdge架构设计图)

Star:1.2k

OpenYurt 遵循经典的云边一体化架构。 集群的Kubernetes管控面部署在云端(或者中心机房中),而由集群管理的边缘节点位于靠近数据源的边缘站点中。 每个边缘节点都具有适量的计算资源,从而可以运行边缘应用以及OpenYurt系统组件。集群中的边缘节点可以分布在多个物理区域,这些物理区域在OpenYurt中称为Pools。 集群中的边缘节点可以分处于在多个物理区域中(region)。

图片描述

(OpenYurt架构设计图)

Star:1.7k

BaetylLinux Foundation Edge 旗下的边缘计算项目,旨在将云计算能力拓展至用户现场。 提供临时离线、低延时的计算服务,包括设备接入、消息路由、数据遥传、函数计算、视频采集、AI推断、状态上报、配置下发等功能。

图片描述

(Baetyl架构设计图)

Star:0.8k

SuperEdge是Kubernetes原生的边缘容器方案,它将Kubernetes强大的容器管理能力扩展到边缘计算场景中,针对边缘计算场景中常见的技术挑战提供了解决方案,如:单集群节点跨地域、云边网络不可靠、边缘节点位于NAT网络等。这些能力可以让应用很容易地部署到边缘计算节点上,并且可靠地运行。

图片描述

(SuperEdge架构设计图)

总结

以上4款就是目前开源社区最热门的边缘计算框架,下面我们来总结一下他们的相同点:

  • 都是具有云原生特性的边缘计算,底层基于K8S,应用以容器方式运行。因此能搞云原生边缘计算,就能够胜任K8S一切的岗位,悄悄告诉你:这些可都是高薪稀缺岗位哟~
  • 都非常强调边缘节点离线自治,因为当云端和边缘侧不在同一网络环境后,云边断开连接是不可避免的,因此边缘节点自治是边缘计算框架的必备技能。
  • 云端管理,边缘计算,云边协同
  • 当然最后还有一点不用避讳,就是Star都不算特别高,最高的KubeEdge Star 4.9k。其实原因就在于目前边缘计算还在早期发展中,等越来越多人了解之后,Star就上去了,边缘计算的前景这块,我觉得无需质疑~

作者:|暮闲|,原文链接: http://www.imooc.com/article/325280

文章推荐

k8s实战案例之基于StatefulSet控制器运行MySQL一主多从

PyInstaller 完美打包 Python 脚本,输出结构清晰、便于二次...

go 实现ringbuffer以及ringbuffer使用场景介绍

NodeJs 实践之他说

ES的索引结构与算法解析

.Net Core后端架构实战【2-实现动态路由与Dynamic API】

golang pprof 监控系列(4) —— goroutine thread 统计原理

WebSocket集群解决方案,不用MQ

与NewBing一起写作:《Web应用安全入门》

7_vue的数据代理,双向绑定

shell脚本获取文件名字

【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint...