写点什么

边缘计算之道:如何在数字时代“挖金山”?

  • 2023-07-07
    北京
  • 本文字数:5170 字

    阅读完需:约 17 分钟

边缘计算之道:如何在数字时代“挖金山”?

随着制造业、石油、天然气、能源以及交通等行业加速数字化转型,数据容量呈现持续增长的趋势。然而,这种边缘数据爆炸需要得到有效的管理。在面对系统复杂性、数据隐私、延迟问题、有限的带宽连接,以及不断上升的存储和处理数据成本等众多挑战时,边缘计算应运而生。


边缘计算的核心理念是将计算资源尽可能地靠近数据源,减少设备与远程服务器之间的长距离连接,从而改善数据的处理、处理和传输方式。尤其是在制造业、石油和天然气、能源以及交通等大型行业中,工业边缘计算已经开始广泛应用,以实时分析和管理资产端的所有数据。通过实时分析或将聚合的数据用于进一步的云端处理,工业边缘计算能够提供实时的数据分析和更高效的数据处理。

边缘计算关键要素


边缘计算相关的的设备,如智能手机、智能手表和电器等,首先通过安全通信与物联网平台进行交互。这些平台收集和分析来自各种设备的数据,并通过应用程序将最有价值的数据发送回设备。


一些支持重要通信技术(如 Wi-Fi、NarrowBand-IoT(NB-IoT)和 Sigfox)以及诸如消息队列遥测传输(MQTT)、约束应用协议(CoAP)和超文本传输安全协议(HTTPS)等协议的物联网边缘设备可以直接连接到物联网平台。然而,并非所有设备都具备这些通信能力,因此需要一个抽象层来进行转换,提供多个协议和通信技术之间的桥梁,以实现数据的流动。


这个抽象层的作用是通过提供适应不同协议和通信技术的技术和流程来进行数据的中介转换。它充当了一个桥梁,使得不同类型的设备能够与物联网平台进行通信,无论它们使用的是哪种通信技术或协议。这样一来,物联网平台就能够充分发挥作用,连接和整合各种类型的设备,实现数据的流动和交互。


一个典型的物联网平台的架构如下图所示:



下面是对架构的每个层次的详细解析:


  • 基础设施层(infrastructure):该层包含了使整个平台正常运行所需的组件。在这里,你会找到各种计算/存储/网络解决方案、容器管理选项、数据湖、内部平台消息传递以及监控和存储解决方案。

  • 集成层(integration):该层主要负责接收来自连接的边缘设备的数据,进行分析,并将其分发给业务应用程序,同时管理设备。在这一层中,数据会经过预处理、聚合和转换,以满足后续应用的需求。此外,集成层还负责处理设备注册、控制和管理等功能。

  • 安全层(security):该层负责确保数据的有效性、安全性和隐私性,通过实施数据安全和权限原则以及采取补救控制和行动来进行监督。这包括对数据进行加密、身份验证、访问控制、漏洞管理等安全措施,以保护数据免受潜在的威胁。

  • 应用层(application):该层包含使用集成层的基本物联网功能来实现业务目标的应用程序。这是承载复杂数据分析、条件监测、改装/配置和预测性维护等应用程序的地方。应用层的主要任务是根据业务需求开发和部署各种应用程序,以提供特定的功能和洞察力。

物联网与边缘计算的关系


物联网受益于处理能力更接近于物理设备或数据源。为了能够更快地对物联网传感器和设备收集的数据进行分析并做出反应,必须在边缘进行分析,而不是将数据传输回中央站点。


通过为物联网设备的数据和计算需求提供本地的处理和存储资源,边缘计算减少了物联网设备与连接的中央信息技术(IT)网络之间的通信延迟。


如果没有边缘计算,物联网将依赖于云端或数据中心的连接和计算服务。在物联网设备与云端之间来回传输数据可能会降低响应时间并降低操作效率。


在云计算模型下,计算资源和服务通常集中在大型数据中心。云端经常提供连接物联网设备与互联网所需的网络基础设施。边缘设备需要网络访问,以提供设备与中央数据库之间的双向通信。云端通常用于提供网络连接。例如,边缘设备通过云端将数据传输到数据中心,或边缘设备将其决策记录传输回数据中心进行数据存储、处理或大数据分析,这些都是云端的通信能力的示例。


下图是工厂制作车间与边缘云交互架构:


边缘计算的关键技术与架构

Microk8s:


MicroK8s 是一个功能强大、轻量级和可靠的适用于生产环境的 Kubernetes 发行版。它专为企业提供,具有较小的内存和磁盘占用,并具有一些关键特点如下:


下方是 Google 云 Anthos 与 MicroK3s 架构图:


K3s


K3s 是一个轻量级的 Kubernetes 发行版,专为在资源受限的环境中部署和运行的场景而设计。它是 Kubernetes 的简化版本,旨在提供更小、更快速和更易于管理的解决方案。


下方是其架构图:


KubeEdge:


KubeEdge 是一个开源的边缘计算平台,旨在扩展 Kubernetes 的能力到边缘设备和边缘节点。它提供了一个统一的管理平台,用于部署、运行和管理容器化应用程序和服务,使得边缘设备能够高效地进行计算、存储和数据处理。


下方是其架构图:


OpenYurt


OpenYurt 是业界首个非侵入的边缘计算云原生平台开源项目。主推“Kubernetes 零修改”,“云边端一体化”等设计理念,提供诸如边缘自治、 跨网络域的云边流量治理、大规模边缘业务管理、边缘设备的云原生管理,异构资源支持等能力。OpenYurt 旨在帮助用户解决在海量边、 端资源上完成大规模应用交付、运维、管控的问题,同时为用户提供与云上 Kubernetes 集群一致的使用体验。


下方是其架构图:


边缘计算中设备如何受益


  • 可扩展性:对于许多物联网解决方案来说,可扩展性是主要关注点。边缘计算基础设施需要能够独立水平或垂直扩展,以支持额外的设备和实时处理大量数据。与传统的虚拟机相比,容器生成速度更快,因为它们更轻量化。

  • 高可用性:对于物联网解决方案来说,边缘设备必须始终可用和可信。由于每个容器都有自己的 IP 地址,很容易在它们之间分配负载,并在容器停止运行时重新启动应用程序。

  • 资源有效利用:由于其有效的资源管理,Kubernetes 降低了托管物联网应用的成本。MicroK8s、K3s 等是经过精简优化的 Kubernetes 版本,它们在托管的虚拟机、裸金属实例或云上提供了一个抽象层。管理员可以专注于将应用服务部署在尽可能多的基础设施上,从而降低运行物联网应用的总体成本。

  • 部署到边缘:在不中断服务的情况下将软件更新部署到边缘设备是物联网的重要挑战。通过 Kubernetes 可以运行逐步推出服务更新的微服务。在 Kubernetes 安装中,通常使用滚动更新策略来推出 Pod 版本的更新。通过在更新进行期间保留某些实例运行(例如 Pod Disruption Budgets),可以实现零服务停机时间。只有在新部署版本的可用且准备好替换它们的 Pod 已启用时,旧的 Pod 才会被删除。因此,可以通过单个命令实现应用的水平或向上扩展。

  • 支持 IoT 的 DevOps:为了满足消费者需求,物联网解决方案必须平滑地进行更新,而无需用户停机时间。借助可用于 Kubernetes 的 CI/CD 工具,开发团队可以有效验证、推出和部署对 IoT 服务的更改。

边缘计算架构及场景


接下来主要是演示使用 K3 作为下一个边缘计算的主要平台的架构图。

1. 边缘集群和公有云

架构分析


  • 云层(Cloud Layer):这一层位于公有云和云服务提供商中。云服务提供商可以提供基于 Intel 或 ARM 处理器的实例。一般来说,这一层为远端和微小边缘层提供存储或数据处理支持。

  • 近端边缘(Near Edge):在这一层中,您可以找到用于在云层和远端层之间传输所有数据的网络设备。通常包括电信设备、5G 网络等。

  • 远端边缘(Far Edge):在这一层中,您可以找到 K3s 集群、类似 KubeEdge 的轻量级集群以及 Docker 或 containerd 等软件。一般来说,这是您的本地处理层。

  • 微小边缘(Tiny Edge):这是远端边缘内的一个层次,在这里您可以找到智能手表、物联网设备等边缘设备,它们将数据发送到远端边缘。


简而言之,这种配置方式通过公有云或私有云与边缘层共享和处理数据。云层位于公有云和云服务提供商之间,支持远端和微小边缘层的存储或数据处理。近端边缘层包括用于数据传输的网络设备。远端边缘层包括 K3s 集群、轻量级集群和容器化软件,用于本地数据处理。微小边缘层是远端边缘内的一个层次,包括智能手表、物联网设备等边缘设备,它们将数据发送到远端边缘进行处理。


适用场景


  • 在互联网或私有云中必须共享数据的不同系统之间的情景。

  • 在云端和边缘之间分配数据处理的场景,例如机器学习模型的生成或预测。

  • 需要扩展物联网应用程序,并且应用程序的响应时间至关重要的场景。

  • 希望使用数据分布和加密的聚合策略来保护数据的场景。

2. 区域集群和公有云

架构分析


此配置的重点是在不同区域之间分布处理策略,并在公共云之间共享数据。让我们来解释一下不同的层次:


  • 云层(Cloud Layer):这一层包含了像数据库这样的托管服务,用于在不同地区分布数据。

  • 近端边缘(Near Edge):在这一层中,您可以找到网络设备,用于在云层和远端层之间传输所有数据。通常包括电信设备、5G 网络等。

  • 远端边缘(Far Edge):在这一层中,您可以找到跨不同地区的 K3s 集群。这些集群或节点可以共享或更新存储在公有云中的数据。

  • 微小边缘(Tiny Edge):在这里,您可以找到靠近每个地区的不同边缘设备,远端边缘集群会因为这种分布式配置而处理这些信息。


简而言之,这种配置的重点是在不同地区分布处理策略,并在公有云之间共享数据。云层包含托管服务,用于将数据分布到不同的地区。近端边缘层包括网络设备,用于在云层和远端层之间传输数据。远端边缘层包括跨不同地区的 K3s 集群,它们可以共享和更新存储在公有云中的数据。微小边缘层包括靠近每个地区的边缘设备,远端边缘集群会根据这种分布式配置来处理这些设备传输的信息。这种配置将处理策略分布在不同地区,并实现了公有云之间的数据共享。


适用场景


  • 在不同地区使用不同的集群配置:边缘计算可以支持在不同地区设置具有不同配置的集群,以满足特定地区的需求。例如,根据特定地区的数据处理要求,您可以在某些地区配置更强大的处理节点,而在其他地区配置更轻量级的节点。

  • 减少应用程序的响应时间:在物联网应用程序中,应用程序的响应时间至关重要。边缘计算可以通过选择最近的数据或处理节点位置来减少应用程序的响应时间。通过将数据处理放置在靠近数据源的边缘节点上,可以减少数据传输的延迟,并实现更快的响应。

  • 在不同地区共享数据:边缘计算可以帮助在不同地区之间共享数据。这对于需要在全球范围内共享数据的组织或应用程序非常有用。通过在不同地区的边缘节点之间共享数据,可以实现数据的快速访问和共享,无需在云端进行大量的数据传输。

  • 在不同地区分布处理:边缘计算可以将处理任务分布在不同地区。这对于需要在不同地区进行数据处理的应用程序非常有用。通过将处理任务分配给就近的边缘节点,可以降低数据传输的延迟,并提高处理的效率。

3. 单节点集群和(公有/私有)云

架构分析


在这种基本配置中,一台计算机处理来自微小边缘设备的所有信息。


  • 云层(Cloud Layer):在这一层中,您可以找到系统的数据存储。它可以放置在公有云或私有云中。

  • 近端边缘(Near Edge):在这一层中,您可以找到网络设备,用于在云层和远端层之间传输所有数据。通常包括电信设备、5G 网络等。

  • 远端边缘(Far Edge):在这一层中,您可以找到单个节点的 K3s 集群,它从微小边缘设备中收集数据。

  • 微小边缘(Tiny Edge):这些设备用于捕捉数据,例如智能手表、平板电脑、摄像头、传感器等。这种配置更适合在本地或小规模上进行处理。


简而言之,这是一种基本配置,其中一台计算机用于处理来自微小边缘设备的数据。云层用于存储系统的数据,可以位于公有云或私有云中。近端边缘层包括网络设备,用于在云层和远端层之间传输数据。远端边缘层包括单个节点的 K3s 集群,用于从微小边缘设备中收集数据。微小边缘层包括用于捕捉数据的设备,例如智能手表、平板电脑、摄像头、传感器等。这种配置更适合在本地或小规模上进行处理,而不需要复杂的边缘计算架构。


适用场景


  • 低成本和低能耗环境:这种基本配置适用于低成本和低能耗的环境。由于只有一台计算机进行处理,因此所需的硬件和能源成本相对较低。这对于资源有限或经济有限的场景非常有用。

  • 绿色边缘应用:这种配置适用于可由太阳能电池板或风力涡轮发电的绿色边缘应用。由于只有一台计算机进行处理,所需的能源消耗相对较低,可以与可再生能源一起使用,实现能源的环保和可持续。

  • 小型处理或用例:这种配置适用于处理小规模数据或小型用例的情况。例如,分析健康记录或自动化住宅系统等。这些用例通常不需要复杂的边缘计算架构,而是可以在本地进行处理,因此这种基本配置足够满足需求。

总结


边缘计算框架和工具在实现边缘计算的灵活性、可扩展性和协同性方面发挥着重要作用。KubeEdge、OpenYurt、K3s、MicroK8s 都提供了不同的优点和适用场景,可以根据具体的需求和环境选择合适的框架和工具。它们使得边缘设备能够无缝地与云计算进行协同工作,实现数据的实时处理、资源的弹性利用和应用的高可用性,推动边缘计算的发展和应用。


随着企业拥抱数字化转型、行业 4.0、工业自动化、智能制造以及这些举措提供的所有先进用例,Kubernetes、 edge 和云协作推动智能商业决策的相关性正变得越来越明显。

作者介绍


陈章朝,政采云有限公司运维开发工程师,一个热爱生活的编程爱好者,热于参与开源社区共建以及分享知识。

2023-07-07 10:103568

评论

发布
暂无评论
发现更多内容

JavaScript异步编程的深入理解,使用回调函数实现异步编程

兴科Sinco

JavaScript 前端 前端开发 异步编程

FL Studio21中文语言版水果编曲工具

茶色酒

FL Studio21

工作一年,我重新理解了《重构》

阿里巴巴中间件

阿里云 云原生 重构

Matlab常用图像处理命令108例(二)

timerring

图像处理

如何设计一个优秀的 Go Web 项目目录结构

江湖十年

Go 设计 后端 项目 Web Service

强强联合:Neovim+ChatGPT | 社区征文

SkyFire

ChatGPT neovim

前端学习路径

阡陌r

Portraiture2023人像免费磨皮插件

茶色酒

Portraiture2023

阿里云消息队列 Kafka 生态集成的实践与探索

阿里巴巴中间件

kafka 阿里云 云原生 消息队列

Orika JavaBean映射工具使用

京东科技开发者

JAVA开发 京东云 JavaBean 企业号 3 月 PK 榜

28岁小公司程序员,无车无房不敢结婚,要不要转行?

程序员晚枫

程序员 收入

将老人拉出无声的世界,AI是怎么做的?

脑极体

AI医疗

AutoCompleteTextView的基本使用

芯动大师

android 控件 AutoCompleteTextView

经验分享:高德地图如何短时间快速完成春节出行备战工作?

阿里巴巴中间件

阿里云 云原生 函数计算

初识大热的ChatGPT的几点思考|社区征文

穿过生命散发芬芳

ChatGPT

浅谈kafka

京东科技开发者

数据库 中间件 京东云 kafka manager 企业号 3 月 PK 榜

使用OpenAI接口释放ChatGPT API 的力量

devpoint

React nextjs ChatGPT

大型供应链物流企业的数字化转型方法论

明道云

架构训练营-模块9秒杀系统

张Dave

从混乱到完备:我的研发流程之路

SkyFire

研发流程

在前端领域摸爬滚打7年,我终于掌握了这些沉淀技巧

小鑫同学

巧用GenericObjectPool创建自定义对象池

京东科技开发者

京东云 API 编排 对象池 京东物流 企业号 3 月 PK 榜

统一观测丨使用 Prometheus 监控 E-MapReduce,我们该关注哪些指标?

阿里巴巴中间件

阿里云 云原生

架构师日记-软件高可用实践那些事儿

京东科技开发者

高可用 软件架构 京东云 企业号 3 月 PK 榜

LeSS敏捷框架高效生产力实践

俞凡

敏捷开发 大厂实践

Kubernetes容器状态探测的艺术

俞凡

Kubernetes 云原生

前端学习

阡陌r

极氪汽车 APP 系统云原生架构转型实践

阿里巴巴中间件

阿里云 云原生

订单超时怎么处理?我们用这种方案

阿里巴巴中间件

阿里云 云原生

一天吃透Git面试八股文

程序员大彬

git 面试

国内AGV调度系统到底是什么水平?

申扬科技

调度系统 AGV

边缘计算之道:如何在数字时代“挖金山”?_业务架构_陈章朝_InfoQ精选文章