设计你自己的边缘计算系统
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 具体操作步骤说明
- 选择硬件 :根据系统需求和预算,从 Pine64、ESP32、MicroPython、NVIDIA Jetson Nano 等硬件中选择合适的设备。
- 选择软件 :依据硬件选择和系统功能需求,挑选 Crossplane、Thanos、Argo 等软件,同时可考虑 KubeSphere、OpenEBS 等其他软件。
- 遵循设计建议 :按照前面提到的 9 条设计建议进行系统设计,包括耐心设计、衡量进度等。
- 进行概念验证 :在确定技术、云提供商等后,进行 POC 测试,确保系统的可行性。
- 构建系统 :根据设计和验证结果,开始构建边缘计算系统。
- 测试系统 :对构建好的系统进行全面测试,检查功能是否正常、性能是否达标。
- 部署系统 :将测试通过的系统部署到实际环境中。
- 应用于用例 :将系统应用到医疗保健、工业 4.0 等具体用例中。
- 评估需求满足度 :检查系统是否满足用例的需求,如果不满足则回到硬件选择步骤进行调整。
- 持续维护 :对满足需求的系统进行持续维护和优化,确保系统的稳定运行。
8. 边缘计算系统设计的未来展望
边缘计算系统设计在不断发展和演进,未来可能会有以下趋势:
8.1 硬件性能提升
随着技术的进步,边缘计算硬件的性能将不断提升,如 ARM 处理器的性能增强、GPU 的计算能力进一步提高等,这将使得边缘设备能够处理更复杂的任务。
8.2 软件功能完善
软件方面,各种边缘计算相关软件将不断完善其功能,提供更便捷、高效的服务。例如,Kubernetes 相关软件将更好地支持边缘计算场景,GitOps 工具将更加智能化。
8.3 应用场景拓展
边缘计算的应用场景将不断拓展,除了现有的医疗保健、工业 4.0 等领域,可能会在更多新兴领域得到应用,如智能家居、智能能源等。
8.4 安全技术加强
随着边缘计算系统中数据的重要性日益增加,安全技术将得到更多关注和加强。加密技术、密钥管理等将不断发展,以保障边缘计算系统的信息安全。
通过对边缘计算系统设计的硬件、软件、建议、用例等方面的全面了解和掌握,我们可以更好地设计和构建符合需求的边缘计算系统,同时也能对其未来发展趋势有一定的预见。在实际应用中,要根据具体情况灵活选择和调整,以实现边缘计算系统的最佳性能和效果。
超级会员免费看

被折叠的 条评论
为什么被折叠?



