物联网(IoT):设备和服务
需要从服务的角度来看待物联网问题
虽然“物”是物联网(IoT)中的术语,但事实上,消费者和企业感兴趣的并不仅仅是事物或设备。物联网的真正承诺在于这些设备产生的数据和它们所采取的行动。即使是最小的传感器也在提供有用的服务,尽管嵌入式设备开发人员往往不会从服务的角度考虑,但为了满足物联网全连接世界所要求的功能、质量、性能和安全要求,改变这种思维方式非常重要。
物联网是由服务组成的
尽管在物联网中停留了一个名字,但“物”本身并不是主角。物联网更关键的是这些设备提供的信息收集、关键基础设施的控制以及对现实世界的感知。
消费者不只对家里某个房间的温度感兴趣,也不只对单个摄像头的视频信号感兴趣。他们对下一个层次感兴趣——确保他们的安全系统检测到房子周围的移动,或者他们的空调保持着舒适的温度。企业对工厂中单个逻辑控制器的输出不感兴趣,而是对流水线的生产吞吐量感兴趣。这是一个重要的视角变化,因为它迫使设备开发人员更好地理解其产品的背景及其用例。
不管你信不信,你的设备很可能是服务的一部分
单个的嵌入式设备可能不被认为是服务的一部分;然而,连接到更大的系统中意味着它们应该是。例如,在汽车中,发动机控制单元(ECU)的作用仅仅是确保发动机的正常燃烧和排放,但汽车正在使用ECU跟踪燃油经济性,并通过无线连接向中央服务器报告。然后,这些里程数据被用来规划路线和估算运营成本。突然间,ECU成了业务决策过程中的一个关键的叶子节点。
采用这种观点拓宽了单个设备的背景及其操作范围,影响了整个系统设计的方法,因为我们正在从以设备为中心的思维转向以服务为中心:
- 聚合。物联网由太多的“东西”组成,每个“东西”都无法单独发挥价值。设备需要组织在一起,才能在更高层次上提供有用的信息。例如,一个HVAC系统不需要报告每个房间的温度。单个传感器向监督控制系统(如工业控制中的SCADA系统)报告,该系统做出局部决策,而这些决策又会报告给可能在异地的更高层次的系统。
- 自我监控。如果每一个传感器都能随时随地报告所有情况,那么高层的业务决策过程就会被淹没在数据的海洋中。在我们的HVAC例子中,一个局部的监督控制系统可以根据中央流程设定的量(例如,根据天气和电费)来维持建筑温度。因此,企业级系统将依靠暖通空调系统提供的服务,以楼宇为单位,报告能源使用等关键信息。
- 互换性。随着时间的推移,这种设备组合所提供的服务比设备本身更有价值。如果整体业务目标仍能实现,单个传感器和控制器可以与其他产品进行整体更换。如果服务质量保持不变,或者更好,那么硬件是可以互换的。表面上看,这对设备制造商来说似乎是件坏事,对某些人来说当然也是如此。但是,聪明的公司如果能理解服务的重要性,并在服务质量上进行竞争,就会成为市场的领导者。
为什么基于服务的测试对物联网的成功至关重要?
一旦采用以服务为中心的方法,设计、实施和测试也就顺理成章了。意识到服务提供了业务价值,确保设备满足这方面的要求就变得至关重要。显然,在单元、子系统和系统级别上测试功能操作仍然很重要,但扩大测试范围会带来直接的好处。
不从满足单个设备要求的角度来看待系统质量,而是将范围扩大到考虑所提供服务的质量。在HVAC的例子中,一个新的温度传感器可能更轻,成本更低,电池寿命长,并且具有出色的无线范围。但它与整个楼宇范围内的控制系统的配合情况与所有的新功能同样重要。
服务层面的测试可以确保满足非功能需求。例如,性能和可靠性很难在设备级或软件单元测试期间进行评估。基于服务的测试可以模拟设备的运行环境,以提供现实的负载。在HVAC的例子中,可以用不同的请求率来测试新的温度传感器,以了解它是否满足性能要求。
针对物联网系统的网络攻击将来源于网络本身,通过攻击暴露的API。基于服务的测试可以为强大的安全测试创建模拟环境,通过模糊(随机和错误的数据输入)或拒绝服务攻击。在HVAC例子中,一个新的温度传感器可能会在预期的请求下正确运行,但在超载时崩溃。攻击者可能会利用这一点,使系统过载,并导致系统中断。
结语
意识到物联网的真正意义在于服务,结果是在新的互联世界中,嵌入式设备在其运行的过程中会有更好的、差异化的服务。专注于服务的厂商,被同等硬件互换的可能性较小。为了实现物联网系统所需的性能、服务质量和安全性,基于服务的测试是必不可少的。