设备虚拟化是物联网采用的关键
来源 | Balakrishna DRInfosys2023-03-03 15:20:32
物联网 (IoT)指的是通过互联网互连的设备网络,据统计,在2020 年全球物联网设备已超过97亿台,预计到 2030 年将超过 290 亿台...

物联网 (IoT)指的是通过互联网互连的设备网络,据统计,在2020 年全球物联网设备已超过97亿台,预计到 2030 年将超过 290 亿台。由于它将物理世界和数字世界结合在一起,物联网正在改变每个行业通过提供新的机会可以想象;提升客户体验;提高生产力、效率和敏捷性;并做出有见地的决定。

无论是部署无人机勘测农田,使用传感器和 RFID 标签通过供应链监控商品,还是通过连接的用户设备提供更好的银行体验,物联网的可能性是无穷无尽的。

物联网

物联网的必经之路

然而,企业需要满足某些要求才能充分利用物联网作为业务转型的工具。

一方面,物联网必须嵌入到产品和流程中,就像其他软件应用程序一样。

其次,物联网采用的成功是通过迭代获得的:由于物联网有无数的元素,企业组织需要从设备收集数据,将其转化为分析,根据洞察力采取行动,并在持续的反馈循环中重新做一遍,这就是始终完善、学习和改进各种物联网组成部分。

这意味着组织必须持续管理、维护和更新互连的系统、流程和设备。他们需要测试一切,以确保所有“事物”相互通信,确保它们的性能符合规范并达到用户的期望。

以下示例描述了一个典型的物联网测试场景:

医疗保健跟踪系统中的仪器监测患者的重要参数并记录此信息,以便医疗保健提供者可以在需要时访问这些信息。医生可以从仪器连接的计算机或移动设备远程启动药物或摄入量的变化。

为了顺利工作,必须测试此用例的各个方面。

例如,应检查每个设备的可用性(发送消息、记录数据、显示信息等)。所有连接的设备以及它们之间流动的数据都必须是安全的。必须检查所涉及的各种操作系统、浏览器、设备和连接选项的兼容性。整个系统还必须大规模运行,并符合所有监管要求。此外,为物联网设备提供动力的软件需要进行彻底测试,以消除错误并优化性能。

由于所有这些元素都是分散的并且属于多个所有权,因此可以肯定的是它们不会同时启动并运行以进行物理测试。

回到前面的示例,想象一下对患者从他们各自的(不同的)设备远程访问的用户界面进行物理测试的难度。除了设备不可用和不可访问之外,测试和验证 IoT 解决方案的一个重要的设备端挑战是高成本。

在企业场所内物理测试物联网用例的另一个困难是它需要大量资源,而这些资源只能在云中使用。

测试中设备虚拟化的有力案例

在这种情况下,基于设备虚拟化的仿真测试是一个不错的选择。设备虚拟化——类似于数字孪生的创建——通过为物联网设备和系统提供抽象层来解决上述挑战。

虚拟机模拟从设备初始化到设备和云之间双向通信,再到配置设置操作的一切。可以虚拟地模拟各种负载和网络相关场景以测试应用的性能。所有类型的设备,无论是原型还是生产阶段,都可以通过设备虚拟化进行模拟。

更重要的是,使用虚拟设备(或物理设备的数字孪生)进行测试可以降低总拥有成本和测试时间。

虚拟设备在开发的早期阶段特别有用,因为它们的早期反馈可以在开发周期中以更低的成本回馈以消除错误或更快地解决性能问题。

设备虚拟化收益可能非常显着。一家金融服务公司将其夜间回归周期反馈循环从进行顺序测试时的 1500 小时削减到仅 7.5 小时。

最后但同样重要的是,虚拟设备可以自动化 50% 到 60% 的测试要求。

超前思考的组织已经超越了传统的测试方法,在测试中广泛使用虚拟设备和模拟。虚拟仿真和反馈回路是产品开发不可或缺的一部分。

一个很好的例子是 Dassault Aviation,它在没有创建物理原型的情况下推出了公务机。在虚拟平台和共享数据库上工作,该公司的全球开发人员网络帮助大幅减少了装配时间和工具成本。

改善物联网解决方案开发成果

设备虚拟化与物联网平台工程相结合,还可以提高物联网解决方案的质量和交付。功能强大、价格实惠的设备的可用性是物联网革命的主要推动力之一。因此,除了采用新的软件创新之外,物联网平台还必须跟上硬件设备的发展步伐。

问题是硬件在很晚的阶段而不是在起点进入物联网平台开发周期,导致更高的成本、更低的质量和更长的交付周期。设备虚拟化有助于在平台开发周期的早期引入硬件——在应用程序设计阶段本身——并确保它在整个过程中都是可访问的。这样一来,它在许多方面有利于 IoT 解决方案的开发。

例如,虚拟副本提供了一种方法来克服原型设计中的一个常见问题:并行硬件和应用程序开发,因此在集成测试期间物理设备可能不可用。虚拟设备副本介入,模仿新功能并提供反馈,以加速设备原型制作。

虚拟设备增加价值的另外两个场景是平台工程——它们帮助编程和测试合规性——以及确保物联网应用程序与各种设备的过去、当前和未来版本兼容。

最后但同样重要的是,设备虚拟化通过测试一系列参数(包括可扩展性、资源利用率和安全性)来改进功能验证和测试结果。