边缘计算中将大量算力分拆到各个边缘节点上,这让工程师们不得不想象,是否容器和无服务器框架能够在边缘设备上取代虚拟化。
现在,云服务/云计算的应用如火如荼,大量的应用也带来算力和数据安全的压力。于是,大家纷纷将云计算向网络的边缘迁移,更加靠近数据的源头。这些边缘计算大部分都运行在虚拟环境下,但是,也有人质疑:虚拟化边缘计算服务器是否有意义?
边缘计算的确切含义和实现方式还有争论。有些人从智能设备的视角理解边缘计算,而有些人则认为中间的网关设备是边缘计算的主战场,甚至,还有些人认为边缘计算应该是成千上万的微数据中心。尽管大家对边缘计算的部署场景认识不一致,但是,无一例外都认可边缘计算应该尽可能靠近数据的源头。
边缘计算和应用于数据中心的云计算有着很大不同。如果把云计算比作个人通用PC,那么,边缘计算可以认为是嵌入式设备。所以,边缘计算注定不是一个可以统一的模型,而是根据具体应用场景下的多技术融合。比如说,大部分时候管理员只能通过远程控制实现边缘计算服务器的管理;再比如,边缘节点通常具有空间和功耗等严格限制,很难向已有的系统中添加容量或者修改已有的架构;甚至有时候,边缘节点还需要特殊的硬件设备去连接其它的边缘节点。
移动计算和IoT的蓬勃发展,必然推动计算向边缘节点迁移。海量数据的产生,导致传统的大数据中心数据延时和网络带宽瓶颈的问题被放大,且不能应用于边缘计算。
与此同时,新兴技术的发展使得边缘计算实现成为可能,甚至比云计算更为高效经济。因为边缘计算解决了集中式模型的局限性。
边缘计算服务器和虚拟化
为了使边缘计算更为高效,一些团队开始直接在硬件上运行容器或无服务器架构,避免使用hypervisor和VM带来的负荷问题。
某些情况下,这可能是好事。但是,即使是在边缘节点上,虚拟化技术也有其优点:灵活、安全、可维护性和资源利用率高等。所以,在未来,虚拟化仍然会是边缘计算场景下一项重要的技术,至少对于路由网关或微数据中心是这样的。即使,应用程序运行在容器中,它们仍可以运行在VM之上。
不仅仅是研究学者把VM视为边缘计算的基本组件,相信通过VM可以实现更快的配置服务和在服务器之间迁移应用。
在产业界,比如风河公司(Wind River)的开源项目-StarlingX:将Titanium Cloud
项目的一些组件通过OpenStack
基金会进行管理而开源。该项目的目标之一就是解决边缘计算服务器的虚拟化需求。代码包含一个虚拟化基础设施管理器(VIM)以及VIM辅助组件。
VMware
也在致力于边缘计算,提供由vSAN支持的超聚合基础设施软件。商家可以通过VMware vSphere
和VMware Pulse IoT Center
使用该软件支持边缘计算场景。提供了一个安全、企业级IoT设备管理和监控的系统。
当然了,还有许多其它厂商正在发展边缘计算。虽然,边缘计算并不意味着虚拟化,但是也绝不是排斥虚拟化,事实上,我们应该拥抱虚拟化。
边缘管理
伴随着边缘计算的兴起,对虚拟环境的管理也遇到了许多挑战。缺乏行业标准,无疑加剧了管理的复杂性。
把计算资源从数据中心迁移到网络边缘后,无疑增加了设备和应用的管理难度,尤其是那些需要远程控制的设备。管理人员必须找到部署这些系统、执行可持续维护和监视基础设施与应用程序的性能问题和故障点的方法,并能够解决容错和灾难恢复等问题。
如果只是管理一个边缘计算环境,并不困难。难的是如何管理多个边缘计算环境,为其配置为不同功能的平台。例如,有些系统可能运行VM,有一些可能运行容器,还有的可能两者兼而有之。有些系统运行在不同的硬件上,使用不同的API和协议,运行不同的应用和服务。
管理员必须能够协调所有的边缘计算环境,还要允许它们独立操作。边缘计算还处于技术摸索阶段,整个网络管理能力还没有跟上。
但是,边缘计算的管理还不是唯一的挑战。用于边缘计算的服务器往往还有资源限制,使得更改物理架构和平衡工作负载的波动变得很困难。这些挑战往往只靠VM无法战胜。
另外,边缘计算还要面临着不同资源设备之间/不同边缘系统之间的互操作问题。而且现在也没有行业标准,配置也不同,使得边缘计算管理更加困难。
边缘计算还有一个重要的挑战就是,如何保证敏感数据和隐私的安全。边缘计算分布式的特点,使得攻击维度增多,整个网络系统更容易受到破坏,不同的配置也增加了风险。
比如,一个系统运行在容器中,其它的可能运行在裸机程序上,从而导致保证安全的方法存在差异。分布式特点还使得解决遵守法律和法规的问题变得困难。而且,边缘计算还带来可能未被发现的入侵风险。