边缘计算是一个热门话题,并伴随着一些混乱,尤其是在存储方面。在边缘正确处理数据可以确保可扩展、具有成本效益和安全的基础设施——但未能建立正确的架构可能导致数据丢失、安全漏洞以及与重复传输数据所需的带宽相关的高昂成本从公共云。从架构的角度来看,带宽是一个关键的考虑因素,原因很清楚:每 GB 的成本是存储的 4 倍(例如,AWS 上的带宽是 0.09 与 0.023)。
虽然有多种模型,但最终我们认为它们可以简化为两个:边缘存储和边缘缓存。这篇文章着眼于这两种模型,并阐明了对它们而言重要的存储属性。
边缘存储
当目标是在边缘进行处理和分析,过滤掉噪音并仅保留/发送与这些见解相关的见解和数据时,就会使用边缘存储模型。在此模型中,应用程序、计算和存储存在于边缘,旨在就地存储和处理数据。目标不是在边缘存储 PB 的数据 - 相反,该模型设想了 100 GB 到几 PB 左右。在视觉上它看起来像这样:
在最偏远的边缘,您拥有数据生成设备,以及存储和计算/分析。计算/分析的范围可以从 Splunk DSP 到深度
神经网络模型,但这里的关键是远程边缘有 ETL、处理和洞察力生成。这些实例通过 Kubernetes 作为数据管道进行容器化和管理。
Kubernetes 有效地 强加了 存储分解和基于对象的要求。
为了完成该架构,需要添加 一个负载均衡器、另一层 Kubernetes,然后在一个更集中的位置拥有一个原始对象存储服务器和应用层(训练模型、进行大规模分析等)。
这种模式被 Chick-fil-A等餐厅采用。它用于面部识别系统。它是制造用例和 5G 用例的默认设计。
在每种情况下,现场或经济上邻近的位置都有足够的存储和计算来从数据中学习。
让我们举一个汽车从传感器产生数据的例子——MinIO 在这个领域拥有相当丰富的部署专业知识。收集数据的目的是建立和训练机器学习模型。汽车内部没有计算资源来进行训练,这是 GPU 最密集的部分。在这种情况下,数据被发送到边缘数据中心以构建和训练
机器学习模型。一旦模型经过训练,它就可以被送回汽车并用于做出决策并从传感器输入的新数据中得出结论。
在地理上分布训练和过程以尽可能靠近设备是有意义的。
最终,这些数据将最终存储在云中(公共或私有)。它将迅速积累,对于自动驾驶汽车,它将很快成为多个 PB。因此,您将需要在每一端都使用相同的存储——在边缘和云端。
对象存储是云中的首选存储。因此,对象存储是边缘存储的首选。我们将在下面讨论边缘存储需要具备哪些属性——但重要的是要注意,由于数据处理应用程序本身采用 S3 API,因此传统的 SAN/NAS 系统不灵活并且通常与这些用例不兼容。
关于私有云的简要说明。有些人将边缘与私有云混为一谈,但这是一个错误。随着传统 IT 采用公共云的实践和方法——从 RESTful API 到微服务和容器化,私有云是一股新兴力量。私有云的外观和感觉与公共云相似,但具有卓越的经济性、数据安全性和性能。
边缘不一样。边缘是一个全新的世界。
是的,它遵循集中化 -> 去中心化 -> 集中化 -> 去中心化的循环技术路径,但它正在利用以前根本不存在的端点——汽车、相机、移动应用程序和电器以及以前不存在的技术– 用于高性能、轻量级的对象存储和 AI/ML。因此,需要一个新的架构框架。
边缘缓存
回顾边缘的第一条规则:将带宽视为最高成本组件(AWS 上的 4X),我们找到了第二个核心边缘案例:边缘缓存。边缘缓存不是一个新概念,CDN 已有数十年的历史——但它也是对象存储再次改变规则的地方。CDN 需要紧密集成到对象存储系统中,以维护对象的安全性和一致性模型。
在此模型中,边缘充当网关缓存,在应用程序和公共云之间创建中介。在这种情况下,网关由具有多个硬盘驱动器或闪存驱动器的服务器支持,并部署在世界各地的边缘数据中心。它看起来像这样:
所有对公有云的访问都要经过这些缓存(write-through cache),所以数据上传到公有云有严格的一致性保证。基于 ETAG 匹配或缓存控制标头从缓存中提供后续读取。这种架构通过减少传输数据所需的带宽来降低成本,通过将数据缓存在更靠近应用程序的地方来提高性能,同时还降低了运营成本——数据仍然保存在公共云中,只是缓存在边缘,所以它仍然是如果边缘数据中心被烧毁。
借助 MinIO 的对象存储网关,人们还可以采用零管理的无共享架构。您部署一次并忘记它。添加一个节点,两个节点,两千个节点——没关系,它们在架构上相互独立并且完全无状态。继续缩放。如果一个节点死了,就让它过去。
边缘的属性
无论您在边缘构建哪种类型的架构,都需要将某些属性支持到任何边缘存储系统中,无论是在边缘处理中心、物联网设备本身还是作为边缘缓存系统的一部分。首先,如前所述,存储需要基于对象并且可以通过 HTTPs 访问。对象是边缘的默认图案。文件和块协议不能扩展到本地网络之外。
但是,该对象存储还有其他要求,如下所示:
弹力
弹性对于边缘存储至关重要。熟练的工程师更难物理访问和维护物联网设备或边缘数据中心。同时,物联网设备中的驱动器——甚至是边缘数据中心中的驱动器——比传统数据中心中的驱动器要承受更恶劣的物理条件。
这些架构,尤其是存储组件,需要能够原地失效。会发生驱动器故障。如果没有正确的架构,驱动器故障可能会导致数据丢失。除了丢失数据之外,更换驱动器可能是一场操作噩梦,因为它们需要经验丰富的技术人员访问地理分布的数据中心和/或访问数千个边缘设备。
对于存储架构而言,使用自我修复和自动化以确保即使在驱动器发生故障时数据也是安全的,以及在特定边缘位置的所有驱动器都发生故障时建立自动故障转移到其他数据中心的能力,这一点至关重要.
软件定义+容器友好+开源
软件定义的存储解决方案提供了一种传统系统所不具备的灵活性。它们可以同样轻松地在各种硬件平台上运行,并且可以从远处轻松维护。
此外,软件定义的存储解决方案更适合容器化和编排。正如我们所写的, 将硬件设备容器化是不可能的。鉴于需要向上/向下旋转和增长/缩小边缘解决方案,需要一个对 kubernetes 友好的解决方案。
第三,解决方案需要开源。对于长期以来看到开源价值的电信公司来说,这是给定的,但对于其他行业也很重要,因为这些行业免于锁定、检查自由和创新自由是选择过程的关键。开源的另一个被低估的价值主张是易于采用——它在高度异构的配置中运行,并且以专有软件永远无法做到的方式得到强化。
无状态
边缘存储系统需要由完全一次性的物理基础设施组成。如果它们着火,应该不会丢失数据。关键状态应存储在公共云中,以便单个硬件元素可以一次性使用。
将边缘的驱动器视为宠物是不可能的。他们几乎总是会受到更严酷的身体条件的影响,这使他们不仅面临失败的风险,还面临腐败的风险。
速度
您处理数据的速度越快,您做出业务决策的速度就越快。速度是将数据处理从传统数据中心和公共云转移的主要原因之一。加速数据处理和数据传输的能力对于充分  利用边缘计算至关重要。
即使处理位于边缘的数据中心,延迟也很难解决。构建可以快速处理数据的应用程序需要以应用程序可以处理内存中的数据的方式构建系统。边缘加速的关键是消除对高延迟网络的任何依赖。
轻的
边缘设备很小。为了使存储系统在边缘可行,它必须能够以非常少的计算和存储资源提供速度、弹性和安全性。例如,在Raspberry Pi资源较少的设备上运行的能力对于 构建可以在 IoT 设备中的单个固态驱动器上运行的存储系统至关重要。然而,关键是从应用程序和 API 的角度来看,单个固态驱动器的外观和行为都像一个成熟的服务器。
安全
没有办法完全确保边缘数据中心或物联网设备的物理安全。确保静态和传输中的加密至关重要,因为在边缘数据中心周围设置与传统数据中心周围相同的物理安全措施是不切实际的——而且在物联网设备的情况下也是不可能的。边缘驱动器的物理漏洞使得加密必不可少,因此即使数据被访问,也无法读取或篡改。
概括
设计合适的架构在边缘世界中至关重要。这篇文章介绍了两种模型,一种是在边缘收集数据,另一种是将数据推送到边缘。虽然模型根本不同,但存储选择是相同的:对象。
此外,对象存储需要围绕弹性、性能、安全性和灵活性的某些属性,从而缩小考虑范围。
编辑推荐
1、
2022年300个以上最佳免费数据科学课程
2、
大厂数据分析面试指南!来自亚马逊、谷歌、微软、头条、美团的面试问题!
3、
机器学习模型方法总结
4、
历史最全机器学习/深度学习/人工智能专业术语表中英对照表
5、
机器学习如何应用于商业场景?三个真实的商业项目
6、
数据工作者的自我修养 | 哪些技能是必不可少的?
7、
《汗牛充栋:数据分析书籍分享》CDA网校新课上线
8、
文本挖掘常用的107个语料库
9、
一图读懂“东数西算”工程
10、
零基础转行数据分析,看这篇文章就够了
DA内容精选