边缘存储
边缘计算是一个热门话题,带来了一些混乱,尤其是在存储方面。在边缘正确处理数据可以确保可扩展的,具有成本效益的和安全的基础架构-但是无法建立正确的体系结构可能导致数据丢失,安全漏洞以及与重复向和向其传输数据所需的带宽相关的高昂成本。来自公共云。从体系结构的角度来看,带宽是一个关键的考虑因素,原因很明显:每GB的带宽要比存储高4倍(例如,AWS上的.023比.09)。
尽管存在多种模型,但最终我们认为可以将其简化为两个:边缘存储和边缘缓存。这篇文章同时介绍了这两种模型,并阐明了要交付给他们的重要存储属性。
边缘存储
当目标是在边缘上进行处理和分析,滤除噪声并仅保留/发送见解和与这些见解相关的数据时,将使用边缘存储模型。在此模型中,应用程序,计算和存储位于边缘,旨在存储和处理原位数据。目标不是在边缘存储数据PB-而是此模型设想100 GB的GB到几个PB左右。看起来像这样:

在最偏远的边缘,您拥有数据生成设备以及存储和计算/分析功能。计算/分析的范围可以从Splunk DSP到深度神经网络模型,但是关键是在远程边缘具有ETL,处理和洞察力生成。这些实例通过Kubernetes作为数据管道进行容器化和管理。
Kubernetes有效地要求对存储进行分解和基于对象。
为了完成架构,可以在一个更集中的位置添加一个负载均衡器,另一层Kubernetes,然后再具有一个原始对象存储服务器和应用程序层(训练模型,进行大规模分析等)。
Chick-fil-A等餐厅采用了这种模式。它用于面部识别系统。它是制造用例以及5G用例的默认设计。
在每种情况下,都可以在现场或在经济上最接近的位置进行足够的存储和计算,以从数据中学习。
让我们举一个汽车从传感器生成数据的示例-MinIO在该领域具有丰富的部署专业知识。收集数据的目的是建立和训练机器学习模型。汽车内部没有计算资源来进行训练,这是GPU消耗最大的部分。在这种情况下,数据将发送到边缘数据中心以构建和训练机器学习模型。训练完模型后,就可以将其发送回汽车,并根据来自传感器的新数据做出决策并得出结论。
在地理上分布培训和过程以使其尽可能靠近设备是有意义的。
最终,这些数据将最终存储在云中(公共或私有)。它会迅速积累,对于自动驾驶汽车而言,它会很快成为多个PB。结果,您将需要在两端(在边缘和云中)具有相同的存储。
对象存储是云中的首选存储。因此,对象存储是边缘的首选存储。我们讨论了边缘存储需要具备的属性-但必须注意的是,传统的SAN / NAS系统在这些用例中不灵活且通常不兼容,因为数据处理应用程序本机采用S3 API。
关于私有云的快速说明。有些将边缘与私有云混合在一起,但这是一个错误。私有云是新兴力量,随着传统IT采纳公共云的实践和方法而发展,从RESTful API到微服务和容器化。私有云的外观和感觉类似于公共云,但具有卓越的经济性,数据安全性和性能。
边缘是不同的。边缘是一个净新世界。
是的,它遵循集中化->分散化->集中化->分散化的周期性技术路径,但它利用的是以前根本不存在的端点-汽车,相机,移动应用程序和设备以及以前不存在的技术-用于高性能,轻量级的对象存储和AI / ML。结果,需要一个新的体系结构框架。
边缘缓存
回顾边缘的第一个规则:将带宽视为成本最高的组件(在AWS上为4倍),我们发现了第二个核心边缘情况:边缘缓存。边缘缓存不是一个新概念,CDN已有数十年的历史了-但是它也是对象存储再次更改规则的一个概念。CDN需要紧密集成到对象存储系统中,以维护对象的安全性和一致性模型。
在此模型中,边缘充当网关缓存,在应用程序和公共云之间创建中介。在这种情况下,网关由具有多个硬盘驱动器或闪存驱动器的服务器支持,并部署在全球的边缘数据中心中。看起来像这样:

对公共云的所有访问都通过这些缓存(直写式缓存)进行,因此,在严格的一致性保证下,数据被上传到公共云。随后的读取是基于ETAG匹配或缓存控制标头从缓存中提供的。该体系结构通过减少传输数据所需的带宽来降低成本,通过使数据缓存更靠近应用程序来提高性能,并且还降低了运营成本-数据仍保存在公共云中,只是缓存在边缘,因此仍然如果边缘数据中心烧毁在地面上。
使用MinIO的对象存储网关,还可以采用零管理的无共享架构。您只需部署一次,然后就忘记了。添加一个节点,两个节点,两千个节点-没关系,它们在体系结构上彼此独立并且完全是无状态的。保持缩放。如果节点死亡,请放开它。
边缘的属性
无论您在边缘构建哪种类型的架构,都需要将某些属性备份到任何边缘存储系统中,无论是在边缘处理中心中,在IoT设备本身中还是在边缘缓存系统中。如前所述,首先是存储必须基于对象并且可以通过HTTP访问。对象是边缘的默认图案。文件和阻止协议不能扩展到本地网络之外。
但是,该对象存储还有其他要求,它们如下:
弹性
弹性对于边缘存储至关重要。对于熟练的工程师来说,物理访问和维护IoT设备或边缘数据中心变得更加困难。同时,与传统数据中心中的驱动器相比,物联网设备(甚至边缘数据中心)中的驱动器承受的物理条件更为恶劣。
这些体系结构,尤其是存储组件,必须能够就地失效。驱动器将发生故障。没有正确的架构,驱动器故障可能会导致数据丢失。除了丢失数据之外,更换驱动器可能是操作上的噩梦,因为它们需要经验丰富的技术人员才能访问地理位置分散的数据中心和/或参加数千个边缘设备。
对于存储体系结构而言,至关重要的是使用自我修复和自动化功能以确保即使驱动器发生故障也能确保数据安全,并且具有在特定边缘位置的所有驱动器发生故障时自动故障转移到其他数据中心的能力。 。
软件定义+容器友好+开源
软件定义的存储解决方案提供了传统系统所不具备的灵活性度量。它们可以同样轻松地在各种硬件平台上运行,并且可以很容易地进行远程维护。
此外,软件定义的存储解决方案在容器化和编排方面更胜一筹。如我们所写,不可能将硬件设备容器化。鉴于需要向上/向下旋转和增长/缩小边缘解决方案,因此需要一个对Kubernetes友好的解决方案。
第三,解决方案需要开源。这是长期以来一直在开源中看到价值的电信公司的选择,但对于其他行业来说也很重要,在这些行业中,不受锁定的自由,检查的自由和创新的自由是选择过程的关键。开源的另一个未得到充分重视的价值主张是易于采用-它以高度异构的配置运行,并且以专有软件永远无法做到的方式得到强化。
无状态
边缘存储系统需要由完全可抛弃的物理基础结构组成。如果他们着火了,就不会有数据丢失。关键状态应存储在公共云中,以便各个硬件元素都可以丢弃。
将边缘驱动器视为宠物是不可能的。它们几乎总是要经受更恶劣的物理条件,这使他们不仅面临失败的风险,而且面临腐败的风险。
速度
您可以更快地处理数据,就可以更快地制定业务决策。速度是将数据处理从传统数据中心和公共云移开的主要原因之一。加速数据处理和数据传输的能力对于充分利用边缘计算至关重要。
即使处理位于边缘的数据中心,延迟也很难解决。构建可以快速处理数据的应用程序需要以这样一种方式来架构系统:应用程序可以处理内存中的数据。加快边缘速度的关键是消除对高延迟网络的任何依赖。
轻巧的
边缘设备很小。为了使存储系统在边缘上可行,它必须能够以极少的计算和存储资源来提供速度,弹性和安全性。例如,在树莓派资源较少的设备上运行的能力对于构建可以在IoT设备中的单个固态驱动器上运行的存储系统至关重要。但是,关键在于,从应用程序和API角度来看,单个固态驱动器的外观和作用就像一台成熟的服务器。
安全
无法完全确保边缘数据中心或物联网设备的物理安全性。确保静态和传输中的加密至关重要,因为在边缘数据中心周围与在传统数据中心周围实施相同的物理安全措施是不切实际的-对于IoT设备而言这是不可能的。边缘驱动器的物理漏洞使加密必不可少,因此,即使访问了数据,也无法对其进行读取或篡改。
概要
设计适当的架构在边缘世界中至关重要。这篇文章介绍了两个模型,一个模型在边缘收集数据,另一个模型将数据推送到边缘。尽管模型从根本上不同,但是存储选择是相同的:对象。
此外,对象存储需要围绕弹性,性能,安全性和灵活性的某些属性,这些属性会缩小考虑范围。
一如既往,我们鼓励人们做出自己的决定。我们的软件是100%开源的,可以在此处下载。我们的文档可在此处获得,我们的公共Slack频道被视为黄金标准。
如果您已经在边缘运营了我们-我们鼓励您给我们发sales@minio.org.cn并向我们详细介绍您的部署。我们一直在寻找您的故事。