28、设计你自己的边缘计算系统

设计你自己的边缘计算系统

1. 边缘计算硬件探索

在设计边缘计算系统时,合适的硬件选择至关重要。以下是一些可用于边缘计算的硬件设备:
| 硬件名称 | 特点 | 参考链接 |
| — | — | — |
| Pine64 | 社区平台,生产带有 ARM 处理器的开发板,有类似树莓派的边缘设备产品 | https://www.pine64.org |
| ESP32 | 常用微控制器,可编程以通过边缘传感器读取信息,有众多集成传感器的变体 | https://heltec.org/proudct_center/esp - arduino |
| MicroPython | 专为运行 Python 设计,有很多特性可用于快速搭建边缘数据采集设备原型 | https://micropython.org |
| NVIDIA Jetson Nano | NVIDIA 设计,拥有强大 GPU,有足够能力运行包括机器学习在内的密集型任务 | https://developer.nvidia.com/embedded/jetson - nano - developer - kit |

需要注意的是,有些设备仅适合用于解决方案的原型设计,不建议在生产环境中使用。

2. 边缘计算互补软件

除了硬件,还有一些软件可用于创建边缘计算系统:
- Crossplane :用于使用 Kubernetes 部署基础设施,提供抽象化操作。参考链接: https://crossplane.io
- Thanos :Prometheus 集群,可用于扩展 Prometheus 服务。参考链接: https://thanos.io
- Argo :可用于实现 GitOps、工作流和事件管理的生态系统,也能在 ARM 设备上运行。参考链接: https://argoproj.github.io
- Containerd :如果 K3s 对于你的解决方案来说太大,可使用 Containerd 来管理容器,提供无额外服务的抽象化。参考链接: https://containerd.io
- Rancher :Kubernetes 发行版,可用于管理边缘的所有集群,通过单一仪表板应用进行管理和监控。参考链接: https://rancher.com

3. 更多推荐软件

  • KubeSphere :类似于 Rancher,但更对开发者友好,Rancher 则更适合运维人员。参考链接: https://kubesphere.io
  • OpenEBS :Longhorn 的替代方案,在存储方面有良好的支持和选项。参考链接: https://openebs.io
  • KubeEdge :K3s 的改进版本,用于在云和边缘之间分布节点,支持 MQTT 协议。参考链接: https://kubeedge.io
  • Akri :Kubernetes 资源接口,可轻松将微小边缘设备(如相机或 USB 设备)作为 Kubernetes 集群中的资源暴露。参考链接: https://docs.akri.sh

你还可以在 https://www.cncf.io 探索 CNCF 的毕业、孵化和沙盒项目,在 https://landscape.cncf.io 查看相关技术图谱,以获取更多可添加到项目中的选项。

4. 构建边缘计算系统的建议

在设计边缘计算系统时,可考虑以下建议:
1. 系统设计要耐心 :可以先在纸上进行设计,这将为后续系统构建节省大量时间。
2. 衡量系统构建进度 :没有衡量就没有压力,可以使用 Scrum 和 Kanban 敏捷方法来管理项目进度,规划至关重要。
3. 投入时间进行概念验证(POC) :在确定使用的技术、云提供商或第三方后,进行概念验证,这对系统构建的持续推进至关重要。
4. 重视文档工作 :文档是防止人员离职导致知识流失的唯一途径。
5. 对项目代码进行版本控制 :这是确保项目中重要代码不丢失的良好实践。
6. 使用加密技术 :评估系统中可能存在敏感数据的位置,并对其进行加密。
7. 使用密钥 :在实际场景中,使用密钥是必须的。
8. 从黑客角度思考 :考虑最坏情况,思考他人如何窃取你的信息。
9. 合理招聘人员 :招聘有经验的专业人员,但也不要忽视新手,年轻人才可能有创新想法。

5. 边缘计算的其他用例

边缘计算技术有许多实际应用场景:
| 用例 | 描述 |
| — | — |
| 医疗保健 | 数据可在本地处理或分析,有时可使用人工智能处理信息,系统可集成本地传感器并在边缘处理数据 |
| 工业 4.0 | 用于制造过程,通过 ARM 设备在边缘处理信息,减少系统互连和数据处理的延迟 |
| 自动驾驶车辆 | 随着电动汽车市场的发展而不断增长,利用相机、增强现实和计算机视觉实现汽车自动驾驶 |
| 游戏 | 专注于在云和高端用户设备(如游戏机)之间共享处理任务,减少视频游戏的延迟 |
| 安全 | 使用相机监控和检测人员的危险行为或防止盗窃,通常使用目标检测和人工智能 |
| 农业 | 应用于智能农场或花园,监测植物并执行浇水等操作,与物联网技术和长距离协议(如 LoRa)相关 |
| 智慧城市 | 有很多应用,如智能交通,通过监控交通和安全来改善城市交通流量 |
| 物流 | 改善包裹交付时间,优化交付路线和燃油消耗,为企业提供竞争优势 |

这些用例展示了边缘计算在不同领域的广泛应用,你可以根据自身需求进一步探索和实现。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(边缘计算系统设计):::process --> B(选择硬件):::process
    A --> C(选择软件):::process
    B --> B1(Pine64):::process
    B --> B2(ESP32):::process
    B --> B3(MicroPython):::process
    B --> B4(NVIDIA Jetson Nano):::process
    C --> C1(Crossplane):::process
    C --> C2(Thanos):::process
    C --> C3(Argo):::process
    C --> C4(Containerd):::process
    C --> C5(Rancher):::process
    A --> D(遵循设计建议):::process
    D --> D1(耐心设计):::process
    D --> D2(衡量进度):::process
    D --> D3(进行POC):::process
    D --> D4(重视文档):::process
    D --> D5(版本控制):::process
    D --> D6(使用加密):::process
    D --> D7(使用密钥):::process
    D --> D8(黑客思维):::process
    D --> D9(合理招聘):::process
    A --> E(探索用例):::process
    E --> E1(医疗保健):::process
    E --> E2(工业4.0):::process
    E --> E3(自动驾驶车辆):::process
    E --> E4(游戏):::process
    E --> E5(安全):::process
    E --> E6(农业):::process
    E --> E7(智慧城市):::process
    E --> E8(物流):::process

6. 边缘计算系统设计的关键要点总结

为了更清晰地理解边缘计算系统设计的整体流程和要点,我们可以通过以下总结来梳理:

6.1 硬件与软件选择要点

类别 要点
硬件 考虑不同硬件的特点和适用场景,如 Pine64 的 ARM 处理器开发板、ESP32 的传感器读取能力、MicroPython 的 Python 运行特性、NVIDIA Jetson Nano 的强大 GPU 计算能力等。同时要注意部分硬件仅适用于原型设计。
软件 有多种软件可用于不同目的,如 Crossplane 用于 Kubernetes 基础设施部署、Thanos 扩展 Prometheus 服务、Argo 实现 GitOps 等。还有 KubeSphere、OpenEBS、KubeEdge、Akri 等各具特色的软件可供选择。

6.2 设计与构建建议要点

建议 说明
系统设计耐心 先在纸上设计,节省后续构建时间。
衡量进度 使用 Scrum 和 Kanban 敏捷方法管理进度。
概念验证 确定技术等后进行 POC,保障系统构建持续推进。
文档工作 防止人员离职知识流失。
代码版本控制 确保重要代码不丢失。
加密与密钥使用 保护敏感数据。
黑客思维 考虑最坏情况,保障信息安全。
人员招聘 兼顾有经验人员和年轻创新人才。

6.3 用例应用要点

用例 应用要点
医疗保健 本地处理分析数据,结合人工智能和本地传感器。
工业 4.0 ARM 设备边缘处理信息,减少延迟。
自动驾驶车辆 利用相机、增强现实和计算机视觉实现自动驾驶。
游戏 云和高端设备共享处理任务,减少延迟。
安全 相机监控,结合目标检测和人工智能。
农业 智能农场监测和操作,关联物联网和长距离协议。
智慧城市 如智能交通改善城市交通流量。
物流 优化交付时间、路线和燃油消耗。

7. 边缘计算系统设计的操作流程梳理

以下是一个 mermaid 格式的流程图,展示了边缘计算系统设计的大致操作流程:

graph TD
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(开始设计):::process --> B(选择硬件):::process
    B --> C(选择软件):::process
    C --> D(遵循设计建议):::process
    D --> E(进行概念验证):::process
    E --> F(构建系统):::process
    F --> G(测试系统):::process
    G --> H(部署系统):::process
    H --> I(应用于用例):::process
    I --> J{是否满足需求}:::process
    J -->|是| K(持续维护):::process
    J -->|否| B(选择硬件):::process

7.1 具体操作步骤说明

  1. 选择硬件 :根据系统需求和预算,从 Pine64、ESP32、MicroPython、NVIDIA Jetson Nano 等硬件中选择合适的设备。
  2. 选择软件 :依据硬件选择和系统功能需求,挑选 Crossplane、Thanos、Argo 等软件,同时可考虑 KubeSphere、OpenEBS 等其他软件。
  3. 遵循设计建议 :按照前面提到的 9 条设计建议进行系统设计,包括耐心设计、衡量进度等。
  4. 进行概念验证 :在确定技术、云提供商等后,进行 POC 测试,确保系统的可行性。
  5. 构建系统 :根据设计和验证结果,开始构建边缘计算系统。
  6. 测试系统 :对构建好的系统进行全面测试,检查功能是否正常、性能是否达标。
  7. 部署系统 :将测试通过的系统部署到实际环境中。
  8. 应用于用例 :将系统应用到医疗保健、工业 4.0 等具体用例中。
  9. 评估需求满足度 :检查系统是否满足用例的需求,如果不满足则回到硬件选择步骤进行调整。
  10. 持续维护 :对满足需求的系统进行持续维护和优化,确保系统的稳定运行。

8. 边缘计算系统设计的未来展望

边缘计算系统设计在不断发展和演进,未来可能会有以下趋势:

8.1 硬件性能提升

随着技术的进步,边缘计算硬件的性能将不断提升,如 ARM 处理器的性能增强、GPU 的计算能力进一步提高等,这将使得边缘设备能够处理更复杂的任务。

8.2 软件功能完善

软件方面,各种边缘计算相关软件将不断完善其功能,提供更便捷、高效的服务。例如,Kubernetes 相关软件将更好地支持边缘计算场景,GitOps 工具将更加智能化。

8.3 应用场景拓展

边缘计算的应用场景将不断拓展,除了现有的医疗保健、工业 4.0 等领域,可能会在更多新兴领域得到应用,如智能家居、智能能源等。

8.4 安全技术加强

随着边缘计算系统中数据的重要性日益增加,安全技术将得到更多关注和加强。加密技术、密钥管理等将不断发展,以保障边缘计算系统的信息安全。

通过对边缘计算系统设计的硬件、软件、建议、用例等方面的全面了解和掌握,我们可以更好地设计和构建符合需求的边缘计算系统,同时也能对其未来发展趋势有一定的预见。在实际应用中,要根据具体情况灵活选择和调整,以实现边缘计算系统的最佳性能和效果。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值