边缘计算是处理发生在活动和数据源附近的一种计算形式,靠近边缘的工作减少了将数据传输到处理单元的延迟,对于需要快速响应的用例(例如物联网)来说是理想选择。边缘计算是云计算的有效补充,云计算通常是远离数据源的集中式处理。
很容易就得出这样的结论:边缘计算解决了云计算无法解决的很多问题,但由于边缘系统的高度分布性,这一结论有待商榷。每个边缘节点都不是完全独立的,因为每个边缘节点都需要有其他节点共享信息,保持数据的一致性将是一大挑战。问题是:如何协调大量边缘计算系统,同时仍需要它们独立工作?这是一个多年来一直困扰分布式系统设计者的问题,也是大家认知当中的分布式、一致性和同步问题。
边缘计算系统的数量将会很庞大,因此任何解决方案都需要大幅度扩展。总而言之,这是一个亟待解决的重大问题。
边缘数据
除了一些专门处理事件和上传数据的工作负载之外,很多在边缘处理的应用程序需要共享安全性、用户和其他信息。这些应用程序包括:物联网应用、游戏、广告、VR/AR以及移动应用等等。
有些人提出了数据引力(data gravity)的想法,任何应用程序工作负载的相关部分都是数据,因此应用程序的设计和部署使得访问数据不会遇到瓶颈,如果程序和数据彼此靠近,这样的效果***。如果需要维护一个中央共享数据库,那么这些程序需要驻留在中央数据库附近,这不是我们需要的分布式边缘计算。
另一个挑战是边缘计算的计算功率不高,很难运行传统的数据库或应用程序服务器,其中许可和数据处理成本可能很高。轻量计算如容器或无服务系统可能更适合边缘计算应用场景。
新兴的解决方案
为了解决这些问题,一些厂商正在推出可实现基于边缘计算和存储的轻量级系统。如AWS Greengrass是一种使用无服务器计算和本地缓存数据,在本地处理数据的系统,但需要依赖云进行长期存储。
而以Kuhiro为代表的初创公司通过创建一个illusion加以实现,illusion每个边缘节点在其本地副本上工作时存在单个逻辑一致性数据库。
尽管云服务提供商已经开发出了用于内部使用的边缘解决方案,但随着物联网应用日益普及,企业可能很快意识到他们需要解决类似的问题。此外,一些应用程序在移动设备商运行,也可能需要在边缘进行处理,例如靠近手机基站。
与边缘计算和边缘数据相关的问题非常复杂,但云服务提供商和初创公司提供的解决方案将能够解决这些问题,帮助企业快速部署边缘计算。