云原生和边缘计算这两个名词都是比较新的,在这里我们先来大致了解一下它们是干嘛的。
首先从万物互联的概念提出,随着网络技术的发展,当然其中主要是以5g技术的日益发展作为爆发点,可以毫无疑问的说,我们现在已经迈进了万物互联的时代,在万物互联时代我们将会面临到新的技术挑战,主要体现在以下几点。
首先是海量设备管理问题,然后是带宽瓶颈问题,安全性问题,计算可靠性问题以及数据实时性问题。
下面我们就来进一步了解一下这些问题是如何产生的。
首先是海量设备的管理问题。
根据前思科公司某研究员的估算,每秒大概是有100多台的物联网设备接入到互联网,物联网的设备快速增长的背景下,将会产生海量的设备需要管理,那么就会面临海量设备的管理问题,同时由于设备增多,数据的交互频率就会大幅提高,那么随之而来的就是带宽的瓶颈问题。
由于设备产生的数据通过网络进行传输,也将面临数据的安全性问题。计算的可靠性问题产生的原因在于在海量设备下云端进行统一管理,由云端来承担所有的计算压力。而实际的情况下就是云端的计算资源总是有限的,当计算请求过多过大的时候,这个时候云端的资源不够的情况下,计算的可靠性是难以得到保证的。
然后下一个数据的实时性问题,它产生的原因就在于例如我们带宽不够,那么就会产生数据的延迟。还有就是当云端的计算资源不够的情况下,再向云端发起请求,那么就要很久才能得到云端的响应,这个时候数据的实质性也得不到保证。
而这些看似令人非常头大的问题,都能够通过边缘计算得到很好的解决。
边缘计算顾名思义就是在边缘侧完成计算,让计算离数据的源头更近。随着物联网的不断发展,边缘计算已经成为万物互联时代的基本要求,更是前景无限的热门技术。下面我们来进一步看一下目前边缘计算的解决方案。
总体而言,边缘计算目前分为两个大的类别,分别是传统的边缘计算和具有云原生特性的边缘计算。
传统的边缘计算就是我们需要远程进入到边缘的节点,然后将应用直接在边缘节点上,以二进制的方式运行。
云原生特性的边缘计算就是应用以容器的方式运行,由云端进行统一的编排部署。在实际的生产过程当中,对于有边缘计算需求的企业来说,80%乃至以上的都会选择云原生特性的边缘计算。那么云原生特性的边缘计算它的优势在哪里?
我们接着往后看。我们用到的云原生技术以k8s为例,多个节点包括Master的节点以及Worker节点,都在同一个网络层面上,这个是将云原生技术应用于公有云或者是私有云的产品。
云原生 技术还可以在混合云的场景下应用,就是公有云和私有云混合在一起的场景。
这种场景下就是咱们要讲到的具有云原生特性的边缘计算。这种场景下,Master的节点以及Worker节点它们不在同一个网络层面,
Worker节点就是在边缘侧提供边缘计算服务,网络只能由边缘社向云端单向访问。
我在学习中,使用的是KubeEdge框架,通过websocket 来保证 不在同一网络层面上的节点,也能够做到双向的通信。
这样的话咱们就和传统的使用k8s管理节点的方式就没有什么差别了,只不过是这个Worker节点 是跑在边缘侧的,
因此通过云原生技术就能进一步解决如下问题。
首先就是标准的环境问题,因为应用都是以容器的方式来运行的,
另外一个就是可以解决统一的编排问题,我们可以使用声明YAML资源定义文件就可以完成应用的统一编排部署,
然后是去中心化问题,极端情况下如果云端挂掉,边缘节点依然是能够正常运行的,
最后是可伸缩性的问题。
边缘节点已经抽象为了k8s 下面的Worker节点,可以做到统一的对边缘节点的管理与删除,做到集群管理的可伸缩性。
通过这里我们就可以看到云原生特性在边缘上上它的优势是非常多的,这也是为什么大多数的企业会采用原生特性的边缘计算原因所在。
以上就是关于云原生和边缘计算的基本概念。
我们从技术的诞生背景出发,就能够更好的了解边缘计算它的意义何在
在了解了背景之后,我们来一起看一下边缘计算都在什么场景下会用到,
并且我会举一些实际的生活当中的例子,学习这部分的同时,
读者们也可以评估一下自己在实际项目过程当中有没有遇到过类似的场景,
可以利用边缘计算来更好的解决咱们遇到的相应的问题。
紧接着我们来换一个角度来了解一下边缘计算和物联网的区别和联系。
这里我们将会了解到边缘计算是离不开云原生的,了解了边缘计算和云源深的联系之后,比如代码写注释,
接着我们一起来看一下目前开源设计当中主流的边缘计算项目,通过去了解这些实际的边缘计算项目,就能够让我们看到边缘计算是如何在项目当中进行落地的。
好极了,让我们一起开启学习之旅~
目前边缘计算在云计算、大数据、物联网、人工智能等领域都有设计,
我这里就举一个经典的边缘计算在物联网和人工智能领域的应用。我们先来看一张图:
这张图从虚线部分进行隔开,上半部分是云端,下半部分是边缘侧。
云端的概念很好理解,就是我们可以通俗的理解为云服务器提供云计算的这个层面,我们把它理解为云端,
那么怎么理解边缘侧的概念?
这里就以物联网为例,我们都知道物联网它要连到云端,所以说物联网的设备是具有上网功能的,不管说我们是通过WiFi也好,通过4G网卡也好,但是这种网络通道就只限于从边缘侧到云端的单向访问,人工智能也是类似的道理。
举个实际的例子,比如很多公司应该都有人脸识别的打卡的机器,比如高铁站进站刷脸进站,传统的工作方式就是这些数据会将人脸的数据上传到云端,由云端进行AI识别后返回识别的结果,这个过程的网络也是单向访问的,所以说我们就可以把这种需要访问云端的,但是云端访问不到,它的这个层面,我们把它统一定义为边缘侧。
现在我们就有了云和边的概念了。
下面我们继续往下看,传统的这种方式,物联网和人工智能 会面临怎样的问题?
首先先说物联网的话,它的设备地理位置是十分分散的,这个很好理解。就例如咱们一个工作园区当中有很多的物联网设备,这些设备它的位置是非常分散的,位置分散就意味着网络环境它是各不相同的,有的地方可能网络好一点,有的地方比如说在地下室,那么它的网络就要差一点,在这种物联网设备地理位置十分分散的情况下,我们对物联网的响应时间,海量设备的管理、数据的安全性都难以保证。
就例如响应时间而言,比如说我们有些设备它放在地下室这些网络不好的地方,那么它的网络就不能保证,那么它的响应时间就更得不到保证了。
然后是海量设备的管理,我们把所有的这些物联网设备将它的状态与云端进行上报,云端就要面临管理的海量的设备,这些海量的设备就会给云端带来很大的管理的压力,
然后数据安全性得不到保证。因为我们所有的数据都是从边缘侧这边将数据上传到云端的,在传输的过程当中,由于走了公网,那么数据就存在被窃取的风险。【这帮混蛋曾经把我数据库删了,还勒索我,喵了个咪的】
这个是传统的这种方式,物联网所面临的问题。
我们来看一下人工智能它所面临这样的问题,人工智能应用由于它需要大量的逻辑运算资源,当我们对运算资源有更高要求的时候,数据传输会带来性能的消耗。
就拿我们刚才说的人脸识别来说,这种图片数据的传输它需要更大的带宽来支持,所以说当我们把这些数据进行上传,它会带来上传的性能的损耗,这个就会让我们的AI应用响应延迟得不到实时的响应。
那么如何才能解决刚刚我们说的物联网和人工智能它所面临的问题,答案就是边缘计算,
边缘计算它要干的事情很简单,就是让计算更贴近于数据的源头。
我们继续来看一张图,
我们在前面物联网直接访问云端基础上,引入了边缘计算,这个粗点的红色箭头的部分我们是之前访问的方式,现在我们改了,改成云端直接访问边缘计算,细一点的,直接访问边缘计算这一侧,边缘计算这边我们可以把它通俗理解为具有边缘计算的节点,物联网和人工智能这边是直接访问边缘计算的节点,由边缘计算的节点与云端进行交互,那么为什么通过这种方式就能解决我们前面所说的物联网和人工智能所面临的问题?
首先我们先说物联网,以互联网而言,海量设备的管理的话,通过边缘计算,我们就可以在边缘侧这边部署很多的边缘节点,我们就可以在边缘侧这边针对于不同区域的这些设备部署对应的边缘节点,由这些边缘节点与物联网的这些设备进行交互,
然后由边缘节点与云端进行数据的交互,那么我们边缘这边这些位置分散的话就不是什么问题了。
其次响应时间,因为我们这个边缘计算它是隐式部署在边缘侧,它和物联网它在同一个局域网的网络层面内,随着它的响应时间就能够得到保证。同时海量设备的管理的话,我们边缘计算这边会分摊很多个边缘节点,而这个云端它只需要管理这些边缘节点,有边缘节点在进行管理物联网这些设备,那么就能减轻云端的海量设备管理的压力。
最后一个是物联网它的数据安全性问题,因为我们这个数据交互它始终在局域网内去做交互,而云端这边会上传边缘计算好的一些结果的数据,原始数据的话我们就不用进行上传,原始数据的话我们就不用上传到云端,那么数据的安全性也得到了进一步的保证,这是边缘计算解决了物联网的问题。
我们来看边缘计算它解决人工智能的问题,人工智能这块就是当我们对计算有更高的响应要求的时候,由于数据往云端去传,会带来传输的性能损耗,因此我们就干脆把这个计算下沉到边缘侧这边,人工智能应用直接访问边缘侧的有计算能力的节点,由边缘测试的节点 给人工智能应用直接返回计算的结果,从而让人工智能应用得到更快的响应。
这个是引入了边缘计算之后,为我们边缘侧这边物联网和人工智能带来的好处。同时和云端这边云计算这边也带来的好处就是可以减轻云端的计算压力,计算由边缘侧这边给大家分摊了,那就对应的就解决了云端的计算压力了。
这个是我们引入边缘计算之后,对整个的计算所带来的变化。
们继续来往下看,我这边举一个例子,学生 班主任 和校长的例子,我们学校一般都是这种模式,班主任管学生,然后校长管班主任,为什么要采取这种方式?
其实归根结底就是如果说我们所有的学生都由校长去管理的话,那么校长压力就非常大了。一个学校这么多学生,校长肯定管不过来。
我们类比一下,这个就好像我们的云端有非常多的这些物联网设备都要通过云端去管理,那么云端这边就要管理行业的物联网设备,就好像校长要管理很多的学生,肯定管不过来,所以说校长就把他的责任分摊给各个班主任,各个班主任再去管各个学生,那么校长他就只需要把这些班主任管好就可以了。
而我们这个云边形成的环境下 就是我们这个云端只需要把这些边缘节点给它管好,那么整个云边协同系统就能保持稳定的运行。
总结一下,引入边缘计算之后,再边缘侧直接完成运算,从而减轻我们这个数据传输的压力,更贴近于数据的源头,从而解决了海量设备的管理数据传输等一系列的问题。
看图说事:
这个图说明了什么?
麦肯锡实际调查了3000家公司,总结出来了107个边缘计算的应用案例,这边加起来是107个。
然后我们就来看一下数据的title,首先它是说边缘计算它代表的潜在价值是1,750亿美元到2,150亿美元之间的这样一个范围,就是硬件潜在价值,以及是到2025年的一个预测分析,硬件价值就是说我们这个边缘计算,还有我们这些硬件去结合着使用,比如说我们这个传感器,我们需要传感器这边的数据发到边缘计算这边,边缘计算才能做进一步的处理,才需要用到边缘计算。
然后其次就是我们边缘计算它的应用的部署,它是需要我们的硬件的,是需要边缘计算计算机的,所以说这两个方面都和我们硬件相关,就是硬件潜在价值想体现出来我们边缘计算是离不开我们这个硬件的。
下面我们来看第一个边缘计算在交通运输和物流行业的应用。
这边我列举两个例子,
第一个自动驾驶,
第二个就是我们的交通大数据。
那么这两个场景下为什么会用到边缘计算?
首先我们先说自动驾驶,我们在这种自动驾驶过程当中,我们需要实时的把路况信息进行上报,才能决定下一刻再如何去决策。而如果是我们把这个信息都上报到云端,那么假设我们云端返回数据慢了,或者说是我们汽车它进入一些信号不是很好的地方,例如隧道等,那么它与云端的数据传输就不太稳定,如果稍稍慢一步,因为我们汽车它的行驶速度相对来说是非常的快的,就是慢一刻,哪怕是一秒钟交通事故就发生了,所以说我们需要边缘计算来辅助,就是因为边缘计算能够为我们自动驾驶提供本地的实时的运算,然后保障我们汽车哪怕进入一些信号不稳定的地方,我们的汽车能够正常的行驶,这就是边缘计算在自动驾驶的应用。
下一个我们来看一下边缘计算在交通大数据的应用,这种摄像头在我们日常的这种马路上是经常看得到的,ta做的事情就是把采集道路的信息通过视频流的方式,像我们交通大数据中心进行数据的上报,那么加入边缘计算之后能解决什么问题呢?
我们采集的这种摄像头的数据,如果是人流量比较多的这种街道还好,如果是人流量比较少的这种街道,它这种摄像头采集的数据很多时候是里面是既没有人也没有车的,这些数据再往云端上报的话,其实是没有什么价值的。这个时候如果我们再靠近摄像头一侧,部署我们边缘侧的应用,对我们这个道路数据进行过滤,处理之后再进行上报,那么就可以减少我们数据传输的带宽。
其次我们就可以把一些没有过车的数据也可以在我们边缘一侧进行存储,有需要的时候我们再来调用它,这样的话既能够保证我们的数据不丢失,同时能保证我们的中心获得的是最有价值的数据,这就是边缘计算在交通运输和物流行业的案例。